iSkipper-Software
iSkipper-Software copied to clipboard
compile error in iSkipper_Arduino_Sketch
Hi, I'm getting some compile errors on the included arduino sketch. It looks like capturePacketHandler and replacePacketHandler are declared void and but also attempted to be included in argument to functions such as startPromiscuous on line 205.
Full errors list:
In file included from C:\iSkipper-Software\iSkipper_Arduino_Sketch\iSkipper_Arduino_Sketch.ino:7:0:
C:\Program Files (x86)\Arduino\libraries\iSkipper/iClickerEmulator.h:75:1: warning: 'typedef' was ignored in this declaration
};
^
iSkipper_Arduino_Sketch:307: error: variable or field 'capturePacketHandler' declared void
void capturePacketHandler(iClickerPacket_t *recvd)
^
iSkipper_Arduino_Sketch:307: error: 'iClickerPacket_t' was not declared in this scope
iSkipper_Arduino_Sketch:307: error: 'recvd' was not declared in this scope
void capturePacketHandler(iClickerPacket_t *recvd)
^
iSkipper_Arduino_Sketch:316: error: variable or field 'replacePacketHandler' declared void
void replacePacketHandler (iClickerPacket_t *recvd)
^
iSkipper_Arduino_Sketch:316: error: 'iClickerPacket_t' was not declared in this scope
iSkipper_Arduino_Sketch:316: error: 'recvd' was not declared in this scope
void replacePacketHandler (iClickerPacket_t *recvd)
^
iSkipper_Arduino_Sketch: In function 'void loop()':
iSkipper_Arduino_Sketch:71: error: 'capturePacketHandler' was not declared in this scope
clicker.startPromiscuous(CHANNEL_SEND, capturePacketHandler);
^
iSkipper_Arduino_Sketch:94: error: 'iClickerAnswer_t' was not declared in this scope
iClickerAnswer_t ans;
^
iSkipper_Arduino_Sketch:98: error: 'ans' was not declared in this scope
ans = clicker.charAnswer(cAns);
^
iSkipper_Arduino_Sketch:100: error: 'ans' was not declared in this scope
ans = clicker.randomAnswer();
^
iSkipper_Arduino_Sketch:102: error: 'ans' was not declared in this scope
clicker.submitAnswer(id, ans, false);
^
iSkipper_Arduino_Sketch:205: error: 'replacePacketHandler' was not declared in this scope
clicker.startPromiscuous(CHANNEL_SEND, replacePacketHandler);
^
iSkipper_Arduino_Sketch: In function 'iClickerChannel getChannelByString(char*)':
iSkipper_Arduino_Sketch:288: warning: comparison between signed and unsigned integer expressions
if (index > NUM_ICLICKER_CHANNELS - 1 || index < 0)
^
C:\iSkipper-Software\iSkipper_Arduino_Sketch\iSkipper_Arduino_Sketch.ino: At global scope:
iSkipper_Arduino_Sketch:307: error: variable or field 'capturePacketHandler' declared void
void capturePacketHandler(iClickerPacket_t *recvd)
^
iSkipper_Arduino_Sketch:307: error: 'iClickerPacket_t' was not declared in this scope
iSkipper_Arduino_Sketch:307: error: 'recvd' was not declared in this scope
void capturePacketHandler(iClickerPacket_t *recvd)
^
iSkipper_Arduino_Sketch:316: error: variable or field 'replacePacketHandler' declared void
void replacePacketHandler (iClickerPacket_t *recvd)
^
iSkipper_Arduino_Sketch:316: error: 'iClickerPacket_t' was not declared in this scope
iSkipper_Arduino_Sketch:316: error: 'recvd' was not declared in this scope
void replacePacketHandler (iClickerPacket_t *recvd)
^
variable or field 'capturePacketHandler' declared void
This is my fault. In a recent commit I changed the naming of some of the structs: https://github.com/wizard97/iSkipper/commit/64ecd6ddb2aeb090f9617a8458f2eabb6944868d. If you delete all the _t endings from the packet structs it should compile.
Ex:
Rename iClickerPacket_t
to just iClickerPacket
Or you can just use the old version of the iSkipper library. Download the library from commit d5738ae and put emulator/iSkipper
into your Arduino's library folder.
By the way, as mentioned in #1 , current sketch may have some problem while sending. I am currently working on a new version of my sketch, it may be ready in a few weeks.