Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 5 of 5

Thread: Teensyduino libraries in git?

  1. #1
    Junior Member
    Join Date
    Dec 2013
    Location
    Minnesota
    Posts
    18

    Teensyduino libraries in git?

    Are the Libraries that come with teensyduino somewhere in a git repository? If not, can they be?

    I'm using the OctoWS2811 on a project and have some updates I have made to the movie2serial to add a vertical layout and I'd love to contribute back.

    I saw this thread talking about how parts of teensyduino are proprietary. Thank you for your hard work!

    Is it possible to get the Libraries that ship with teensyduino into a git repository on github? I'd be happy to help if desired.

  2. #2
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    20,684
    Some of them are on github. I'm slowly migrating more stuff that way over time.

    https://github.com/PaulStoffregen?tab=repositories

    OctoWS2811 is not on github yet. I'll get it up there soon....

  3. #3
    Senior Member
    Join Date
    Jan 2013
    Location
    Dallas, TX USA
    Posts
    106
    Here are some of my thoughts based on my experience in using repos for Arduino libraries.

    I think it would be great to have all the libraries up in a repo(s) somewhere.
    That would allow people to ckeckout/clone the libraries and get updates as well as track their local changes and push back user contributed features & bug fixes.
    I'm also big fan of git and prefer it over SVN & HG
    All that said, it can be a bit tricky to get a collection of libraries from a repo or multiple repos
    to work with the Arduino "libraries" tree methodology
    if you are wanting to checkout/clone the libraries directly into your Arduino sketchbook libraries directory.
    (which works great for testing and development)

    The reason is that the current Arduino build methodology does not allow sub directories for libraries.
    (It does allow unlimited sub directories for sketches but not for libraries).
    So if you create a subdirectory under your Arduino sketchbook "libraries" directory, the libraries in
    further subdirectories won't be found when a sketch tries to use the headers for that library.
    (even though it will show up as having examples - since those are sketches)
    i.e. you can't do something like create a "teensyduino" directory under your sketchbook libraries directory
    and then toss in all the PJRC libraries under that as part of a single repo checkout/clone.
    Combine that with git which does not allow partial tree checkouts, it becomes impossible to directly overlay
    a group of libraries from a single git repository into a users sketchbook libraries directory.

    Currently, what I'm doing is checking out/cloning 3rd party Arduino libraries that have a repository, directly into
    my Arduino sketchbook libraries directory. In some cases where libraries don't have repos,
    I create a local git repo for the library.
    This works quite well but it requires a separate repository for each library.
    Each library is then source controlled separately. That separate-ness can
    be good or bad depending on your point of view.

    In order to allow users to directly checkout/clone directly in their Arduino sketchbook libraries
    directory, there are essentially two options:
    - Have a separate repo for each library
    - do a partial checkout/clone of the desired libraries to allow
    checking out/cloning a single library from the repo in a its own subdirectory under "libraries".

    This second option essentially allows a single repo of multiple libraries to be used as if there
    were a repo for each library.

    As far as I know, git & hg don't support partial checkout/clone so that leaves SVN as
    the only VCS that can do partial checkouts.

    In terms of having a TeensyDuino repo, I think it would great to just slam all the libraries up into
    a repo. But then if you want to allow users to directly checkout/clone them into their libraries
    directory, you have to either use SVN or have a separate repository for each library.

    Another alternative, and this would be really nice but the most difficult would be to update
    the Arduino IDE build methodology to look down in sub directories for libraries like it does for sketches.
    The big difficulty may be to get something like back into the mainline IDE, that and it has
    implications for the new "1.5x library format", which seems to be leaning twards using magic sub directory names
    for specifying which architecture cores the library supports.

    With that update, then users could create separate sub directories and pull in multiple libraries under
    each subdirectory. i.e. you could have something like a Teensyduino sub directory which could even have
    futher sub directories like "display", "communication", "timing", etc.. for organization purposes.
    It could also all be a single repo or a repo for each category etc...
    But that also has painful implications for non IDE development (using real makefiles)

    For now, I'm not sure what is the best option. more than likely it would probably be driven
    by how you (paul) do your development and source control.

    From my perspective, I like the separate repo per library, but then
    I am definitely not the typical arduino or teensy user.


    --- bill

  4. #4
    Could you please put hid_listen in a git repo on GitHub. I'm trying to package it for macOS using Homebrew, https://github.com/Homebrew/homebrew-core/pull/26515 but they will only accept new formulas if the are without need of patches.

  5. #5
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    20,684
    Quote Originally Posted by rickard-von-essen View Post
    Could you please put hid_listen in a git repo on GitHub.
    Done.

    https://github.com/PaulStoffregen/hid_listen

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •