From c3b4fe6b27d22d87a6e22a5dec4f100e2e7be231 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Sun, 24 Dec 2023 20:35:35 +0800 Subject: [PATCH] update --- usrc/hardware.cpp | 12 +++++++++++- usrc/hardware.hpp | 3 ++- usrc/main.cpp | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/usrc/hardware.cpp b/usrc/hardware.cpp index db39fff..a8677c3 100644 --- a/usrc/hardware.cpp +++ b/usrc/hardware.cpp @@ -71,7 +71,8 @@ void setmotor(TMC5130 *motor, int16_t acc_rpm2, int16_t rpm, int16_t idlepower, motor->rotate(ppm); } -void Hardware::initialize() { +void Hardware::initialize(int deviceId) { + m_device_id = deviceId; IO_PD13_IN.initAsInput(PD13, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, false /*mirror*/); IO_PC7_IN.initAsInput(PC7, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, false /*mirror*/); @@ -136,6 +137,15 @@ int32_t Hardware::process_rx_packet(from_where_t fromwhere, uint8_t *packet, int Cmdheader_t *cmdheader = (Cmdheader_t *)packet; /** + * @brief Ping + */ + PROCESS_CMD(kcmd_ping, m_device_id) { + receipt[0] = cmdheader->data[0]; + receiptsize = 1; + return 0; + } + + /** * @brief 获取蒸发仓水浸状态 */ PROCESS_CMD(kcmd_proportional_read_water_immersion_sensor, 0) { diff --git a/usrc/hardware.hpp b/usrc/hardware.hpp index 992f917..be3a8dc 100644 --- a/usrc/hardware.hpp +++ b/usrc/hardware.hpp @@ -4,9 +4,10 @@ namespace iflytop { class Hardware { public: typedef enum { kcan, kuart } from_where_t; + int32_t m_device_id = 0; public: - void initialize(); + void initialize(int deviceId); int32_t process_rx_packet(from_where_t fromwhere, uint8_t *packet, int32_t len, uint8_t *receipt, int32_t &receiptsize, bool &matching); void loop(); }; diff --git a/usrc/main.cpp b/usrc/main.cpp index a278651..099f7e2 100644 --- a/usrc/main.cpp +++ b/usrc/main.cpp @@ -167,7 +167,7 @@ void Main::run() { debuglight.initAsOutput(DEBUG_LIGHT_GPIO, ZGPIO::kMode_nopull, false, false); ZHAL_CORE_REG(200, { debuglight.toggleState(); }); - m_hardware.initialize(); + m_hardware.initialize(DEVICE_ID); static ZUART uartreceiver; static ZUART::cfg_t uartreceiver_cfg = {