/* Reflow Oven Controller * * Copyright (C) 2021 Mario Hüttel * * This file is part of the Reflow Oven Controller Project. * * The reflow oven controller is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * The Reflow Oven Control Firmware is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with the reflow oven controller project. * If not, see . */ #ifndef __CONFIG_PARSER_TEMP_PROFILE_PARSER_H__ #define __CONFIG_PARSER_TEMP_PROFILE_PARSER_H__ #include 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_NUM_CMDS, }; enum pl_ret_val { PL_RET_SUCCESS = 0, PL_RET_DISK_ERR, PL_RET_PARAM_ERR, PL_RET_LIST_FULL, PL_RET_SCRIPT_ERR, }; struct pl_error { const char *errormsg; uint32_t line; uint32_t column; }; struct pl_command { enum pl_command_type cmd; float params[8]; }; enum pl_ret_val temp_profile_parse_from_file(const char *filename, struct pl_command *cmd_list, uint32_t cmd_list_length, struct pl_error *error, uint32_t *cmds_parsed); #endif /* __CONFIG_PARSER_TEMP_PROFILE_PARSER_H__ */