Hi folks,
I have tried to simulate a situation whereby when the ADC0 receives an
interrupt of 700 mV, the timer_rate will reduces to 6000 ms, while if
the ADC0 receives interrupt of less than 700 mV, the timer_rate will
back to its default value of 15000 ms.
This is implemented on the MicaZ side.
How can i direct the XmeshBase side, the base station to turn on the
Digital Port, D0 which is connected to a buzzer, to BEEP when the data
received is 700mV, and turn off when data received is less than 700
mV?
/*=========================================================*/
(LINE : 488) of XMDA300M.nc
switch (channelType) {
case ANALOG:
switch (channel) {
// MSG 1 : first part of analog channels (0-6)
case 0:
tmppack=(XDataMsg *)packet.data;
tmppack->xData.datap6.adc0 =data ;
if(data>700)
timer_rate = 6000; //2secs
call Timer.stop();
call Timer.start(TIMER_REPEAT, timer_rate);
if(data<700)
timer_rate = 15000; //2secs
call Timer.stop();
call Timer.start(TIMER_REPEAT, timer_rate);
atomic {msg_status|=0x01;}
break;
case 1:
tmppack=(XDataMsg *)packet.data;
tmppack->xData.datap6.adc1 =data ;
atomic {msg_status|=0x02;}
break;
case 2:
tmppack=(XDataMsg *)packet.data;
tmppack->xData.datap6.adc2 =data ;
atomic {msg_status|=0x04;}
break;
default:
break;
} // case ANALOG (channel)
break;
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help