iSkipper-Software icon indicating copy to clipboard operation
iSkipper-Software copied to clipboard

compile error in iSkipper_Arduino_Sketch

Open adamweld opened this issue 6 years ago • 2 comments

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

adamweld avatar Feb 25 '19 01:02 adamweld

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

wizard97 avatar Feb 25 '19 01:02 wizard97

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.

charlescao460 avatar Feb 25 '19 09:02 charlescao460