42#define RADIO_PHY_OVERHEAD 3
44#define RADIO_BYTE_AIR_TIME 32
47#define RADIO_DELAY_BEFORE_TX ((unsigned)US_TO_RTIMERTICKS(313))
50#define RADIO_DELAY_BEFORE_RX ((unsigned)US_TO_RTIMERTICKS(104))
52#define RADIO_DELAY_BEFORE_DETECT ((unsigned)US_TO_RTIMERTICKS(14))
55#define UIP_CONF_BYTE_ORDER UIP_BIG_ENDIAN
59#ifndef MIRCOMAC_CONF_BUF_NUM
60#define MIRCOMAC_CONF_BUF_NUM 2
64#ifdef RTIMER_CONF_USE_32KHZ
65#define RTIMER_USE_32KHZ RTIMER_CONF_USE_32KHZ
67#define RTIMER_USE_32KHZ 0
75#ifdef JN516X_SLEEP_CONF_ENABLED
76#define JN516X_SLEEP_ENABLED JN516X_SLEEP_CONF_ENABLED
78#define JN516X_SLEEP_ENABLED 0
82#ifndef JN516X_EXTERNAL_CRYSTAL_OSCILLATOR
83#define JN516X_EXTERNAL_CRYSTAL_OSCILLATOR (RTIMER_USE_32KHZ || JN516X_SLEEP_ENABLED)
87#define CLOCK_CONF_SECOND 125
89#if JN516X_EXTERNAL_CRYSTAL_OSCILLATOR
90#define JN516X_XOSC_SECOND 32768
92#define JN516X_XOSC_SECOND 32000
97#define RADIO_TO_RTIMER(X) ((X) * (JN516X_XOSC_SECOND) / 62500)
100#define RADIO_TO_RTIMER(X) ((rtimer_clock_t)((X) << (int32_t)8L))
104#if RTIMER_USE_32KHZ && JN516X_EXTERNAL_CRYSTAL_OSCILLATOR
114#define TSCH_CONF_BASE_DRIFT_PPM -977
117#define DR_11744_DIO2 12
118#define DR_11744_DIO3 13
119#define DR_11744_DIO4 14
120#define DR_11744_DIO5 15
121#define DR_11744_DIO6 16
122#define DR_11744_DIO7 17
125#if defined(JN5168_M05) || defined(JN5168_M06)
126#define RADIO_TEST_MODE RADIO_TEST_MODE_HIGH_PWR
128#define RADIO_TEST_MODE RADIO_TEST_MODE_DISABLED
134#define TSCH_DEBUG_INIT() do { \
135 vAHI_DioSetDirection(0, (1 << DR_11744_DIO2) | (1 << DR_11744_DIO3) | (1 << DR_11744_DIO4) | (1 << DR_11744_DIO5) | (1 << DR_11744_DIO6) | (1 << DR_11744_DIO7)); \
136 vAHI_DioSetOutput(0, (1 << DR_11744_DIO2) | (1 << DR_11744_DIO3) | (1 << DR_11744_DIO4) | (1 << DR_11744_DIO5) | (1 << DR_11744_DIO6) | (1 << DR_11744_DIO7)); } while(0);
137#define TSCH_DEBUG_INTERRUPT() do { \
138 static dio_state = 0; \
139 dio_state = !dio_state; \
141 vAHI_DioSetOutput((1 << DR_11744_DIO2), 0); \
143 vAHI_DioSetOutput(0, (1 << DR_11744_DIO2)); \
146#define TSCH_DEBUG_RX_EVENT() do { \
147 static dio_state = 0; \
148 dio_state = !dio_state; \
150 vAHI_DioSetOutput((1 << DR_11744_DIO4), 0); \
152 vAHI_DioSetOutput(0, (1 << DR_11744_DIO4)); \
155#define TSCH_DEBUG_TX_EVENT() do { \
156 static dio_state = 0; \
157 dio_state = !dio_state; \
159 vAHI_DioSetOutput((1 << DR_11744_DIO5), 0); \
161 vAHI_DioSetOutput(0, (1 << DR_11744_DIO5)); \
164#define TSCH_DEBUG_SLOT_START() do { \
165 static dio_state = 0; \
166 dio_state = !dio_state; \
168 vAHI_DioSetOutput((1 << DR_11744_DIO3), 0); \
170 vAHI_DioSetOutput(0, (1 << DR_11744_DIO3)); \
173#define TSCH_DEBUG_SLOT_END()
177#define UART_RATE_4800 0
178#define UART_RATE_9600 1
179#define UART_RATE_19200 2
180#define UART_RATE_38400 3
181#define UART_RATE_76800 4
182#define UART_RATE_115200 5
183#define UART_RATE_230400 6
184#define UART_RATE_460800 7
185#define UART_RATE_500000 8
186#define UART_RATE_576000 9
187#define UART_RATE_921600 10
188#define UART_RATE_1000000 11
190#define PLATFORM_HAS_LEDS 1
191#define PLATFORM_HAS_BUTTON (SENSOR_BOARD_DR1174 == 1)
192#define PLATFORM_HAS_LIGHT (SENSOR_BOARD_DR1175 == 1)
193#define PLATFORM_HAS_HT (SENSOR_BOARD_DR1175 == 1)
194#define PLATFORM_HAS_POT (SENSOR_BOARD_DR1199 == 1)
195#define PLATFORM_HAS_BATTERY 0
196#define PLATFORM_HAS_SHT11 0
197#define PLATFORM_HAS_RADIO 1
199#define LEDS_CONF_LEGACY_API 1
201#define PLATFORM_CONF_PROVIDES_MAIN_LOOP 1
205#define F_CPU 32000000UL
217#define CC_CONF_VA_ARGS 1
218#define CC_CONF_INLINE inline
224typedef unsigned char uint8_t;
225typedef unsigned short uint16_t;
226typedef unsigned long uint32_t;
227typedef signed char int8_t;
228typedef short int16_t;
230typedef unsigned long long uint64_t;
231typedef long long int64_t;
236typedef uint16_t uip_stats_t;
237typedef uint32_t clock_time_t;
240#ifndef DCOSYNCH_CONF_ENABLED
241#define DCOSYNCH_CONF_ENABLED (!(MAC_CONF_WITH_TSCH))
247#ifndef DCOSYNCH_PERIOD
248#define DCOSYNCH_PERIOD (5 * 60)
252#ifndef UART_HW_FLOW_CTRL
253#define UART_HW_FLOW_CTRL 0
257#ifndef UART_XONXOFF_FLOW_CTRL
258#define UART_XONXOFF_FLOW_CTRL 1
261#ifndef UART_BAUD_RATE
262#define UART_BAUD_RATE UART_RATE_1000000
265#ifndef UART1_BAUD_RATE
266#define UART1_BAUD_RATE UART_RATE_1000000
268#define ENABLE_ADVANCED_BAUD_SELECTION (UART_BAUD_RATE > UART_RATE_115200)
300#define LEDS_CONF_ALL 255