From 74516c3308422c3a73853b6aa925d0d38a526eef Mon Sep 17 00:00:00 2001 From: zhaohe Date: Fri, 28 Jul 2023 15:36:34 +0800 Subject: [PATCH] update --- .../iflytop_can_slave_modules/device_base_control_service.hpp | 3 ++- components/iflytop_can_slave_v1/iflytop_can_slave.cpp | 11 ++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/components/iflytop_can_slave_modules/device_base_control_service.hpp b/components/iflytop_can_slave_modules/device_base_control_service.hpp index 3ed37b6..5e66e30 100644 --- a/components/iflytop_can_slave_modules/device_base_control_service.hpp +++ b/components/iflytop_can_slave_modules/device_base_control_service.hpp @@ -31,7 +31,8 @@ class DeviceBaseControlService : public IflytopCanProtocolStackProcesserListener void initialize(IflytopCanProtocolStackProcesser* protocol_processer, uint8_t deviceId); void setListener(SetEngineerModeCallback_t listener) { m_listener = listener; } - virtual bool isThisRegOwnToMe(IflytopCanProtocolStackProcesser* processer, icps::Reg_t* reg); + virtual bool isThisRegOwnToMe(IflytopCanProtocolStackProcesser* processer, icps::Reg_t* reg); + virtual icps::error_t onHostRegisterWriteEvent(IflytopCanProtocolStackProcesser* processer, IflytopCanProtocolStackWriteEvent* writeEvent); private: diff --git a/components/iflytop_can_slave_v1/iflytop_can_slave.cpp b/components/iflytop_can_slave_v1/iflytop_can_slave.cpp index c1010c0..b40ddda 100644 --- a/components/iflytop_can_slave_v1/iflytop_can_slave.cpp +++ b/components/iflytop_can_slave_v1/iflytop_can_slave.cpp @@ -23,7 +23,8 @@ IflytopCanProtocolStackProcesser::IflytopCanProtocolStackProcesser() { IflytopCanProtocolStackProcesser::cfg_t *IflytopCanProtocolStackProcesser::createDefaultConfig(uint16_t deviceId, // uint16_t regListSize) { - cfg_t *config = (cfg_t *)malloc(sizeof(cfg_t)); + cfg_t *config = (cfg_t *)malloc(sizeof(cfg_t)); + ZASSERT(config != NULL); config->deviceId = deviceId; #ifdef STM32F103xB config->canHandle = &hcan; @@ -34,8 +35,10 @@ IflytopCanProtocolStackProcesser::cfg_t *IflytopCanProtocolStackProcesser::creat config->canFilterIndex1 = 1; config->maxFilterNum = 7; config->rxfifoNum = CAN_RX_FIFO0; - config->m_regList = (icps::Reg_t *)malloc(sizeof(icps::Reg_t) * regListSize); - config->m_regListSize = regListSize; + config->m_regList = (icps::Reg_t *)calloc(1, sizeof(icps::Reg_t) * regListSize); + + ZASSERT(config->m_regList != NULL); + config->m_regListSize = regListSize; return config; } icps::Reg_t *IflytopCanProtocolStackProcesser::activeReg(uint16_t mappingAdd, uint16_t mask, int32_t defaultValue) { @@ -106,6 +109,8 @@ void IflytopCanProtocolStackProcesser::initialize(cfg_t *config) { ZLOGE(TAG, "activateRxIT fail\r\n"); return; } + + ZHALCORE::getInstance()->regPeriodJob([this](ZHALCORE::Context &context) { periodicJob(); }, 0); } void IflytopCanProtocolStackProcesser::registerListener( // IflytopCanProtocolStackProcesserListener *listener) { //