diff --git a/flight/modules/Actuator/actuator.c b/flight/modules/Actuator/actuator.c index f8212caa0..9b5dcbf91 100644 --- a/flight/modules/Actuator/actuator.c +++ b/flight/modules/Actuator/actuator.c @@ -103,7 +103,9 @@ int32_t ActuatorStart() // Start main task xTaskCreate(actuatorTask, (signed char*)"Actuator", STACK_SIZE_BYTES/4, NULL, TASK_PRIORITY, &taskHandle); PIOS_TASK_MONITOR_RegisterTask(TASKINFO_RUNNING_ACTUATOR, taskHandle); +#ifdef PIOS_INCLUDE_WDG PIOS_WDG_RegisterFlag(PIOS_WDG_ACTUATOR); +#endif return 0; } @@ -185,7 +187,9 @@ static void actuatorTask(__attribute__((unused)) void* parameters) lastSysTime = xTaskGetTickCount(); while (1) { +#ifdef PIOS_INCLUDE_WDG PIOS_WDG_UpdateFlag(PIOS_WDG_ACTUATOR); +#endif // Wait until the ActuatorDesired object is updated uint8_t rc = xQueueReceive(queue, &ev, FAILSAFE_TIMEOUT_MS / portTICK_RATE_MS); diff --git a/flight/modules/Fault/Fault.c b/flight/modules/Fault/Fault.c index b707ed5a5..33b15f7cb 100644 --- a/flight/modules/Fault/Fault.c +++ b/flight/modules/Fault/Fault.c @@ -112,7 +112,7 @@ static int32_t fault_start(void) } MODULE_INITCALL(fault_initialize, fault_start) -static void fault_task(void *parameters) +static void fault_task(__attribute__((unused))void *parameters) { switch (active_fault) { case FAULTSETTINGS_ACTIVATEFAULT_RUNAWAYTASK: diff --git a/flight/modules/ManualControl/manualcontrol.c b/flight/modules/ManualControl/manualcontrol.c index 1107a601d..7c28ade1d 100644 --- a/flight/modules/ManualControl/manualcontrol.c +++ b/flight/modules/ManualControl/manualcontrol.c @@ -138,7 +138,9 @@ int32_t ManualControlStart() // Start main task xTaskCreate(manualControlTask, (signed char *) "ManualControl", STACK_SIZE_BYTES / 4, NULL, TASK_PRIORITY, &taskHandle); PIOS_TASK_MONITOR_RegisterTask(TASKINFO_RUNNING_MANUALCONTROL, taskHandle); +#ifdef PIOS_INCLUDE_WDG PIOS_WDG_RegisterFlag(PIOS_WDG_MANUAL); +#endif return 0; } @@ -208,7 +210,9 @@ static void manualControlTask(__attribute__((unused)) void *parameters) // Wait until next update vTaskDelayUntil(&lastSysTime, UPDATE_PERIOD_MS / portTICK_RATE_MS); +#ifdef PIOS_INCLUDE_WDG PIOS_WDG_UpdateFlag(PIOS_WDG_MANUAL); +#endif // Read settings ManualControlSettingsGet(&settings); diff --git a/flight/modules/Stabilization/stabilization.c b/flight/modules/Stabilization/stabilization.c index b417864e6..d9b17f1c2 100644 --- a/flight/modules/Stabilization/stabilization.c +++ b/flight/modules/Stabilization/stabilization.c @@ -113,7 +113,9 @@ int32_t StabilizationStart() // Start main task xTaskCreate(stabilizationTask, (signed char*)"Stabilization", STACK_SIZE_BYTES/4, NULL, TASK_PRIORITY, &taskHandle); PIOS_TASK_MONITOR_RegisterTask(TASKINFO_RUNNING_STABILIZATION, taskHandle); +#ifdef PIOS_INCLUDE_WDG PIOS_WDG_RegisterFlag(PIOS_WDG_STABILIZATION); +#endif return 0; } @@ -161,7 +163,9 @@ static void stabilizationTask(__attribute__((unused)) void* parameters) while(1) { float dT; +#ifdef PIOS_INCLUDE_WDG PIOS_WDG_UpdateFlag(PIOS_WDG_STABILIZATION); +#endif // Wait until the AttitudeRaw object is updated, if a timeout then go to failsafe if ( xQueueReceive(queue, &ev, FAILSAFE_TIMEOUT_MS / portTICK_RATE_MS) != pdTRUE ) diff --git a/flight/pios/inc/pios_rcvr_priv.h b/flight/pios/inc/pios_rcvr_priv.h index 7b41d2764..46ced2e24 100644 --- a/flight/pios/inc/pios_rcvr_priv.h +++ b/flight/pios/inc/pios_rcvr_priv.h @@ -33,8 +33,6 @@ #include -extern uint32_t pios_rcvr_max_channel; - extern int32_t PIOS_RCVR_Init(uint32_t * rcvr_id, const struct pios_rcvr_driver * driver, const uint32_t lower_id); extern void PIOS_RCVR_IRQ_Handler(uint32_t rcvr_id); diff --git a/flight/pios/stm32f10x/pios_i2c.c b/flight/pios/stm32f10x/pios_i2c.c index f61d00c14..054cc1454 100644 --- a/flight/pios/stm32f10x/pios_i2c.c +++ b/flight/pios/stm32f10x/pios_i2c.c @@ -126,7 +126,7 @@ static void i2c_adapter_reset_bus(struct pios_i2c_adapter *i2c_adapter); static void i2c_adapter_log_fault(enum pios_i2c_error_type type); -const static struct i2c_adapter_transition i2c_adapter_transitions[I2C_STATE_NUM_STATES] = { +static const struct i2c_adapter_transition i2c_adapter_transitions[I2C_STATE_NUM_STATES] = { [I2C_STATE_FSM_FAULT] = { .entry_fn = go_fsm_fault, .next_state = { @@ -607,9 +607,6 @@ static void i2c_adapter_inject_event(struct pios_i2c_adapter *i2c_adapter, enum * guarantee that the entry function never depends on the previous * state. This way, it cannot ever know what the previous state was. */ - enum i2c_adapter_state prev_state = i2c_adapter->curr_state; - if (prev_state) ; - i2c_adapter->curr_state = i2c_adapter_transitions[i2c_adapter->curr_state].next_state[event]; /* Call the entry function (if any) for the next state. */ @@ -626,10 +623,6 @@ static void i2c_adapter_inject_event(struct pios_i2c_adapter *i2c_adapter, enum static void i2c_adapter_process_auto(struct pios_i2c_adapter *i2c_adapter) { PIOS_IRQ_Disable(); - - enum i2c_adapter_state prev_state = i2c_adapter->curr_state; - if (prev_state) ; - while (i2c_adapter_transitions[i2c_adapter->curr_state].next_state[I2C_EVENT_AUTO]) { i2c_adapter->curr_state = i2c_adapter_transitions[i2c_adapter->curr_state].next_state[I2C_EVENT_AUTO]; @@ -659,7 +652,7 @@ static bool i2c_adapter_wait_for_stopped(struct pios_i2c_adapter *i2c_adapter) * in spinning on this bit in the ISR forever. */ #define I2C_CR1_STOP_REQUESTED 0x0200 - for (guard = 1e6; /* FIXME: should use the configured bus timeout */ + for (guard = 1000000; /* FIXME: should use the configured bus timeout */ guard && (i2c_adapter->cfg->regs->CR1 & I2C_CR1_STOP_REQUESTED); guard--) continue; if (!guard) {