Closed cjdg closed 7 years ago
Please refer to #384 and #457 and #608.
So, there is no solution to the error .. correct ? I read those issues, and couldnt find anything relevant.
It seems Firmata has been ported to Energia.
Does that mean, we dont have to separately download the folder and add it to libraries ? I did as instructed in https://github.com/energia/Energia/tree/master/libraries/Firmata for initialising Firmata example - StandardFirmata, but I got the error as OP.
If you have a look at the Boards.h file, only __TM4C123GH6PM__
i.e. LaunchPad Tiva C Series is supported, not __LM4F120H5QR__
i.e. LaunchPad Stellaris.
Just edit the corresponding line and add the missing board:
#elif (defined(__TM4C123GH6PM__) || defined(__LM4F120H5QR__))
I am using a TM4C123GXL Launchpad, and when I read the boards.h in the firmata library, it has following definitions in TM4C123GXL section
// Tiva C TM4C123G - EK-TM4C123GXL
(p)==14 || (p)==15 || (p)==17 || (p)==19 || \
((p)>=23 && (p)<=26) || (p)==30 || \
((p)>=31 && (p)<=40)
((p)>=27&&(p)<=29)?(29-p):\
((p)==18)?(3):\
((p)==2)?(11):\
((p)==5)?(9):\
((p)==6)?(8):(10)
What more can I do ?
Actually, I understood what you meant when I saw the changes you had made to boards.h, even using the new version results in the same error, which I present verbatim:
StandardFirmata.cpp.o: In function `setPinModeCallback(unsigned char, int)':
StandardFirmata.cpp:(.text._Z18setPinModeCallbackhi+0x5a): undefined reference to `Servo::attached()'
StandardFirmata.cpp:(.text._Z18setPinModeCallbackhi+0x1ec): undefined reference to `Servo::attached()'
StandardFirmata.cpp.o: In function `sysexCallback(unsigned char, unsigned char, unsigned char*)':
StandardFirmata.cpp:(.text._Z13sysexCallbackhhPh+0x1d6): undefined reference to `Servo::attached()'
collect2.exe: error: ld returned 1 exit status
Are you using the servo library?
Try and comment the lines related to the servo on the Firmata library.
Also, check TM4C123GH6PM
or __TM4C123GH6PM__
is duly defined by Energia with Serial.println(TM4C123GH6PM);
.
The Firmata library hasn't been updated for the last 6 months, so I guess it is not widely used and no longer maintained.
I am not doing anything with servo. I just want to run the vanilla code as in the example, it just gives me these errors. I tried commenting out the Library: Servo.h, but that creates so many errors, as the code is highly dependent on this library.
I did Serial.println(TM4C123GH6PM); and it worked.
Sorry to bother u, if you are not the maintainer, but suggest keeping the issue open,
The Firmata library isn't part of the compiled Energia.
A simple sketch compiled against the Stellaris LaunchPad as well as other boards throws the error
sketch_jun22a.ino:1:21: fatal error: Firmata.h: No such file or directory compilation terminated.
#include "Firmata.h"
void setup() { }
void loop() { }
So, IMHO, this library is no longer part of the package.
Adding the Firmata folder manually to the Library
sub-folder of the sketchbook makes it available.
Compilation against the Stellaris LaunchPad completes successfully. I can't replicate your issue.
Are you using other libraries that may conflict with Firmata?
Renamed as Support for Firmata Library
This issue was moved to energia/tivac-core#26
when i load the StandardFirmata i get the next error
StandardFirmata.cpp.o: In function
setPinModeCallback(unsigned char, int)': StandardFirmata.cpp:(.text._Z18setPinModeCallbackhi+0x5a): undefined reference to
Servo::attached()' StandardFirmata.cpp:(.text._Z18setPinModeCallbackhi+0x1ec): undefined reference toServo::attached()' StandardFirmata.cpp.o: In function
sysexCallback(unsigned char, unsigned char, unsigned char*)': StandardFirmata.cpp:(.text._Z13sysexCallbackhhPh+0x1d6): undefined reference to `Servo::attached()' collect2: error: ld returned 1 exit status