diff --git a/stm-firmware/include/reflow-controller/temp-profile/temp-profile-parser.h b/stm-firmware/include/reflow-controller/temp-profile/temp-profile-parser.h index 08a117c..a6f4c40 100644 --- a/stm-firmware/include/reflow-controller/temp-profile/temp-profile-parser.h +++ b/stm-firmware/include/reflow-controller/temp-profile/temp-profile-parser.h @@ -18,37 +18,54 @@ * If not, see . */ +/** + * @addtogroup temp-profile + * @{ + */ + #ifndef __CONFIG_PARSER_TEMP_PROFILE_PARSER_H__ #define __CONFIG_PARSER_TEMP_PROFILE_PARSER_H__ #include #include +/** + * @brief Command types the temperature profile language supports + */ enum pl_command_type { - PL_PID_CONF = 0, - PL_SET_TEMP, - PL_SET_RAMP, - PL_WAIT_FOR_TEMP, - PL_WAIT_FOR_TIME, - PL_LOUDSPEAKER_SET, - PL_OFF, - PL_CLEAR_FLAGS, - _PL_NUM_CMDS, + PL_PID_CONF = 0, /**< @brief Configure the PID parameters and start PID controller */ + PL_SET_TEMP, /**< @brief Set the target temperature of the PID controller */ + PL_SET_RAMP, /**< @brief Perform a temperature ramp */ + PL_WAIT_FOR_TEMP, /**< @brief Wait until a temperature is reached */ + PL_WAIT_FOR_TIME, /**< @brief Wait for a specific amount of time */ + PL_LOUDSPEAKER_SET, /**< @brief Set the loudspeaker/beeper */ + PL_OFF, /**< @brief Disable the temperature output and shutdown the PID controller */ + PL_CLEAR_FLAGS, /**< @brief Try clear all flags */ + _PL_NUM_CMDS, /**< @brief Sentinel to determine the total amount of commands */ }; +/** + * @brief Profile language parser return value + */ enum pl_ret_val { - PL_RET_SUCCESS = 0, - PL_RET_DISK_ERR, - PL_RET_PARAM_ERR, - PL_RET_LIST_FULL, - PL_RET_SCRIPT_ERR, + PL_RET_SUCCESS = 0, /**< @brief Profile parsed successfully */ + PL_RET_DISK_ERR, /**< @brief Disk I/O error */ + PL_RET_PARAM_ERR, /**< @brief Function parameter error */ + PL_RET_LIST_FULL, /**< @brief Command list is full. Temperature profile is longer than the specified maximum */ + PL_RET_SCRIPT_ERR, /**< @brief Syntax error in temperature profile */ }; +/** + * @brief Maximum parameter count of a command + */ #define PROFILE_LANG_MAX_NUM_ARGS (8) +/** + * @brief Structure representing a command in a temperature profile. + */ struct pl_command { - enum pl_command_type cmd; - float params[PROFILE_LANG_MAX_NUM_ARGS]; + enum pl_command_type cmd; /**< @brief Command */ + 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); #endif /* __CONFIG_PARSER_TEMP_PROFILE_PARSER_H__ */ + +/** @} */