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.
 
 
 

39 lines
1.0 KiB

#pragma once
#include "base/appdep.hpp"
namespace iflytop {
using namespace transmit_disfection_protocol;
class HeaterController {
ZGPIO m_ctrlGpio;
ZADC m_iAdc;
ZADC m_tempAdc;
bool m_isInitialized = false;
public:
void initialize(Pin_t ctrlGpio, ADC_HandleTypeDef* iadc, uint32_t ich, ADC_HandleTypeDef* tadc, uint32_t tch);
bool isInitialized();
void heater_ctrl(int32_t val);
void heater_ctrl_safe_valve(int32_t val);
int32_t heater_read_temperature_data();
int32_t heater_read_ei();
int32_t heater_read_iadc();
int32_t heater_read_tadc();
// PP
void fn_heater_ctrl(ProcessContext* cxt);
void fn_heater_ctrl_safe_valve(ProcessContext* cxt);
void fn_heater_read_ei(ProcessContext* cxt);
void fn_heater_read_temperature_data(ProcessContext* cxt);
void fn_heater_read_ei_adc_raw(ProcessContext* cxt);
void fn_heater_read_temperature_data_adc_raw(ProcessContext* cxt);
void fn_heater_is_open(ProcessContext* cxt);
private:
void periodTask();
};
} // namespace iflytop