Zoul: TSCH configuration assuming not only cc2538
This commit is contained in:
parent
ddeeb63ddd
commit
64ce406ae4
@ -37,26 +37,11 @@
|
|||||||
#define RTIMER_ARCH_SECOND 32768
|
#define RTIMER_ARCH_SECOND 32768
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/* 352us from calling transmit() until the SFD byte has been sent */
|
/* 352us from calling transmit() until the SFD byte has been sent */
|
||||||
#define RADIO_DELAY_BEFORE_TX ((unsigned)US_TO_RTIMERTICKS(352))
|
#define CC2538_DELAY_BEFORE_TX ((unsigned)US_TO_RTIMERTICKS(352))
|
||||||
/* 192us as in datasheet but ACKs are not always received, so adjusted to 250us */
|
/* 192us as in datasheet but ACKs are not always received, so adjusted to 250us */
|
||||||
#define RADIO_DELAY_BEFORE_RX ((unsigned)US_TO_RTIMERTICKS(250))
|
#define CC2538_DELAY_BEFORE_RX ((unsigned)US_TO_RTIMERTICKS(250))
|
||||||
#define RADIO_DELAY_BEFORE_DETECT 0
|
#define CC2538_DELAY_BEFORE_DETECT 0
|
||||||
#ifndef TSCH_CONF_BASE_DRIFT_PPM
|
|
||||||
/* The drift compared to "true" 10ms slots.
|
|
||||||
* Enable adaptive sync to enable compensation for this.
|
|
||||||
* Slot length 10000 usec
|
|
||||||
* 328 ticks
|
|
||||||
* Tick duration 30.517578125 usec
|
|
||||||
* Real slot duration 10009.765625 usec
|
|
||||||
* Target - real duration = -9.765625 usec
|
|
||||||
* TSCH_CONF_BASE_DRIFT_PPM -977
|
|
||||||
*/
|
|
||||||
#define TSCH_CONF_BASE_DRIFT_PPM -977
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if MAC_CONF_WITH_TSCH
|
|
||||||
#define TSCH_CONF_HW_FRAME_FILTERING 0
|
|
||||||
#endif /* MAC_CONF_WITH_TSCH */
|
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#define SPI_CONF_CONTROLLER_COUNT 2
|
#define SPI_CONF_CONTROLLER_COUNT 2
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
@ -55,6 +55,47 @@
|
|||||||
#endif /* PROJECT_CONF_PATH */
|
#endif /* PROJECT_CONF_PATH */
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#include "cc2538-def.h"
|
#include "cc2538-def.h"
|
||||||
|
|
||||||
|
unsigned radio_phy_overhead(void);
|
||||||
|
unsigned radio_byte_air_time(void);
|
||||||
|
unsigned radio_delay_before_tx(void);
|
||||||
|
unsigned radio_delay_before_rx(void);
|
||||||
|
unsigned radio_delay_before_detect(void);
|
||||||
|
uint16_t *radio_tsch_timeslot_timing(void);
|
||||||
|
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/* 352us from calling transmit() until the SFD byte has been sent */
|
||||||
|
#define CC2538_DELAY_BEFORE_TX ((unsigned)US_TO_RTIMERTICKS(352))
|
||||||
|
/* 192us as in datasheet but ACKs are not always received, so adjusted to 250us */
|
||||||
|
#define CC2538_DELAY_BEFORE_RX ((unsigned)US_TO_RTIMERTICKS(250))
|
||||||
|
#define CC2538_DELAY_BEFORE_DETECT 0
|
||||||
|
|
||||||
|
#define RADIO_PHY_OVERHEAD radio_phy_overhead()
|
||||||
|
#define RADIO_BYTE_AIR_TIME radio_byte_air_time()
|
||||||
|
#define RADIO_DELAY_BEFORE_TX radio_delay_before_tx()
|
||||||
|
#define RADIO_DELAY_BEFORE_RX radio_delay_before_rx()
|
||||||
|
#define RADIO_DELAY_BEFORE_DETECT radio_delay_before_detect()
|
||||||
|
|
||||||
|
#define TSCH_CONF_DEFAULT_TIMESLOT_TIMING radio_tsch_timeslot_timing()
|
||||||
|
|
||||||
|
#ifndef TSCH_CONF_BASE_DRIFT_PPM
|
||||||
|
/* The drift compared to "true" 10ms slots.
|
||||||
|
* Enable adaptive sync to enable compensation for this.
|
||||||
|
* Slot length 10000 usec
|
||||||
|
* 328 ticks
|
||||||
|
* Tick duration 30.517578125 usec
|
||||||
|
* Real slot duration 10009.765625 usec
|
||||||
|
* Target - real duration = -9.765625 usec
|
||||||
|
* TSCH_CONF_BASE_DRIFT_PPM -977
|
||||||
|
*/
|
||||||
|
#define TSCH_CONF_BASE_DRIFT_PPM -977
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if MAC_CONF_WITH_TSCH
|
||||||
|
#define TSCH_CONF_HW_FRAME_FILTERING 0
|
||||||
|
#endif /* MAC_CONF_WITH_TSCH */
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
* \name Serial Boot Loader Backdoor configuration
|
* \name Serial Boot Loader Backdoor configuration
|
||||||
|
@ -257,6 +257,48 @@ platform_idle()
|
|||||||
lpm_enter();
|
lpm_enter();
|
||||||
}
|
}
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
unsigned
|
||||||
|
radio_phy_overhead(void) {
|
||||||
|
radio_value_t ret;
|
||||||
|
NETSTACK_RADIO.get_value(RADIO_CONST_PHY_OVERHEAD, &ret);
|
||||||
|
return (unsigned)ret;
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
unsigned
|
||||||
|
radio_byte_air_time(void) {
|
||||||
|
radio_value_t ret;
|
||||||
|
NETSTACK_RADIO.get_value(RADIO_CONST_BYTE_AIR_TIME, &ret);
|
||||||
|
return (unsigned)ret;
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
unsigned
|
||||||
|
radio_delay_before_tx(void) {
|
||||||
|
radio_value_t ret;
|
||||||
|
NETSTACK_RADIO.get_value(RADIO_CONST_DELAY_BEFORE_TX, &ret);
|
||||||
|
return (unsigned)ret;
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
unsigned
|
||||||
|
radio_delay_before_rx(void) {
|
||||||
|
radio_value_t ret;
|
||||||
|
NETSTACK_RADIO.get_value(RADIO_CONST_DELAY_BEFORE_RX, &ret);
|
||||||
|
return (unsigned)ret;
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
unsigned
|
||||||
|
radio_delay_before_detect(void) {
|
||||||
|
radio_value_t ret;
|
||||||
|
NETSTACK_RADIO.get_value(RADIO_CONST_DELAY_BEFORE_DETECT, &ret);
|
||||||
|
return (unsigned)ret;
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
uint16_t *
|
||||||
|
radio_tsch_timeslot_timing(void) {
|
||||||
|
uint16_t *ret;
|
||||||
|
NETSTACK_RADIO.get_object(RADIO_CONST_TSCH_TIMING, &ret, sizeof(ret));
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
* @}
|
* @}
|
||||||
|
Loading…
Reference in New Issue
Block a user