void safety_SafeMode ( void   )

This function represents a safe mode for the entire software system.

If this function is called, a fatal error has occured. In this case normal software operation cannot be restored.

Tis function deactivates all interrupts, activates the fan and continuously disables the motor relay.

Returns:
void

Definition at line 253 of file safety.c.

References COND_CURR_ERR, COND_CURR_WARN, COND_TEMP_ERR, COND_TEMP_WARN, COND_VOLT_ERR, COND_VOLT_WARN, FALSE, fan_Set(), mg_eCondition, ON, and relay_Enable().

Referenced by safety_MemoryTest().

{
  mg_eCondition |= COND_VOLT_WARN;
  mg_eCondition |= COND_CURR_WARN;
  mg_eCondition |= COND_TEMP_WARN;
  mg_eCondition |= COND_VOLT_ERR;
  mg_eCondition |= COND_CURR_ERR;
  mg_eCondition |= COND_TEMP_ERR;
  cli();
  while(1U) /* loop forever */
  {
    relay_Enable(FALSE);
    fan_Set(ON);
    wdt_reset(); /* watchdog must be triggered to prevent from restarting */
  }
}

Here is the call graph for this function:

Here is the caller graph for this function: