|
|
@@ -91,8 +91,10 @@ volatile uint8_t dataL;
|
|
|
volatile uint8_t dataI;
|
|
|
volatile uint32_t uart_timeout = MAX_SYSTICK;
|
|
|
|
|
|
+#if MODULE == MODULE_IMU
|
|
|
volatile uint8_t icm_data_ready = 0;
|
|
|
-//volatile uint8_t uart_data_ready = 0;
|
|
|
+#endif
|
|
|
+
|
|
|
|
|
|
inline void uart_send(uint8_t *data, int n)
|
|
|
{
|
|
|
@@ -126,14 +128,16 @@ inline void app_delay(uint8_t ms){
|
|
|
}
|
|
|
|
|
|
static inline uint8_t loop_callback() {
|
|
|
+
|
|
|
+#if MODULE == MODULE_IMU
|
|
|
if(icm_data_ready == 1){
|
|
|
icm_data_ready = 0;
|
|
|
return 1; // interrupt from external sensor: data ready
|
|
|
}
|
|
|
+#endif
|
|
|
|
|
|
- uint32_t ht = HAL_GetTick();
|
|
|
// timemout: 1 - 2 ms
|
|
|
- if(ht - 1 > uart_timeout) {
|
|
|
+ if(HAL_GetTick() - 1 > uart_timeout) {
|
|
|
dataL = 0;
|
|
|
dataI = 0;
|
|
|
data[0] = 0;
|
|
|
@@ -160,7 +164,6 @@ void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size){
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- //dataI = 1;
|
|
|
Size--;
|
|
|
copy_offset = 1;
|
|
|
}
|
|
|
@@ -180,7 +183,9 @@ void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size){
|
|
|
}
|
|
|
|
|
|
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {
|
|
|
+#if MODULE == MODULE_IMU
|
|
|
icm_data_ready = 1;
|
|
|
+#endif
|
|
|
}
|
|
|
|
|
|
|