Similar to the issues here: http://e2e.ti.com/support/microcontrollers/msp430/f/166/p/348830/1830267#1830267
If I pass a negative string to _atoQ() the polarity of the result depends on if there is a decimal point included.
E.g. the follow example demonstrates this issue:
_q8 expected = _Q8(-50.0); _q8 without = _atoQ8("-50"); _q8 with = _atoQ8("-50."); printf("Expected: 0x%x (%d)\n", expected, _Q8int(expected)); printf("Without : 0x%x (%d)\n", without, _Q8int(without)); printf("With : 0x%x (%d)\n", with, _Q8int(with)); /* PRINTS: Expected: 0xce00 (-50) Without : 0x3200 (50) With : 0xce00 (-50)
ALL results should be -50. */
Obviously this is not too tricky to workaround, but it is definitely a bug that should be addressed by the library.
Additionally, is there any place where we can find the state of open bugs against libraries like this? As I find that is often a good to review open bug lists before posting something like this.