33 #ifndef PLATFORM_CONF_H
34 #define PLATFORM_CONF_H
43 #define RADIO_DELAY_BEFORE_TX ((unsigned)US_TO_RTIMERTICKS(313))
46 #define RADIO_DELAY_BEFORE_RX ((unsigned)US_TO_RTIMERTICKS(104))
48 #define RADIO_DELAY_BEFORE_DETECT ((unsigned)US_TO_RTIMERTICKS(14))
52 #ifndef MIRCOMAC_CONF_BUF_NUM
53 #define MIRCOMAC_CONF_BUF_NUM 2
56 #ifndef MICROMAC_CONF_CHANNEL
57 #define MICROMAC_CONF_CHANNEL 26
61 #ifdef RTIMER_CONF_USE_32KHZ
62 #define RTIMER_USE_32KHZ RTIMER_CONF_USE_32KHZ
64 #define RTIMER_USE_32KHZ 0
72 #ifdef JN516X_SLEEP_CONF_ENABLED
73 #define JN516X_SLEEP_ENABLED JN516X_SLEEP_CONF_ENABLED
75 #define JN516X_SLEEP_ENABLED 0
79 #ifndef JN516X_EXTERNAL_CRYSTAL_OSCILLATOR
80 #define JN516X_EXTERNAL_CRYSTAL_OSCILLATOR (RTIMER_USE_32KHZ || JN516X_SLEEP_ENABLED)
84 typedef uint32_t rtimer_clock_t;
85 #define RTIMER_CLOCK_DIFF(a, b) ((int32_t)((a) - (b)))
88 #define CLOCK_CONF_SECOND 125
90 #if JN516X_EXTERNAL_CRYSTAL_OSCILLATOR
91 #define JN516X_XOSC_SECOND 32768
93 #define JN516X_XOSC_SECOND 32000
98 #define RADIO_TO_RTIMER(X) ((X) * (JN516X_XOSC_SECOND) / 62500)
101 #define RADIO_TO_RTIMER(X) ((rtimer_clock_t)((X) << (int32_t)8L))
105 #if RTIMER_USE_32KHZ && JN516X_EXTERNAL_CRYSTAL_OSCILLATOR
109 #define TSCH_CONF_BASE_DRIFT_PPM -977
112 #define DR_11744_DIO2 12
113 #define DR_11744_DIO3 13
114 #define DR_11744_DIO4 14
115 #define DR_11744_DIO5 15
116 #define DR_11744_DIO6 16
117 #define DR_11744_DIO7 17
120 #if defined(JN5168_M05) || defined(JN5168_M06)
121 #define RADIO_TEST_MODE RADIO_TEST_MODE_HIGH_PWR
123 #define RADIO_TEST_MODE RADIO_TEST_MODE_DISABLED
129 #define TSCH_DEBUG_INIT() do { \
130 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)); \
131 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);
132 #define TSCH_DEBUG_INTERRUPT() do { \
133 static dio_state = 0; \
134 dio_state = !dio_state; \
136 vAHI_DioSetOutput((1 << DR_11744_DIO2), 0); \
138 vAHI_DioSetOutput(0, (1 << DR_11744_DIO2)); \
141 #define TSCH_DEBUG_RX_EVENT() do { \
142 static dio_state = 0; \
143 dio_state = !dio_state; \
145 vAHI_DioSetOutput((1 << DR_11744_DIO4), 0); \
147 vAHI_DioSetOutput(0, (1 << DR_11744_DIO4)); \
150 #define TSCH_DEBUG_TX_EVENT() do { \
151 static dio_state = 0; \
152 dio_state = !dio_state; \
154 vAHI_DioSetOutput((1 << DR_11744_DIO5), 0); \
156 vAHI_DioSetOutput(0, (1 << DR_11744_DIO5)); \
159 #define TSCH_DEBUG_SLOT_START() do { \
160 static dio_state = 0; \
161 dio_state = !dio_state; \
163 vAHI_DioSetOutput((1 << DR_11744_DIO3), 0); \
165 vAHI_DioSetOutput(0, (1 << DR_11744_DIO3)); \
168 #define TSCH_DEBUG_SLOT_END()
172 #define BAUD2UBR(X) (X)
176 #define UART_RATE_4800 0
177 #define UART_RATE_9600 1
178 #define UART_RATE_19200 2
179 #define UART_RATE_38400 3
180 #define UART_RATE_76800 4
181 #define UART_RATE_115200 5
182 #define UART_RATE_230400 6
183 #define UART_RATE_460800 7
184 #define UART_RATE_500000 8
185 #define UART_RATE_576000 9
186 #define UART_RATE_921600 10
187 #define UART_RATE_1000000 11
189 #define PLATFORM_HAS_LEDS 1
190 #define PLATFORM_HAS_BUTTON (SENSOR_BOARD_DR1174 == 1)
191 #define PLATFORM_HAS_LIGHT (SENSOR_BOARD_DR1175 == 1)
192 #define PLATFORM_HAS_HT (SENSOR_BOARD_DR1175 == 1)
193 #define PLATFORM_HAS_POT (SENSOR_BOARD_DR1199 == 1)
194 #define PLATFORM_HAS_BATTERY 0
195 #define PLATFORM_HAS_SHT11 0
196 #define PLATFORM_HAS_RADIO 1
200 #define F_CPU 32000000UL
212 #define CC_CONF_REGISTER_ARGS 1
213 #define CC_CONF_FUNCTION_POINTER_ARGS 1
214 #define CC_CONF_VA_ARGS 1
215 #define CC_CONF_INLINE inline
224 typedef unsigned char uint8_t;
225 typedef unsigned short uint16_t;
226 typedef unsigned long uint32_t;
227 typedef signed char int8_t;
228 typedef short int16_t;
229 typedef long int32_t;
230 typedef unsigned long long uint64_t;
231 typedef long long int64_t;
236 typedef uint16_t uip_stats_t;
237 typedef uint32_t clock_time_t;
240 #ifndef DCOSYNCH_CONF_ENABLED
241 #define DCOSYNCH_CONF_ENABLED 1
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)
271 #ifndef SLIP_BRIDGE_CONF_NO_PUTCHAR
272 #define SLIP_BRIDGE_CONF_NO_PUTCHAR 1
305 #define LEDS_CONF_ALL 255