The base two logarithm of the number of radio alarm ticks per one
millisecond.
+SOFTWAREACK_TIMEOUT:
+
+The number of microseconds the driver should wait for a software
+acknowledgement on the sender side. If your SPI bus is slow, then it will
+take more time to download and upload the message from/to the radio chip,
+so you need to increase this wait period. For example, for IRIS->IRIS
+communication 800 microsec is enough, but for IRIS->TELOS we need 1600
+because the TELOS in software ack mode is slow to reply with an ack packet.
call IEEE154MessageLayer.createAckReply(data, ack);
}
+#ifndef SOFTWAREACK_TIMEOUT
+#define SOFTWAREACK_TIMEOUT 1000
+#endif
+
async command uint16_t SoftwareAckConfig.getAckTimeout()
{
- return (uint16_t)(800 * RADIO_ALARM_MICROSEC);
+ return (uint16_t)(SOFTWAREACK_TIMEOUT * RADIO_ALARM_MICROSEC);
}
tasklet_async command void SoftwareAckConfig.reportChannelError()
If you define this, then the content of the RF230_PHY_ED_LEVEL is queried
instead of the RSSI value for eahc incoming message. This value can be
obtained with the PacketRSSI interface.
-
call IEEE154MessageLayer.createAckReply(data, ack);
}
+#ifndef SOFTWAREACK_TIMEOUT
+#define SOFTWAREACK_TIMEOUT 1000
+#endif
+
async command uint16_t SoftwareAckConfig.getAckTimeout()
{
- return (uint16_t)(800 * RADIO_ALARM_MICROSEC);
+ return (uint16_t)(SOFTWAREACK_TIMEOUT * RADIO_ALARM_MICROSEC);
}
tasklet_async command void SoftwareAckConfig.reportChannelError()
#define RF230_DEF_CHANNEL 11
#endif
+/* The number of microseconds a sending IRIS mote will wait for an acknowledgement */
+#ifndef SOFTWAREACK_TIMEOUT
+#define SOFTWAREACK_TIMEOUT 800
+#endif
+
/*
* This is the command used to calculate the CRC for the RF230 chip.
* TODO: Check why the default crcByte implementation is in a different endianness