|
Contiki-NG
|
Go to the documentation of this file.
52#ifdef TSCH_CONF_KEEPALIVE_TIMEOUT
53#define TSCH_KEEPALIVE_TIMEOUT TSCH_CONF_KEEPALIVE_TIMEOUT
56#define TSCH_KEEPALIVE_TIMEOUT (12 * CLOCK_SECOND)
61#ifdef TSCH_CONF_MAX_KEEPALIVE_TIMEOUT
62#define TSCH_MAX_KEEPALIVE_TIMEOUT TSCH_CONF_MAX_KEEPALIVE_TIMEOUT
64#define TSCH_MAX_KEEPALIVE_TIMEOUT (60 * CLOCK_SECOND)
68#ifdef TSCH_CONF_DESYNC_THRESHOLD
69#define TSCH_DESYNC_THRESHOLD TSCH_CONF_DESYNC_THRESHOLD
71#define TSCH_DESYNC_THRESHOLD (2 * TSCH_MAX_KEEPALIVE_TIMEOUT)
80#ifdef TSCH_CONF_EB_PERIOD
81#define TSCH_EB_PERIOD TSCH_CONF_EB_PERIOD
83#define TSCH_EB_PERIOD (16 * CLOCK_SECOND)
88#ifdef TSCH_CONF_MAX_EB_PERIOD
89#define TSCH_MAX_EB_PERIOD TSCH_CONF_MAX_EB_PERIOD
91#define TSCH_MAX_EB_PERIOD (16 * CLOCK_SECOND)
99#ifdef TSCH_CONF_RESYNC_WITH_SFD_TIMESTAMPS
100#define TSCH_RESYNC_WITH_SFD_TIMESTAMPS TSCH_CONF_RESYNC_WITH_SFD_TIMESTAMPS
102#define TSCH_RESYNC_WITH_SFD_TIMESTAMPS 0
106#ifdef TSCH_CONF_TIMESYNC_REMOVE_JITTER
107#define TSCH_TIMESYNC_REMOVE_JITTER TSCH_CONF_TIMESYNC_REMOVE_JITTER
109#define TSCH_TIMESYNC_REMOVE_JITTER TSCH_RESYNC_WITH_SFD_TIMESTAMPS
115#ifdef TSCH_CONF_BASE_DRIFT_PPM
116#define TSCH_BASE_DRIFT_PPM TSCH_CONF_BASE_DRIFT_PPM
118#define TSCH_BASE_DRIFT_PPM 0
122#ifdef TSCH_CONF_ADAPTIVE_TIMESYNC
123#define TSCH_ADAPTIVE_TIMESYNC TSCH_CONF_ADAPTIVE_TIMESYNC
125#define TSCH_ADAPTIVE_TIMESYNC 1
133#ifdef TSCH_CONF_AUTOSELECT_TIME_SOURCE
134#define TSCH_AUTOSELECT_TIME_SOURCE TSCH_CONF_AUTOSELECT_TIME_SOURCE
136#define TSCH_AUTOSELECT_TIME_SOURCE 0
142#ifdef TSCH_CONF_DEFAULT_HOPPING_SEQUENCE
143#define TSCH_DEFAULT_HOPPING_SEQUENCE TSCH_CONF_DEFAULT_HOPPING_SEQUENCE
145#define TSCH_DEFAULT_HOPPING_SEQUENCE TSCH_HOPPING_SEQUENCE_4_4
149#ifdef TSCH_CONF_JOIN_HOPPING_SEQUENCE
150#define TSCH_JOIN_HOPPING_SEQUENCE TSCH_CONF_JOIN_HOPPING_SEQUENCE
152#define TSCH_JOIN_HOPPING_SEQUENCE TSCH_DEFAULT_HOPPING_SEQUENCE
157#ifdef TSCH_CONF_HOPPING_SEQUENCE_MAX_LEN
158#define TSCH_HOPPING_SEQUENCE_MAX_LEN TSCH_CONF_HOPPING_SEQUENCE_MAX_LEN
160#define TSCH_HOPPING_SEQUENCE_MAX_LEN sizeof(TSCH_DEFAULT_HOPPING_SEQUENCE)
169#ifdef TSCH_CONF_AUTOSTART
170#define TSCH_AUTOSTART TSCH_CONF_AUTOSTART
172#define TSCH_AUTOSTART 1
176#ifdef TSCH_CONF_MAX_JOIN_PRIORITY
177#define TSCH_MAX_JOIN_PRIORITY TSCH_CONF_MAX_JOIN_PRIORITY
179#define TSCH_MAX_JOIN_PRIORITY 32
183#ifdef TSCH_CONF_JOIN_SECURED_ONLY
184#define TSCH_JOIN_SECURED_ONLY TSCH_CONF_JOIN_SECURED_ONLY
187#define TSCH_JOIN_SECURED_ONLY LLSEC802154_ENABLED
191#ifdef TSCH_CONF_JOIN_MY_PANID_ONLY
192#define TSCH_JOIN_MY_PANID_ONLY TSCH_CONF_JOIN_MY_PANID_ONLY
194#define TSCH_JOIN_MY_PANID_ONLY 1
198#ifdef TSCH_CONF_ASSOCIATION_POLL_FREQUENCY
199#define TSCH_ASSOCIATION_POLL_FREQUENCY TSCH_CONF_ASSOCIATION_POLL_FREQUENCY
201#define TSCH_ASSOCIATION_POLL_FREQUENCY 100
207#ifdef TSCH_CONF_CHECK_TIME_AT_ASSOCIATION
208#define TSCH_CHECK_TIME_AT_ASSOCIATION TSCH_CONF_CHECK_TIME_AT_ASSOCIATION
210#define TSCH_CHECK_TIME_AT_ASSOCIATION 0
215#ifdef TSCH_CONF_INIT_SCHEDULE_FROM_EB
216#define TSCH_INIT_SCHEDULE_FROM_EB TSCH_CONF_INIT_SCHEDULE_FROM_EB
218#define TSCH_INIT_SCHEDULE_FROM_EB 1
222#ifdef TSCH_CONF_CHANNEL_SCAN_DURATION
223#define TSCH_CHANNEL_SCAN_DURATION TSCH_CONF_CHANNEL_SCAN_DURATION
225#define TSCH_CHANNEL_SCAN_DURATION CLOCK_SECOND
229#ifdef TSCH_PACKET_CONF_EB_WITH_TIMESLOT_TIMING
230#define TSCH_PACKET_EB_WITH_TIMESLOT_TIMING TSCH_PACKET_CONF_EB_WITH_TIMESLOT_TIMING
232#define TSCH_PACKET_EB_WITH_TIMESLOT_TIMING 0
236#ifdef TSCH_PACKET_CONF_EB_WITH_HOPPING_SEQUENCE
237#define TSCH_PACKET_EB_WITH_HOPPING_SEQUENCE TSCH_PACKET_CONF_EB_WITH_HOPPING_SEQUENCE
239#define TSCH_PACKET_EB_WITH_HOPPING_SEQUENCE 0
243#ifdef TSCH_PACKET_CONF_EB_WITH_SLOTFRAME_AND_LINK
244#define TSCH_PACKET_EB_WITH_SLOTFRAME_AND_LINK TSCH_PACKET_CONF_EB_WITH_SLOTFRAME_AND_LINK
246#define TSCH_PACKET_EB_WITH_SLOTFRAME_AND_LINK 0
253#ifdef TSCH_CONF_DEQUEUED_ARRAY_SIZE
254#define TSCH_DEQUEUED_ARRAY_SIZE TSCH_CONF_DEQUEUED_ARRAY_SIZE
258#if QUEUEBUF_CONF_NUM <= 4
259#define TSCH_DEQUEUED_ARRAY_SIZE 4
260#elif QUEUEBUF_CONF_NUM <= 8
261#define TSCH_DEQUEUED_ARRAY_SIZE 8
262#elif QUEUEBUF_CONF_NUM <= 16
263#define TSCH_DEQUEUED_ARRAY_SIZE 16
264#elif QUEUEBUF_CONF_NUM <= 32
265#define TSCH_DEQUEUED_ARRAY_SIZE 32
266#elif QUEUEBUF_CONF_NUM <= 64
267#define TSCH_DEQUEUED_ARRAY_SIZE 64
268#elif QUEUEBUF_CONF_NUM <= 128
269#define TSCH_DEQUEUED_ARRAY_SIZE 128
271#define TSCH_DEQUEUED_ARRAY_SIZE 256
277#ifdef TSCH_CONF_MAX_INCOMING_PACKETS
278#define TSCH_MAX_INCOMING_PACKETS TSCH_CONF_MAX_INCOMING_PACKETS
280#define TSCH_MAX_INCOMING_PACKETS 4
287#ifdef TSCH_QUEUE_CONF_NUM_PER_NEIGHBOR
288#define TSCH_QUEUE_NUM_PER_NEIGHBOR TSCH_QUEUE_CONF_NUM_PER_NEIGHBOR
292#if QUEUEBUF_CONF_NUM <= 4
293#define TSCH_QUEUE_NUM_PER_NEIGHBOR 4
294#elif QUEUEBUF_CONF_NUM <= 8
295#define TSCH_QUEUE_NUM_PER_NEIGHBOR 8
296#elif QUEUEBUF_CONF_NUM <= 16
297#define TSCH_QUEUE_NUM_PER_NEIGHBOR 16
298#elif QUEUEBUF_CONF_NUM <= 32
299#define TSCH_QUEUE_NUM_PER_NEIGHBOR 32
300#elif QUEUEBUF_CONF_NUM <= 64
301#define TSCH_QUEUE_NUM_PER_NEIGHBOR 64
302#elif QUEUEBUF_CONF_NUM <= 128
303#define TSCH_QUEUE_NUM_PER_NEIGHBOR 128
305#define TSCH_QUEUE_NUM_PER_NEIGHBOR 256
311#ifdef TSCH_QUEUE_CONF_MAX_NEIGHBOR_QUEUES
312#define TSCH_QUEUE_MAX_NEIGHBOR_QUEUES TSCH_QUEUE_CONF_MAX_NEIGHBOR_QUEUES
314#define TSCH_QUEUE_MAX_NEIGHBOR_QUEUES ((NBR_TABLE_CONF_MAX_NEIGHBORS) + 2)
320#ifdef TSCH_SCHEDULE_CONF_WITH_6TISCH_MINIMAL
321#define TSCH_SCHEDULE_WITH_6TISCH_MINIMAL TSCH_SCHEDULE_CONF_WITH_6TISCH_MINIMAL
323#define TSCH_SCHEDULE_WITH_6TISCH_MINIMAL (!(BUILD_WITH_ORCHESTRA))
329#ifdef TSCH_CONF_BURST_MAX_LEN
330#define TSCH_BURST_MAX_LEN TSCH_CONF_BURST_MAX_LEN
332#define TSCH_BURST_MAX_LEN 0
336#ifdef TSCH_SCHEDULE_CONF_DEFAULT_LENGTH
337#define TSCH_SCHEDULE_DEFAULT_LENGTH TSCH_SCHEDULE_CONF_DEFAULT_LENGTH
339#define TSCH_SCHEDULE_DEFAULT_LENGTH 7
343#ifdef TSCH_SCHEDULE_CONF_MAX_SLOTFRAMES
344#define TSCH_SCHEDULE_MAX_SLOTFRAMES TSCH_SCHEDULE_CONF_MAX_SLOTFRAMES
346#define TSCH_SCHEDULE_MAX_SLOTFRAMES 5
350#ifdef TSCH_SCHEDULE_CONF_MAX_LINKS
351#define TSCH_SCHEDULE_MAX_LINKS TSCH_SCHEDULE_CONF_MAX_LINKS
353#define TSCH_SCHEDULE_MAX_LINKS 32
357#ifdef TSCH_CONF_WITH_SIXTOP
358#define TSCH_WITH_SIXTOP TSCH_CONF_WITH_SIXTOP
360#define TSCH_WITH_SIXTOP 0
365#ifdef TSCH_CONF_WITH_LINK_SELECTOR
366#define TSCH_WITH_LINK_SELECTOR TSCH_CONF_WITH_LINK_SELECTOR
368#define TSCH_WITH_LINK_SELECTOR (BUILD_WITH_ORCHESTRA)
372#ifdef TSCH_CONF_LINK_COMPARATOR
373#define TSCH_LINK_COMPARATOR TSCH_CONF_LINK_COMPARATOR
375#define TSCH_LINK_COMPARATOR(a, b) default_tsch_link_comparator(a, b)
383#ifdef TSCH_CONF_MAC_MIN_BE
384#define TSCH_MAC_MIN_BE TSCH_CONF_MAC_MIN_BE
386#define TSCH_MAC_MIN_BE 1
390#ifdef TSCH_CONF_MAC_MAX_BE
391#define TSCH_MAC_MAX_BE TSCH_CONF_MAC_MAX_BE
393#define TSCH_MAC_MAX_BE 5
397#if TSCH_MAC_MAX_BE > 16
398#error TSCH_MAC_MAX_BE must be 16 or lower to avoid uint16_t overflows
402#ifdef TSCH_CONF_MAC_MAX_FRAME_RETRIES
403#define TSCH_MAC_MAX_FRAME_RETRIES TSCH_CONF_MAC_MAX_FRAME_RETRIES
405#define TSCH_MAC_MAX_FRAME_RETRIES 7
409#ifdef TSCH_PACKET_CONF_EACK_WITH_SRC_ADDR
410#define TSCH_PACKET_EACK_WITH_SRC_ADDR TSCH_PACKET_CONF_EACK_WITH_SRC_ADDR
412#define TSCH_PACKET_EACK_WITH_SRC_ADDR 0
416#ifdef TSCH_CONF_CCA_ENABLED
417#define TSCH_CCA_ENABLED TSCH_CONF_CCA_ENABLED
419#define TSCH_CCA_ENABLED 0
423#ifdef TSCH_PACKET_CONF_EACK_WITH_DEST_ADDR
424#define TSCH_PACKET_EACK_WITH_DEST_ADDR TSCH_PACKET_CONF_EACK_WITH_DEST_ADDR
426#define TSCH_PACKET_EACK_WITH_DEST_ADDR 1
433#ifdef TSCH_CONF_HW_FRAME_FILTERING
434#define TSCH_HW_FRAME_FILTERING TSCH_CONF_HW_FRAME_FILTERING
436#define TSCH_HW_FRAME_FILTERING 1
440#ifdef TSCH_CONF_RADIO_ON_DURING_TIMESLOT
441#define TSCH_RADIO_ON_DURING_TIMESLOT TSCH_CONF_RADIO_ON_DURING_TIMESLOT
443#define TSCH_RADIO_ON_DURING_TIMESLOT 0
447#ifdef TSCH_CONF_DEFAULT_TIMESLOT_TIMING
448#define TSCH_DEFAULT_TIMESLOT_TIMING TSCH_CONF_DEFAULT_TIMESLOT_TIMING
450#define TSCH_DEFAULT_TIMESLOT_TIMING tsch_timeslot_timing_us_10000
454#ifndef TSCH_CONF_RX_WAIT
455#define TSCH_CONF_RX_WAIT 2200