new AMSenderC(AM_DATAMSG) as DataSender,
new AMReceiverC(AM_DATAMSG) as DataReceiver,
new TimerMilliC(),
- NoLedsC as LedsC,
+ NoLedsC, LedsC,
RandomC,
ActiveMessageC,
MainC;
MainC.SoftwareInit -> MultiHopEngineM;
+ MainC.SoftwareInit -> MultiHopLQI;
components CC2420ActiveMessageC as CC2420;
MultiHopLQI.CC2420Packet -> CC2420;
MultiHopLQI.AMPacket -> ActiveMessageC;
MultiHopLQI.Packet -> ActiveMessageC;
+ MultiHopLQI.Leds -> NoLedsC;
}
***********************************************************************/
command error_t Send.send(message_t* pMsg, uint8_t len) {
len += sizeof(lqi_header_t);
- if (len > call Packet.maxPayloadLength()) {
+ if (len > call SubPacket.maxPayloadLength()) {
+ call Leds.led0On();
return ESIZE;
}
if (call RootControl.isRoot()) {
+ call Leds.led1On();
return FAIL;
}
call RouteSelect.initializeFields(pMsg);
if (call RouteSelect.selectRoute(pMsg, 0) != SUCCESS) {
+ call Leds.led2On();
return FAIL;
}
call PacketAcknowledgements.requestAck(pMsg);
static message_t* mForward(message_t* msg) {
message_t* newMsg = msg;
int8_t buf = get_buff();
-
+ call Leds.led2Toggle();
+
if (call RootControl.isRoot()) {
return signal Receive.receive(msg, call Packet.getPayload(msg, NULL), call Packet.payloadLength(msg));
}