TSCH: configurable byte air time and PHY overhead
This commit is contained in:
parent
64ce406ae4
commit
572c6725d3
|
@ -36,6 +36,10 @@
|
|||
/*---------------------------------------------------------------------------*/
|
||||
/* TSCH related defines */
|
||||
|
||||
/* 1 len byte, 2 bytes CRC */
|
||||
#define RADIO_PHY_OVERHEAD 3
|
||||
/* 250kbps data rate. One byte = 32us */
|
||||
#define RADIO_BYTE_AIR_TIME 32
|
||||
/* Delay between GO signal and SFD */
|
||||
#define RADIO_DELAY_BEFORE_TX ((unsigned)US_TO_RTIMERTICKS(81))
|
||||
/* Delay between GO signal and start listening.
|
||||
|
|
|
@ -57,6 +57,10 @@
|
|||
/*---------------------------------------------------------------------------*/
|
||||
/* TSCH related defines */
|
||||
|
||||
/* 1 len byte, 2 bytes CRC */
|
||||
#define RADIO_PHY_OVERHEAD 3
|
||||
/* 250kbps data rate. One byte = 32us */
|
||||
#define RADIO_BYTE_AIR_TIME 32
|
||||
/* Delay between GO signal and SFD */
|
||||
#define RADIO_DELAY_BEFORE_TX ((unsigned)US_TO_RTIMERTICKS(81))
|
||||
/* Delay between GO signal and start listening.
|
||||
|
|
|
@ -122,6 +122,10 @@ typedef unsigned long clock_time_t;
|
|||
/* Use 64-bit rtimer (default in Contiki-NG is 32) */
|
||||
#define RTIMER_CONF_CLOCK_SIZE 8
|
||||
|
||||
/* 1 len byte, 2 bytes CRC */
|
||||
#define RADIO_PHY_OVERHEAD 3
|
||||
/* 250kbps data rate. One byte = 32us */
|
||||
#define RADIO_BYTE_AIR_TIME 32
|
||||
#define RADIO_DELAY_BEFORE_TX 0
|
||||
#define RADIO_DELAY_BEFORE_RX 0
|
||||
#define RADIO_DELAY_BEFORE_DETECT 0
|
||||
|
|
|
@ -38,6 +38,10 @@
|
|||
|
||||
#undef putchar
|
||||
|
||||
/* 1 len byte, 2 bytes CRC */
|
||||
#define RADIO_PHY_OVERHEAD 3
|
||||
/* 250kbps data rate. One byte = 32us */
|
||||
#define RADIO_BYTE_AIR_TIME 32
|
||||
/* Delay between GO signal and SFD
|
||||
* Measured 153us between GO and preamble. Add 5 bytes (preamble + SFD) air time: 153+5*32 = 313 */
|
||||
#define RADIO_DELAY_BEFORE_TX ((unsigned)US_TO_RTIMERTICKS(313))
|
||||
|
|
|
@ -43,6 +43,11 @@
|
|||
* Definitions below are dictated by the hardware and not really
|
||||
* changeable!
|
||||
*/
|
||||
|
||||
/* 1 len byte, 2 bytes CRC */
|
||||
#define RADIO_PHY_OVERHEAD 3
|
||||
/* 250kbps data rate. One byte = 32us */
|
||||
#define RADIO_BYTE_AIR_TIME 32
|
||||
/* Delay between GO signal and SFD: radio fixed delay + 4Bytes preample + 1B SFD -- 1Byte time is 32us
|
||||
* ~327us + 129preample = 456 us */
|
||||
#define RADIO_DELAY_BEFORE_TX ((unsigned)US_TO_RTIMERTICKS(456))
|
||||
|
|
|
@ -80,7 +80,7 @@
|
|||
/* Calculate packet tx/rx duration in rtimer ticks based on sent
|
||||
* packet len in bytes with 802.15.4 250kbps data rate.
|
||||
* One byte = 32us. Add two bytes for CRC and one for len field */
|
||||
#define TSCH_PACKET_DURATION(len) US_TO_RTIMERTICKS(32 * ((len) + 3))
|
||||
#define TSCH_PACKET_DURATION(len) US_TO_RTIMERTICKS(RADIO_BYTE_AIR_TIME * ((len) + RADIO_PHY_OVERHEAD))
|
||||
|
||||
/* Convert rtimer ticks to clock and vice versa */
|
||||
#define TSCH_CLOCK_TO_TICKS(c) (((c) * RTIMER_SECOND) / CLOCK_SECOND)
|
||||
|
|
Loading…
Reference in New Issue