[Firebug-cvs] fireboard/beta/fireworks/apps/TestLink TestLinkM.nc,NONE,1.1
Brought to you by:
doolin
From: Karthik D. <da...@us...> - 2005-07-30 00:08:09
|
Update of /cvsroot/firebug/fireboard/beta/fireworks/apps/TestLink In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31226 Added Files: TestLinkM.nc Log Message: TestLinkM module added --- NEW FILE: TestLinkM.nc --- includes LinkMsg; module TestLinkM { provides { interface StdControl; } uses { interface StdControl as CommControl; interface SendMsg as SendLinkMsg; interface ReceiveMsg as ReceiveLinkMsg; interface Timer; interface Leds; interface CC1000Control; } } implementation { uint32_t seqno; uint16_t lastRSSI; uint16_t lastLQI; uint16_t lastAddress; TOS_Msg msg; LinkMsg *lMsg; void blink(uint8_t seq) { if(seq&0x1) { call Leds.redOn(); } else { call Leds.redOff(); } if(seq&0x2) { call Leds.greenOn(); } else { call Leds.greenOff(); } if(seq&0x4) { call Leds.yellowOn(); } else { call Leds.yellowOff(); } } void clearPacket() { uint8_t i; for(i=0; i< 29; i++) msg.data[i]=0x0; } task sendLinkQualityData() { blink(0x5); clearPacket(); lMsg = (LinkMsg) &(msg.data); lMsg->seqno = seqno++; lMsg->addr = lastAddress; lMsg->tstamp = 0; lMsg->RSSI = lastRSSI; lMsg->LQI = lastLQI; if(!sendBusy) { sendBusy = TRUE; if(!call SendLinkMsg.send(TOS_BCAST_ADDR, sizeof(LinkMsg), &msg)) { sendBusy = FALSE; blink(0x7); return; } else { blink(0x6); } } } command result_t StdControl.init() { call Leds.init(); call CommControl.init(); return SUCCESS; } command result_t StdControl.start() { blink(CLEAR); seqno = 1; sendBusy = FALSE; call CommControl.start(); return SUCCESS; } command result_t StdControl.stop() { call CommControl.stop(); call Timer.stop(); return SUCCESS; } command TOS_MsgPtr ReceiveLinkMsg.receive(TOS_MsgPtr m) { blink(0x3); lastRSSI = m->RSSI; lastLQI = m->LQI; /* Copy timestamp here */ post sendLinkQualityData(); return m; } |