From 5c4bc55853036aaf2218d4f9ef0d5e087c659cb5 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Wed, 23 Aug 2023 15:30:06 +0800 Subject: [PATCH] update --- chip/basic/logger.cpp | 7 ++----- chip/chip.hpp | 4 ++-- chip/chip_tim_irq_shceduler.hpp | 4 ++-- chip/irq_dispatcher.cpp | 18 ------------------ chip/irq_dispatcher.hpp | 24 ------------------------ chip/zcan_irq_dispatcher.cpp | 2 +- chip/zirq_dispatcher.cpp | 21 +++++++++++++++++++++ chip/zirq_dispatcher.hpp | 24 ++++++++++++++++++++++++ chip/ztim.cpp | 2 +- os/mutex.hpp | 7 ------- os/zos.hpp | 4 +--- 11 files changed, 54 insertions(+), 63 deletions(-) delete mode 100644 chip/irq_dispatcher.cpp delete mode 100644 chip/irq_dispatcher.hpp create mode 100644 chip/zirq_dispatcher.cpp create mode 100644 chip/zirq_dispatcher.hpp diff --git a/chip/basic/logger.cpp b/chip/basic/logger.cpp index 139cc36..5e6cde4 100644 --- a/chip/basic/logger.cpp +++ b/chip/basic/logger.cpp @@ -1,8 +1,8 @@ #include "logger.hpp" - extern "C" { - +static zchip_uart_t* m_huart; +bool g_enable_log = true; /********************************************************************* * @fn _write * @@ -24,9 +24,6 @@ __attribute__((used)) int _write(int fd, char* buf, int size) { return size; } -static zchip_uart_t* m_huart; -bool g_enable_log = true; - void zchip_loggger_init(zchip_uart_t* huart) { m_huart = huart; } void zchip_loggger_enable(bool enable) { g_enable_log = enable; } } diff --git a/chip/chip.hpp b/chip/chip.hpp index e1e2254..b9bdcb6 100644 --- a/chip/chip.hpp +++ b/chip/chip.hpp @@ -1,8 +1,8 @@ #pragma once #include "chip_tim_irq_shceduler.hpp" -#include "irq_dispatcher.hpp" -#include "zcan_irq_dispatcher.hpp" +#include "zirq_dispatcher.hpp" +#include "zcan_zirq_dispatcher.hpp" #include "zgpio.hpp" #include "ztim.hpp" #include "zuart.hpp" diff --git a/chip/chip_tim_irq_shceduler.hpp b/chip/chip_tim_irq_shceduler.hpp index 4d1c437..41b0e00 100644 --- a/chip/chip_tim_irq_shceduler.hpp +++ b/chip/chip_tim_irq_shceduler.hpp @@ -4,14 +4,14 @@ #include #include "basic/base.hpp" -#include "irq_dispatcher.hpp" +#include "zirq_dispatcher.hpp" namespace iflytop { using namespace std; class ChipTimIrqShceduler { private: - ChipTimIrqShceduler(){}; + ChipTimIrqShceduler(); public: class Cfg { diff --git a/chip/irq_dispatcher.cpp b/chip/irq_dispatcher.cpp deleted file mode 100644 index caec7ac..0000000 --- a/chip/irq_dispatcher.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include "irq_dispatcher.hpp" - -using namespace iflytop; -using namespace std; - -extern "C" { -void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim) { ZIRQDispatcher::instance()._callOnTimIrq(htim); } -} - -ZIRQDispatcher &ZIRQDispatcher::instance() {} - -void ZIRQDispatcher::regTimIrqListener(ontimirq_t listener) { m_ontimirqs.push_back(listener); } - -void ZIRQDispatcher::_callOnTimIrq(zchip_tim_t *tim) { - for (auto &listener : m_ontimirqs) { - listener(tim); - } -} \ No newline at end of file diff --git a/chip/irq_dispatcher.hpp b/chip/irq_dispatcher.hpp deleted file mode 100644 index 66dc700..0000000 --- a/chip/irq_dispatcher.hpp +++ /dev/null @@ -1,24 +0,0 @@ -#pragma once -#include -#include - -#include "basic/base.hpp" - -namespace iflytop { -using namespace std; -class ZIRQDispatcher { - public: - typedef function ontimirq_t; - - list m_ontimirqs; - - public: - static ZIRQDispatcher &instance(); - - void regTimIrqListener(ontimirq_t listener); - - public: - void _callOnTimIrq(zchip_tim_t *tim); -}; - -} // namespace iflytop \ No newline at end of file diff --git a/chip/zcan_irq_dispatcher.cpp b/chip/zcan_irq_dispatcher.cpp index 4010e55..92bd80e 100644 --- a/chip/zcan_irq_dispatcher.cpp +++ b/chip/zcan_irq_dispatcher.cpp @@ -1,4 +1,4 @@ -#include "zcan_irq_dispatcher.hpp" +#include "zcan_zirq_dispatcher.hpp" #ifdef HAL_CAN_MODULE_ENABLED extern "C" { diff --git a/chip/zirq_dispatcher.cpp b/chip/zirq_dispatcher.cpp new file mode 100644 index 0000000..f345f52 --- /dev/null +++ b/chip/zirq_dispatcher.cpp @@ -0,0 +1,21 @@ +#include "zirq_dispatcher.hpp" + +using namespace iflytop; +using namespace std; + +extern "C" { +void HAL_TIM_TriggerCallback(TIM_HandleTypeDef *htim) { ZIRQDispatcher::instance()._callOnTimIrq(htim); } +} + +ZIRQDispatcher &ZIRQDispatcher::instance() { + static ZIRQDispatcher instance; + return instance; +} + +void ZIRQDispatcher::regTimIrqListener(ontimirq_t listener) { m_ontimirqs.push_back(listener); } + +void ZIRQDispatcher::_callOnTimIrq(zchip_tim_t *tim) { + for (auto &listener : m_ontimirqs) { + listener(tim); + } +} \ No newline at end of file diff --git a/chip/zirq_dispatcher.hpp b/chip/zirq_dispatcher.hpp new file mode 100644 index 0000000..66dc700 --- /dev/null +++ b/chip/zirq_dispatcher.hpp @@ -0,0 +1,24 @@ +#pragma once +#include +#include + +#include "basic/base.hpp" + +namespace iflytop { +using namespace std; +class ZIRQDispatcher { + public: + typedef function ontimirq_t; + + list m_ontimirqs; + + public: + static ZIRQDispatcher &instance(); + + void regTimIrqListener(ontimirq_t listener); + + public: + void _callOnTimIrq(zchip_tim_t *tim); +}; + +} // namespace iflytop \ No newline at end of file diff --git a/chip/ztim.cpp b/chip/ztim.cpp index 95d6d37..45fa07b 100644 --- a/chip/ztim.cpp +++ b/chip/ztim.cpp @@ -1,6 +1,6 @@ #include "ztim.hpp" -#include "irq_dispatcher.hpp" +#include "zirq_dispatcher.hpp" using namespace iflytop; void ZTIM::initialize(zchip_tim_t *htim, mode_t mode) { diff --git a/os/mutex.hpp b/os/mutex.hpp index 962403c..1c3b942 100644 --- a/os/mutex.hpp +++ b/os/mutex.hpp @@ -26,11 +26,4 @@ class zlock_guard { ~zlock_guard(); }; -class CriticalContext { - public: - CriticalContext(); - ~CriticalContext(); -}; -#define ZCriticalContext CriticalContext - } // namespace iflytop \ No newline at end of file diff --git a/os/zos.hpp b/os/zos.hpp index 31e47c6..2313a58 100644 --- a/os/zos.hpp +++ b/os/zos.hpp @@ -2,8 +2,6 @@ // #include "osbasic_h.hpp" // -#include "oscppdep.hpp" -// #include "delay.hpp" // #include "mutex.hpp" @@ -16,4 +14,4 @@ typedef struct { } zos_cfg_t; void zos_init(zos_cfg_t* cfg); -} \ No newline at end of file +}