Restructure safety handle function. Now returns worst flag state set. Used to blink LED
This commit is contained in:
		@@ -27,6 +27,15 @@
 | 
			
		||||
#ifndef __SAFETY_CONFIG_H__
 | 
			
		||||
#define __SAFETY_CONFIG_H__
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @brief Weights of error flags.
 | 
			
		||||
 */
 | 
			
		||||
enum config_weight {
 | 
			
		||||
    SAFETY_FLAG_CONFIG_WEIGHT_NONE = 0, /**< @brief This flag has no global error consequence, but might be respected by certain software modules. */
 | 
			
		||||
    SAFETY_FLAG_CONFIG_WEIGHT_PID = 1, /**< @brief This flag will force a stop of the temperature PID controller */
 | 
			
		||||
    SAFETY_FLAG_CONFIG_WEIGHT_PANIC = 2, /**< @brief This flag will trigger the panic mode */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @brief Enum type representing safety flags.
 | 
			
		||||
 *
 | 
			
		||||
 
 | 
			
		||||
@@ -75,9 +75,9 @@ void safety_controller_init(void);
 | 
			
		||||
/**
 | 
			
		||||
 * @brief Handle the safety controller.
 | 
			
		||||
 * @note This function must be executed periodically in order to prevent the watchdog from resetting the firmware
 | 
			
		||||
 * @return 0 if successful
 | 
			
		||||
 * @returns Worst flag weigth that is currently set.
 | 
			
		||||
 */
 | 
			
		||||
int safety_controller_handle(void);
 | 
			
		||||
enum config_weight safety_controller_handle(void);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @brief Report one or multiple errors to the safety controller
 | 
			
		||||
 
 | 
			
		||||
@@ -24,6 +24,7 @@
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
#include <stdbool.h>
 | 
			
		||||
#include <reflow-controller/safety/safety-config.h>
 | 
			
		||||
 | 
			
		||||
/** @addtogroup safety-memory
 | 
			
		||||
 * @{
 | 
			
		||||
@@ -131,15 +132,6 @@ enum config_override_entry_type {
 | 
			
		||||
	SAFETY_MEMORY_CONFIG_OVERRIDE_PERSISTENCE = 2,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @brief Weights of error flags.
 | 
			
		||||
 */
 | 
			
		||||
enum config_weight {
 | 
			
		||||
	SAFETY_FLAG_CONFIG_WEIGHT_NONE = 0, /**< @brief This flag has no global error consequence, but might be respected by certain software modules. */
 | 
			
		||||
	SAFETY_FLAG_CONFIG_WEIGHT_PID = 1, /**< @brief This flag will force a stop of the temperature PID controller */
 | 
			
		||||
	SAFETY_FLAG_CONFIG_WEIGHT_PANIC = 2, /**< @brief This flag will trigger the panic mode */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @brief representation of a config override memory entry
 | 
			
		||||
 */
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user