Doxygen headers

This commit is contained in:
Mario Hüttel 2021-05-22 16:46:26 +02:00
parent fdb3ceb3e9
commit 5f91659d04

View File

@ -18,37 +18,54 @@
* If not, see <http://www.gnu.org/licenses/>. * If not, see <http://www.gnu.org/licenses/>.
*/ */
/**
* @addtogroup temp-profile
* @{
*/
#ifndef __CONFIG_PARSER_TEMP_PROFILE_PARSER_H__ #ifndef __CONFIG_PARSER_TEMP_PROFILE_PARSER_H__
#define __CONFIG_PARSER_TEMP_PROFILE_PARSER_H__ #define __CONFIG_PARSER_TEMP_PROFILE_PARSER_H__
#include <stdint.h> #include <stdint.h>
#include <linklist-lib/singly-linked-list.h> #include <linklist-lib/singly-linked-list.h>
/**
* @brief Command types the temperature profile language supports
*/
enum pl_command_type { enum pl_command_type {
PL_PID_CONF = 0, PL_PID_CONF = 0, /**< @brief Configure the PID parameters and start PID controller */
PL_SET_TEMP, PL_SET_TEMP, /**< @brief Set the target temperature of the PID controller */
PL_SET_RAMP, PL_SET_RAMP, /**< @brief Perform a temperature ramp */
PL_WAIT_FOR_TEMP, PL_WAIT_FOR_TEMP, /**< @brief Wait until a temperature is reached */
PL_WAIT_FOR_TIME, PL_WAIT_FOR_TIME, /**< @brief Wait for a specific amount of time */
PL_LOUDSPEAKER_SET, PL_LOUDSPEAKER_SET, /**< @brief Set the loudspeaker/beeper */
PL_OFF, PL_OFF, /**< @brief Disable the temperature output and shutdown the PID controller */
PL_CLEAR_FLAGS, PL_CLEAR_FLAGS, /**< @brief Try clear all flags */
_PL_NUM_CMDS, _PL_NUM_CMDS, /**< @brief Sentinel to determine the total amount of commands */
}; };
/**
* @brief Profile language parser return value
*/
enum pl_ret_val { enum pl_ret_val {
PL_RET_SUCCESS = 0, PL_RET_SUCCESS = 0, /**< @brief Profile parsed successfully */
PL_RET_DISK_ERR, PL_RET_DISK_ERR, /**< @brief Disk I/O error */
PL_RET_PARAM_ERR, PL_RET_PARAM_ERR, /**< @brief Function parameter error */
PL_RET_LIST_FULL, PL_RET_LIST_FULL, /**< @brief Command list is full. Temperature profile is longer than the specified maximum */
PL_RET_SCRIPT_ERR, PL_RET_SCRIPT_ERR, /**< @brief Syntax error in temperature profile */
}; };
/**
* @brief Maximum parameter count of a command
*/
#define PROFILE_LANG_MAX_NUM_ARGS (8) #define PROFILE_LANG_MAX_NUM_ARGS (8)
/**
* @brief Structure representing a command in a temperature profile.
*/
struct pl_command { struct pl_command {
enum pl_command_type cmd; enum pl_command_type cmd; /**< @brief Command */
float params[PROFILE_LANG_MAX_NUM_ARGS]; float params[PROFILE_LANG_MAX_NUM_ARGS]; /**< @brief Parameters */
}; };
/** /**
@ -81,3 +98,5 @@ enum pl_ret_val temp_profile_parse_from_file(const char *filename,
void temp_profile_free_command_list(SlList **list); void temp_profile_free_command_list(SlList **list);
#endif /* __CONFIG_PARSER_TEMP_PROFILE_PARSER_H__ */ #endif /* __CONFIG_PARSER_TEMP_PROFILE_PARSER_H__ */
/** @} */