* @version $Revision$ $Date$
*/
-module CC2420CsmaP {
+module CC2420CsmaP @safe() {
provides interface SplitControl;
provides interface Send;
S_TRANSMITTING,
};
- message_t* m_msg;
+ message_t* ONE_NOK m_msg;
error_t sendErr = SUCCESS;
/****************** Prototypes ****************/
task void startDone_task();
- task void startDone_task();
task void stopDone_task();
task void sendDone_task();
m_msg = p_msg;
}
- header->length = len;
+ header->length = len + CC2420_SIZE;
+#ifdef CC2420_HW_SECURITY
+ header->fcf &= ((1 << IEEE154_FCF_ACK_REQ)|(1 << IEEE154_FCF_SECURITY_ENABLED));
+#else
header->fcf &= 1 << IEEE154_FCF_ACK_REQ;
+#endif
header->fcf |= ( ( IEEE154_TYPE_DATA << IEEE154_FCF_FRAME_TYPE ) |
( 1 << IEEE154_FCF_INTRAPAN ) |
( IEEE154_ADDR_SHORT << IEEE154_FCF_DEST_ADDR_MODE ) |
metadata->ack = FALSE;
metadata->rssi = 0;
metadata->lqi = 0;
- metadata->time = 0;
-
+ //metadata->timesync = FALSE;
+ metadata->timestamp = CC2420_INVALID_TIMESTAMP;
+
ccaOn = TRUE;
signal RadioBackoff.requestCca(m_msg);
command void* Send.getPayload(message_t* m, uint8_t len) {
if (len <= call Send.maxPayloadLength()) {
- return m->data;
+ return (void* COUNT_NOK(len ))(m->data);
}
else {
return NULL;