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__ */
+
+/** @} */