Merge pull request #1550 from thomas-ha/tsch-cc2538-port
Port of TSCH for CC2538
This commit is contained in:
commit
26bf33c762
7 changed files with 191 additions and 29 deletions
|
@ -493,9 +493,11 @@ PT_THREAD(tsch_tx_slot(struct pt *pt, struct rtimer *t))
|
|||
uint8_t ack_hdrlen;
|
||||
frame802154_t frame;
|
||||
|
||||
#if TSCH_HW_FRAME_FILTERING
|
||||
/* Entering promiscuous mode so that the radio accepts the enhanced ACK */
|
||||
NETSTACK_RADIO.get_value(RADIO_PARAM_RX_MODE, &radio_rx_mode);
|
||||
NETSTACK_RADIO.set_value(RADIO_PARAM_RX_MODE, radio_rx_mode & (~RADIO_RX_MODE_ADDRESS_FILTER));
|
||||
#endif /* TSCH_HW_FRAME_FILTERING */
|
||||
/* Unicast: wait for ack after tx: sleep until ack time */
|
||||
TSCH_SCHEDULE_AND_YIELD(pt, t, current_slot_start,
|
||||
tsch_timing[tsch_ts_tx_offset] + tx_duration + tsch_timing[tsch_ts_rx_ack_delay] - RADIO_DELAY_BEFORE_RX, "TxBeforeAck");
|
||||
|
@ -514,9 +516,11 @@ PT_THREAD(tsch_tx_slot(struct pt *pt, struct rtimer *t))
|
|||
TSCH_DEBUG_TX_EVENT();
|
||||
NETSTACK_RADIO.off();
|
||||
|
||||
#if TSCH_HW_FRAME_FILTERING
|
||||
/* Leaving promiscuous mode */
|
||||
NETSTACK_RADIO.get_value(RADIO_PARAM_RX_MODE, &radio_rx_mode);
|
||||
NETSTACK_RADIO.set_value(RADIO_PARAM_RX_MODE, radio_rx_mode | RADIO_RX_MODE_ADDRESS_FILTER);
|
||||
#endif /* TSCH_HW_FRAME_FILTERING */
|
||||
|
||||
/* Read ack frame */
|
||||
ack_len = NETSTACK_RADIO.read((void *)ackbuf, sizeof(ackbuf));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue