Skip to content

update Firmata to v2.4.3 #3173

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 7 commits into from

Conversation

soundanalogous
Copy link

See revisions.txt for a list of changes since Firmata v2.3.6. Now that Arduino 1.6.x is the master branch I'll try to submit Firmata updates more regularly. Please coordinate with me if any changes are to be made. I'd rather flow changes from the Firmata repo to the Arduino repo if possible (aside from automated changes that are made across all Arduino core libraries - I keep a watch on those and update in the Firmata repo as necessary).

ish6614 and others added 7 commits May 14, 2015 18:30
Previous commit broke the actual functionality. The code was confusing and worked until the previous commit.
The changes make it logically and functionally correct.
… the editor has no such feature, CMD+J is disabled on mac. See arduino#3098
Fix for FileUtils.recursiveDelete() when dealing with symbolic links
@ffissore ffissore added the Library: Other Arduino libraries that don't have their own label label May 18, 2015
@cmaglie
Copy link
Member

cmaglie commented May 18, 2015

Oh ok, I've just read this one :-) so I repeat my proposal here too:

It seems that the official repository of Firmata is ready for the library manager, so we can just replace https://github.com/arduino-libraries/Firmata with a fork of https://github.com/firmata/arduino so you don't need to bother submitting pullrequest.

@soundanalogous
Copy link
Author

That sounds great! https://github.com/firmata/arduino is the official repository, the master branch is stable and all releases are tagged. The new library and board manager are great BTW!

@soundanalogous
Copy link
Author

One thing to note is because I have unit tests in the Firmata repo and other features not typically found in other core libraries, I typically run a build script that generates the structure of Firmata in the Arduino repo. However in order to support the library manager, I could update the file structure in the Firmata repo as follows:

  • move Boards.h, Firmata.cpp and Firmata.h to /src/.
  • either move the /test/ directory to /extras/test/ or keep it at the root. I'm not sure what the policy is on location of unit tests. I'd prefer to keep them at the root level if possible.
  • I also have a different readme than the README.adoc. before submitting a pull request to the Arduino repo, I move the more detailed readme to /extras/ and copy in the .adoc version that was added in the [arduino-libraries/Firmata]. I'm not sure how to resolve the difference once the library manager is involved, is the .adoc extension necessary for the library manager?

Or, I could create a separate repo firmata-arduino-release that contains the output of the build script and the Arduino library manager could reference the release repo.

@cmaglie
Copy link
Member

cmaglie commented May 19, 2015

  • Note that the use of src is not mandatory, doing so will break compatibility with IDE 1.0.x, so this is up to you. If you decide to use the src folder you must move all the source code inside it, also the utility folder must go there. Moreover the src folder is recursively compiled so you are free to call any sub-folder as you prefer (utility could be renamed to anything more meaningful and other folders may be added as well). One difference is that only src will be part of the include path so if you include something inside the utility folder you must write #include "utility/something.h" instead of #include "something.h"
  • test may stay in the root folder
  • Just keep your readme, we added them for github user's :-)

So basically you don't need to do anything, I'm going to add the library to the library manager.

@cmaglie
Copy link
Member

cmaglie commented May 19, 2015

Ok, it turns out that this needs some more clerical work to handle the already released versions from the old repository. I'll check this out tomorrow.

@cmaglie
Copy link
Member

cmaglie commented May 21, 2015

Done, now all the latest versions are available through library manager.

@cmaglie cmaglie closed this May 21, 2015
@cmaglie cmaglie added this to the Release 1.6.5 milestone May 21, 2015
@soundanalogous
Copy link
Author

Are tags cached locally or somehow maintained by Arduino even though the manager is pointing to the Firmata repo now? There are 2 tags (v2.6.2 and v2.6.1) that actually were for an experimental future version of Firmata. Since these tags are higher numbers, v2.6.2 is now the default in the library manager, but it should not be used. I have deleted these 2 tags from the repo (just now), but they still show up in the library manager. I've also tried deleting them from the library_index.json file (in ~/Library/Arduino15/ on OS X), but they are readded when I relaunch Arduino even though these tags no longer exist in the Firmata repo so they must be pulled from a source other than the Firmata repo or are cached somewhere. This is a big deal actually, if someone hits the Update button for Firmata they will currently get a broken version.

@ffissore
Copy link
Contributor

lib job never deletes. It only adds. Having two more versions is no big
deal IMHO: users will likely stick with the latest
Il giorno 21/mag/2015 17.50, "Jeff Hoefs" notifications@github.com ha
scritto:

Are tags cached locally? There are 2 tags (v2.6.2 and v2.6.1) that
actually were for an experimental future version of Firmata. Since these
tags are higher numbers, 2.6.2 is now the default in the library manager,
but it should not be used. I have deleted these 2 tags from the repo (just
now), but they still show up in the library manager. I'll check again a
little later to see if the case is it takes time to propagate.


Reply to this email directly or view it on GitHub
#3173 (comment).

@soundanalogous
Copy link
Author

The problem is the versions listed as the latest versions listed in the Library Manager (v2.6.2 and v2.6.1) are essentially broken. Stable Firmata is currently v2.4.3. The v.2.6.x series is experimental and was actually moved to a new repository ConfigurableFirmata. I just forgot to remove the old tags when I moved that code to it's own repository. I guess the only way I can fix this then is to jump the Firmata version from 2.4.3 to 2.7 just for the sake preventing users from updating to a broken version of Firmata and I really hate to do that.

@ffissore ffissore added the Component: Board/Lib Manager Boards Manager or Library Manager label May 22, 2015
@ffissore
Copy link
Contributor

I see. I'll regenerate it then

@ffissore
Copy link
Contributor

Ok, done

@Chris--A Chris--A mentioned this pull request May 27, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Board/Lib Manager Boards Manager or Library Manager Library: Other Arduino libraries that don't have their own label
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants