diff --git a/modbus/modbus_block_host.cpp b/modbus/modbus_block_host.cpp index fda126e..6c44133 100644 --- a/modbus/modbus_block_host.cpp +++ b/modbus/modbus_block_host.cpp @@ -14,6 +14,8 @@ void ModbusBlockHost::initialize(UART_HandleTypeDef *huart) { this->huart = huart; m_modbus_lock.init(); } +void ModbusBlockHost::enableDump(bool enable) { m_dump = enable; } + void ModbusBlockHost::cleanRxBuff() { // HAL_StatusTypeDef status; do { @@ -23,13 +25,13 @@ void ModbusBlockHost::cleanRxBuff() { // void ModbusBlockHost::uarttx(uint8_t *buff, size_t len) { ZASSERT(len < sizeof(txbuff)); -#if PRV_DEBUG - printf("uart_tx:\n"); - for (size_t i = 0; i < len; i++) { - printf("%02x ", buff[i]); + if (m_dump) { + printf("uart_tx:\n"); + for (size_t i = 0; i < len; i++) { + printf("%02x ", buff[i]); + } + printf("\n"); } - printf("\n"); -#endif // HAL_UART_Transmit(huart, buff, len, 1000); HAL_UART_DMAStop(huart); HAL_StatusTypeDef ret = HAL_UART_Transmit_DMA(huart, buff, len); @@ -54,15 +56,15 @@ bool ModbusBlockHost::uartrx(uint8_t *buff, size_t len, int overtimems) { for (size_t i = 0; i < overtimems; i++) { osDelay(3); if (HAL_UART_GetState(huart) == HAL_UART_STATE_READY) { -#if PRV_DEBUG - if (status == HAL_OK) { - printf("uart_rx:"); - for (size_t i = 0; i < len; i++) { - printf("%02x ", buff[i]); + if (m_dump) { + if (status == HAL_OK) { + printf("uart_rx:"); + for (size_t i = 0; i < len; i++) { + printf("%02x ", buff[i]); + } + printf("\n"); } - printf("\n"); } -#endif return true; } } diff --git a/modbus/modbus_block_host.hpp b/modbus/modbus_block_host.hpp index 52d67be..e5b6736 100644 --- a/modbus/modbus_block_host.hpp +++ b/modbus/modbus_block_host.hpp @@ -1,7 +1,7 @@ #pragma once // -#include "stm32basic/zbasic.h" #include "stm32basic/stm32basic.hpp" +#include "stm32basic/zbasic.h" namespace iflytop { class ModbusBlockHost { @@ -11,12 +11,14 @@ class ModbusBlockHost { uint8_t rxbuff[100]; zmutex m_modbus_lock; + bool m_dump= false; public: ModbusBlockHost(); ~ModbusBlockHost(); void initialize(UART_HandleTypeDef *huart); + void enableDump(bool enable); bool readReg03(uint8_t slaveAddr, uint16_t regAddr, uint16_t *regVal, int overtimems); bool readReg03Muti(uint8_t slaveAddr, uint16_t regAddr, uint16_t *regVal, int regNum, int overtimems);