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

Already on GitHub? Sign in to your account

Build fails to detect Arduino 1.0.1 on Ubuntu 12.04 #46

Closed
Tellus opened this Issue Oct 16, 2012 · 0 comments

Comments

Projects
None yet
1 participant

Tellus commented Oct 16, 2012

Hey there.

I noticed that environment.py and build.py fail to detect the exact version of Arduino 1.0.1 on Ubuntu 12.04. This is an issue since some libs (in my case NXShield) relies on the ARDUINO define to determine the correct version of function calls, as they have changed signatures. The signature for twi_writeTo in Wire has changed from

uint8_t twi_writeTo(uint8_t, uint8_t*, uint8_t, uint8_t)

to

uint8_t twi_writeTo(uint8_t, uint8_t*, uint8_t, uint8_t, uint8_t)

The version string for 1.0.1 in Ubuntu 12.04 is 1.0.1~ubuntu12.04.1, but as far as I can tell from ino's parsing code, it only matches on the first two digits, separated by a period. That is, major and minor, but no "build" number.

^\d+(\.\d+)?

Edit: I may have been overly hasty in assuming this change came between 1.0.1 and 1.0 or whether this should reasonably have affected developers who correctly use the public API - I note that the function is not part of the Wire library's reference on the Arduino site.
Regardless, if Ino is intended to be a CLI replacement for the IDE (and in that regard, I love Ino to pieces), it should take this scenario into account.
I'm trying to work up a non-destructive patch that will allow arbitrary version designations, although only the three first will be named - major, minor (as now) and build.

@nkrkv nkrkv closed this in 2ed47f2 Sep 24, 2013

damienstuart added a commit to damienstuart/ino that referenced this issue Oct 27, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment