Go to the documentation of this file. 42 #ifndef __TSCH_CONF_H__ 43 #define __TSCH_CONF_H__ 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 #ifdef TSCH_CONF_MAC_MAX_FRAME_RETRIES 398 #define TSCH_MAC_MAX_FRAME_RETRIES TSCH_CONF_MAC_MAX_FRAME_RETRIES 400 #define TSCH_MAC_MAX_FRAME_RETRIES 7 404 #ifdef TSCH_PACKET_CONF_EACK_WITH_SRC_ADDR 405 #define TSCH_PACKET_EACK_WITH_SRC_ADDR TSCH_PACKET_CONF_EACK_WITH_SRC_ADDR 407 #define TSCH_PACKET_EACK_WITH_SRC_ADDR 0 411 #ifdef TSCH_CONF_CCA_ENABLED 412 #define TSCH_CCA_ENABLED TSCH_CONF_CCA_ENABLED 414 #define TSCH_CCA_ENABLED 0 418 #ifdef TSCH_PACKET_CONF_EACK_WITH_DEST_ADDR 419 #define TSCH_PACKET_EACK_WITH_DEST_ADDR TSCH_PACKET_CONF_EACK_WITH_DEST_ADDR 421 #define TSCH_PACKET_EACK_WITH_DEST_ADDR 1 428 #ifdef TSCH_CONF_HW_FRAME_FILTERING 429 #define TSCH_HW_FRAME_FILTERING TSCH_CONF_HW_FRAME_FILTERING 431 #define TSCH_HW_FRAME_FILTERING 1 435 #ifdef TSCH_CONF_RADIO_ON_DURING_TIMESLOT 436 #define TSCH_RADIO_ON_DURING_TIMESLOT TSCH_CONF_RADIO_ON_DURING_TIMESLOT 438 #define TSCH_RADIO_ON_DURING_TIMESLOT 0 442 #ifdef TSCH_CONF_DEFAULT_TIMESLOT_TIMING 443 #define TSCH_DEFAULT_TIMESLOT_TIMING TSCH_CONF_DEFAULT_TIMESLOT_TIMING 445 #define TSCH_DEFAULT_TIMESLOT_TIMING tsch_timeslot_timing_us_10000 449 #ifndef TSCH_CONF_RX_WAIT 450 #define TSCH_CONF_RX_WAIT 2200