|
@@ -114,7 +114,8 @@ inline void uart_receive(uint8_t *dataNBUS, int n)
|
|
|
dataL = 0;
|
|
dataL = 0;
|
|
|
dataI = 0;
|
|
dataI = 0;
|
|
|
data[0] = 0;
|
|
data[0] = 0;
|
|
|
- uart_timeout = HAL_GetTick();
|
|
|
|
|
|
|
+// uart_timeout = HAL_GetTick();
|
|
|
|
|
+ uart_timeout = MAX_SYSTICK;
|
|
|
HAL_UARTEx_ReceiveToIdle_DMA(&huart1, data, n);
|
|
HAL_UARTEx_ReceiveToIdle_DMA(&huart1, data, n);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -135,12 +136,12 @@ inline void app_delay(uint8_t ms){
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
static inline uint8_t loop_callback(nBusStateCallbackType_t state_check) {
|
|
static inline uint8_t loop_callback(nBusStateCallbackType_t state_check) {
|
|
|
-// traba kontrolovat kazdu stav (state_check) zvmlast. Moznost doplnit dalsie kontroly
|
|
|
|
|
|
|
+// traba kontrolovat kazdu stav (state_check) zvlast. Moznost doplnit dalsie kontroly
|
|
|
if (state_check == CallbackType_SENSOR) {
|
|
if (state_check == CallbackType_SENSOR) {
|
|
|
#if MODULE == MODULE_IMU || MODULE == MODULE_DMP
|
|
#if MODULE == MODULE_IMU || MODULE == MODULE_DMP
|
|
|
if(icm_data_ready == 1){
|
|
if(icm_data_ready == 1){
|
|
|
icm_data_ready = 0;
|
|
icm_data_ready = 0;
|
|
|
- return 1; // interrupt from external sensor: data ready
|
|
|
|
|
|
|
+ return 0; // TEMPORARY DISABLED STATE. interrupt from external sensor: data ready
|
|
|
}
|
|
}
|
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
@@ -148,13 +149,12 @@ static inline uint8_t loop_callback(nBusStateCallbackType_t state_check) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if (state_check == CallbackType_UART) {
|
|
if (state_check == CallbackType_UART) {
|
|
|
- // timemout: 1 - 2 ms
|
|
|
|
|
- if(HAL_GetTick() - 1 > uart_timeout) {
|
|
|
|
|
|
|
+ // timeout: 1 - 2 ms
|
|
|
|
|
+ if(HAL_GetTick() - 1 > uart_timeout || uart_timeout == MAX_SYSTICK) {
|
|
|
dataL = 0;
|
|
dataL = 0;
|
|
|
dataI = 0;
|
|
dataI = 0;
|
|
|
data[0] = 0;
|
|
data[0] = 0;
|
|
|
uart_timeout = MAX_SYSTICK;
|
|
uart_timeout = MAX_SYSTICK;
|
|
|
-// led_off();
|
|
|
|
|
HAL_UARTEx_ReceiveToIdle_DMA(&huart1, data, BUFF_SIZE);
|
|
HAL_UARTEx_ReceiveToIdle_DMA(&huart1, data, BUFF_SIZE);
|
|
|
return 1; // UART receive timeout
|
|
return 1; // UART receive timeout
|
|
|
}
|
|
}
|
|
@@ -198,7 +198,9 @@ void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart){
|
|
|
|
|
|
|
|
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {
|
|
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {
|
|
|
#if MODULE == MODULE_IMU || MODULE == MODULE_DMP
|
|
#if MODULE == MODULE_IMU || MODULE == MODULE_DMP
|
|
|
- icm_data_ready = 1;
|
|
|
|
|
|
|
+ if (GPIO_Pin == SPI_INT_Pin) {
|
|
|
|
|
+ icm_data_ready = 1;
|
|
|
|
|
+ }
|
|
|
#endif
|
|
#endif
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -275,7 +277,6 @@ int main(void)
|
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
#if MODULE == MODULE_DMP
|
|
#if MODULE == MODULE_DMP
|
|
|
-
|
|
|
|
|
nbus_init(getImuDriver(), &hw_platform);
|
|
nbus_init(getImuDriver(), &hw_platform);
|
|
|
nbus_init_app(NULL, NULL);
|
|
nbus_init_app(NULL, NULL);
|
|
|
#endif
|
|
#endif
|
|
@@ -300,9 +301,10 @@ int main(void)
|
|
|
config.mag.mode = mag_mode_power_down;
|
|
config.mag.mode = mag_mode_power_down;
|
|
|
|
|
|
|
|
nbus_init(getImuDriver(), &hw_platform);
|
|
nbus_init(getImuDriver(), &hw_platform);
|
|
|
- nbus_init_app(&hspi1, &config);
|
|
|
|
|
|
|
+ nbus_init_app(NULL, NULL);
|
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
|
|
+
|
|
|
nBus_MemoryDriver memory_ec20 = {
|
|
nBus_MemoryDriver memory_ec20 = {
|
|
|
DS28EC20_init,
|
|
DS28EC20_init,
|
|
|
DS28EC20_readData4B,
|
|
DS28EC20_readData4B,
|