mirror of
https://github.com/oliverschmidt/contiki.git
synced 2024-12-22 10:30:13 +00:00
Added a number of default options for ContikiMAC, and allow them to be overridden with contiki-conf.h configuration options
This commit is contained in:
parent
0b882cd516
commit
c9de0e49be
@ -55,9 +55,11 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
/* TX/RX cycles are synchronized with neighbor wake periods */
|
/* TX/RX cycles are synchronized with neighbor wake periods */
|
||||||
#ifndef WITH_PHASE_OPTIMIZATION
|
#ifdef CONTIKIMAC_CONF_WITH_PHASE_OPTIMIZATION
|
||||||
|
#define WITH_PHASE_OPTIMIZATION CONTIKIMAC_CONF_WITH_PHASE_OPTIMIZATION
|
||||||
|
#else /* CONTIKIMAC_CONF_WITH_PHASE_OPTIMIZATION */
|
||||||
#define WITH_PHASE_OPTIMIZATION 1
|
#define WITH_PHASE_OPTIMIZATION 1
|
||||||
#endif
|
#endif /* CONTIKIMAC_CONF_WITH_PHASE_OPTIMIZATION */
|
||||||
/* Two byte header added to allow recovery of padded short packets */
|
/* Two byte header added to allow recovery of padded short packets */
|
||||||
/* Wireshark will not understand such packets at present */
|
/* Wireshark will not understand such packets at present */
|
||||||
#ifdef CONTIKIMAC_CONF_WITH_CONTIKIMAC_HEADER
|
#ifdef CONTIKIMAC_CONF_WITH_CONTIKIMAC_HEADER
|
||||||
@ -117,7 +119,7 @@ struct hdr {
|
|||||||
/* Are we currently receiving a burst? */
|
/* Are we currently receiving a burst? */
|
||||||
static int we_are_receiving_burst = 0;
|
static int we_are_receiving_burst = 0;
|
||||||
|
|
||||||
/* BURST_RECV_TIME is the maximum time a receiver waits for the
|
/* INTER_PACKET_DEADLINE is the maximum time a receiver waits for the
|
||||||
next packet of a burst when FRAME_PENDING is set. */
|
next packet of a burst when FRAME_PENDING is set. */
|
||||||
#define INTER_PACKET_DEADLINE CLOCK_SECOND / 32
|
#define INTER_PACKET_DEADLINE CLOCK_SECOND / 32
|
||||||
|
|
||||||
@ -125,15 +127,27 @@ static int we_are_receiving_burst = 0;
|
|||||||
consists of two or more CCA checks. CCA_COUNT_MAX is the number of
|
consists of two or more CCA checks. CCA_COUNT_MAX is the number of
|
||||||
CCAs to be done for each periodic channel check. The default is
|
CCAs to be done for each periodic channel check. The default is
|
||||||
two.*/
|
two.*/
|
||||||
|
#ifdef CONTIKIMAC_CONF_CCA_COUNT_MAX
|
||||||
|
#define CCA_COUNT_MAX (CONTIKIMAC_CONF_CCA_COUNT_MAX)
|
||||||
|
#else
|
||||||
#define CCA_COUNT_MAX 2
|
#define CCA_COUNT_MAX 2
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Before starting a transmission, Contikimac checks the availability
|
/* Before starting a transmission, Contikimac checks the availability
|
||||||
of the channel with CCA_COUNT_MAX_TX consecutive CCAs */
|
of the channel with CCA_COUNT_MAX_TX consecutive CCAs */
|
||||||
|
#ifdef CONTIKIMAC_CONF_CCA_COUNT_MAX_TX
|
||||||
|
#define CCA_COUNT_MAX_TX (CONTIKIMAC_CONF_CCA_COUNT_MAX_TX)
|
||||||
|
#else
|
||||||
#define CCA_COUNT_MAX_TX 6
|
#define CCA_COUNT_MAX_TX 6
|
||||||
|
#endif
|
||||||
|
|
||||||
/* CCA_CHECK_TIME is the time it takes to perform a CCA check. */
|
/* CCA_CHECK_TIME is the time it takes to perform a CCA check. */
|
||||||
/* Note this may be zero. AVRs have 7612 ticks/sec, but block until cca is done */
|
/* Note this may be zero. AVRs have 7612 ticks/sec, but block until cca is done */
|
||||||
|
#ifdef CONTIKIMAC_CONF_CCA_CHECK_TIME
|
||||||
|
#define CCA_CHECK_TIME (CONTIKIMAC_CONF_CCA_CHECK_TIME)
|
||||||
|
#else
|
||||||
#define CCA_CHECK_TIME RTIMER_ARCH_SECOND / 8192
|
#define CCA_CHECK_TIME RTIMER_ARCH_SECOND / 8192
|
||||||
|
#endif
|
||||||
|
|
||||||
/* CCA_SLEEP_TIME is the time between two successive CCA checks. */
|
/* CCA_SLEEP_TIME is the time between two successive CCA checks. */
|
||||||
/* Add 1 when rtimer ticks are coarse */
|
/* Add 1 when rtimer ticks are coarse */
|
||||||
@ -177,12 +191,20 @@ static int we_are_receiving_burst = 0;
|
|||||||
#define GUARD_TIME 10 * CHECK_TIME + CHECK_TIME_TX
|
#define GUARD_TIME 10 * CHECK_TIME + CHECK_TIME_TX
|
||||||
|
|
||||||
/* INTER_PACKET_INTERVAL is the interval between two successive packet transmissions */
|
/* INTER_PACKET_INTERVAL is the interval between two successive packet transmissions */
|
||||||
|
#ifdef CONTIKIMAC_CONF_INTER_PACKET_INTERVAL
|
||||||
|
#define INTER_PACKET_INTERVAL CONTIKIMAC_CONF_INTER_PACKET_INTERVAL
|
||||||
|
#else
|
||||||
#define INTER_PACKET_INTERVAL RTIMER_ARCH_SECOND / 5000
|
#define INTER_PACKET_INTERVAL RTIMER_ARCH_SECOND / 5000
|
||||||
|
#endif
|
||||||
|
|
||||||
/* AFTER_ACK_DETECTECT_WAIT_TIME is the time to wait after a potential
|
/* AFTER_ACK_DETECTECT_WAIT_TIME is the time to wait after a potential
|
||||||
ACK packet has been detected until we can read it out from the
|
ACK packet has been detected until we can read it out from the
|
||||||
radio. */
|
radio. */
|
||||||
|
#ifdef CONTIKIMAC_CONF_AFTER_ACK_DETECTECT_WAIT_TIME
|
||||||
|
#define AFTER_ACK_DETECTECT_WAIT_TIME CONTIKIMAC_CONF_AFTER_ACK_DETECTECT_WAIT_TIME
|
||||||
|
#else
|
||||||
#define AFTER_ACK_DETECTECT_WAIT_TIME RTIMER_ARCH_SECOND / 1500
|
#define AFTER_ACK_DETECTECT_WAIT_TIME RTIMER_ARCH_SECOND / 1500
|
||||||
|
#endif
|
||||||
|
|
||||||
/* MAX_PHASE_STROBE_TIME is the time that we transmit repeated packets
|
/* MAX_PHASE_STROBE_TIME is the time that we transmit repeated packets
|
||||||
to a neighbor for which we have a phase lock. */
|
to a neighbor for which we have a phase lock. */
|
||||||
|
Loading…
Reference in New Issue
Block a user