Hi,

Does anyone know if #ifdef is supported in nesc?

I was experimenting with SurgeM.nc in apps/surge, and the following bit of code is not compiling for me.

  event result_t Timer.fired() {
    dbg(DBG_USR1, "SurgeM: Timer fired\n");
    timer_ticks++;
    if (timer_ticks % TIMER_GETADC_COUNT == 0) {
      call ADC.getData();
    }

    // If we're the focused node, chirp
    if (focused && timer_ticks % TIMER_CHIRP_COUNT == 0) {
#ifdef CHIRP_ENABLE
      call Sounder.start();
#endif /* CHIRP_ENABLE*/
    }
    // If we're the focused node, chirp
    if (focused && timer_ticks % TIMER_CHIRP_COUNT == 1) {
#ifdef CHIRP_ENABLE
      call Sounder.stop();
#endif /* CHIRP_ENABLE*/
    }

The results are

$ make mica2
    compiling Surge to a mica2 binary
ncc -o build/mica2/main.exe -Os -board=micasb -target=mica2 -I%T/lib/Route -I%T/lib/Queue -I%T/lib/Broadcast -Wall -Wshadow -DDEF_TO S_AM_GROUP=0x7d -Wnesc-all -finline-limit=100000 -fnesc-cfile=build/mica2/app.c Surge.nc -lm
SurgeM.nc: In function `Timer.fired':
SurgeM.nc:163: Sounder.start not connected
SurgeM.nc:169: Sounder.stop not connected
SurgeM.nc: In function `Bcast.receive':
SurgeM.nc:248: Sounder.init not connected
SurgeM.nc:265: Sounder.stop not connected
make: *** [build/mica2/main.exe] Error 1

I also has the following the module definition as well.

#ifdef CHIRP_ENABLE
    interface StdControl as Sounder;
#endif /* CHIRP_ENABLE */

I am using nesc 1.1. Any pointer is appreciated.

--
Tehn Yit Chin
Embedded System Engineer, Grey Innovation Pty. Ltd.


--
Tehn Yit Chin
Embedded System Engineer, Grey Innovation Pty. Ltd.
_______________________________________________
Tinyos-help mailing list
Tinyos-help@Millennium.Berkeley.EDU
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to