You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.1 KiB
44 lines
1.1 KiB
/**
|
|
* @file heating_plate.c
|
|
* @author Finny (tianjialong0106@163.com)
|
|
* @brief
|
|
* @version 0.1
|
|
* @date 2022-09-26
|
|
*
|
|
* @copyright Copyright (c) 2022
|
|
*
|
|
*/
|
|
|
|
#include "heating_plate.h"
|
|
|
|
#define heating_plate_target_temp 48.0
|
|
#define heating_plate_variable_temperature_range 0.5
|
|
|
|
static heating_plate_structer_t *heating_plate_structer_s;
|
|
static get_temp_callback_t get_temp_cb_s;
|
|
|
|
void T_heating_plate_init(heating_plate_structer_t *heating_plate_structer)
|
|
{
|
|
heating_plate_structer_s = heating_plate_structer;
|
|
}
|
|
|
|
void T_heating_plate_registered_cb(get_temp_callback_t cb) { get_temp_cb_s = cb; }
|
|
|
|
void T_heating_plate_start(void) {}
|
|
|
|
void T_heating_plate_stop(void) {}
|
|
|
|
void T_heating_plate_schedule(void)
|
|
{
|
|
if (heating_plate_structer_s->heating_plate_preheat_start_flag)
|
|
{
|
|
if (get_temp_cb_s() >= heating_plate_target_temp + heating_plate_variable_temperature_range)
|
|
{
|
|
T_heating_plate_stop();
|
|
}
|
|
else if (get_temp_cb_s() <= heating_plate_target_temp - heating_plate_variable_temperature_range)
|
|
{
|
|
T_heating_plate_start();
|
|
}
|
|
}
|
|
}
|