|
|
@ -34,6 +34,7 @@ class Main : public HardwareListener, // |
|
|
|
void main(int argc, char const *argv[]); |
|
|
|
|
|
|
|
void initializeIflytopCanProtocolStackProcesser(); |
|
|
|
void updateRegList(); |
|
|
|
|
|
|
|
/*******************************************************************************
|
|
|
|
* override HardwareListener * |
|
|
@ -127,12 +128,12 @@ icps::error_t Main::IflytopCanProtocolStack_onHostRegisterWriteEvent( // |
|
|
|
} |
|
|
|
|
|
|
|
icps::error_t Main::IflytopCanProtocolStack_onHostRegisterReadEvent( //
|
|
|
|
icps::Reg_t *reg, int32_t &value) { //
|
|
|
|
icps::Reg_t *reg, int32_t &value) { //
|
|
|
|
return icps::kSuccess; |
|
|
|
} |
|
|
|
|
|
|
|
void Main::IflytopCanProtocolStack_onRegisterValueAutoReportEvent( //
|
|
|
|
icps::Reg_t *reg, int32_t &value) { //
|
|
|
|
icps::Reg_t *reg, int32_t &value) { //
|
|
|
|
} |
|
|
|
|
|
|
|
void Main::initializeIflytopCanProtocolStackProcesser() { |
|
|
@ -169,6 +170,27 @@ void Main::initializeIflytopCanProtocolStackProcesser() { |
|
|
|
ACTIVE_REG(REG_TEMPERATURE_CTRL_SENSOR4_TEMPERATURE /* */, icps::kr, 0); |
|
|
|
} |
|
|
|
|
|
|
|
#define UPDATE_REG(reg, value, periodms) \
|
|
|
|
{ \ |
|
|
|
static uint32_t lastReportTicket = 0; \ |
|
|
|
if (m_hardware.hasPassedMS(lastReportTicket) > periodms) { \ |
|
|
|
lastReportTicket = m_hardware.getTicket(); \ |
|
|
|
m_protocolStack.writeRegValue(reg, value, false); \ |
|
|
|
} \ |
|
|
|
} |
|
|
|
|
|
|
|
void Main::updateRegList() { //
|
|
|
|
UPDATE_REG(REG_TEMPERATURE_CTRL_MAIN_FAN_SPEED, m_hardware.fanReadState4(), 1000); |
|
|
|
UPDATE_REG(REG_TEMPERATURE_CTRL_SUB_FAN_SPEED, m_hardware.fanReadState0to3(), 1000); |
|
|
|
UPDATE_REG(REG_TEMPERATURE_CTRL_HEAT_TEMPERATURE, 0, 1000); |
|
|
|
UPDATE_REG(REG_TEMPERATURE_CTRL_REAL_OUTPUT, m_hardware.peltier_get_pwm(), 33); |
|
|
|
UPDATE_REG(REG_TEMPERATURE_CTRL_FILTERED_TEMPERATURE, m_tempCtrl.getTemperature(), 1000); |
|
|
|
UPDATE_REG(REG_TEMPERATURE_CTRL_SENSOR1_TEMPERATURE, m_hardware.temperature_get_temp(0) * 100, 1000); |
|
|
|
UPDATE_REG(REG_TEMPERATURE_CTRL_SENSOR2_TEMPERATURE, m_hardware.temperature_get_temp(1) * 100, 1000); |
|
|
|
UPDATE_REG(REG_TEMPERATURE_CTRL_SENSOR3_TEMPERATURE, m_hardware.temperature_get_temp(2) * 100, 1000); |
|
|
|
UPDATE_REG(REG_TEMPERATURE_CTRL_SENSOR4_TEMPERATURE, m_hardware.temperature_get_temp(3) * 100, 1000); |
|
|
|
} |
|
|
|
|
|
|
|
void Main::main(int argc, char const *argv[]) { |
|
|
|
sys_loggger_enable(true); |
|
|
|
ZLOGI(TAG, "VERSION:%s", VERSION); |
|
|
@ -187,6 +209,7 @@ void Main::main(int argc, char const *argv[]) { |
|
|
|
|
|
|
|
while (true) { |
|
|
|
m_hardware.periodicJob(); |
|
|
|
updateRegList(); |
|
|
|
} |
|
|
|
} |
|
|
|
static Main mainObject; |
|
|
|