From 81e4ce3c882c9b504ab4deb0e2fbbaf8e587d2d0 Mon Sep 17 00:00:00 2001 From: zhaohe <1013909206@qq.com> Date: Thu, 22 Apr 2021 19:07:29 +0800 Subject: [PATCH] update filterbox --- README.md | 24 ++++++++++++++++++++++++ src/main_app.c | 29 +++++++++++++++++++++++++++-- 2 files changed, 51 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ed21a13..f7779f3 100644 --- a/README.md +++ b/README.md @@ -1 +1,25 @@ FilterBox +AT指令说明 + +[toc] + +## 调整消抖延时 + +### 设置指令 +AT+FILTER_TIME_MS=10 + +### 查询指令 +AT+FILTER_TIME_MS? + +## 调整输入输出是否镜像 + +### 设置指令 +AT+IO_MIRROR=0 +AT+IO_MIRROR=1 + +### 查询指令 +AT+IO_MIRROR? + +## 保存配置到FLASH中 +AT+SAVE + diff --git a/src/main_app.c b/src/main_app.c index 3a8ab9b..e68b113 100644 --- a/src/main_app.c +++ b/src/main_app.c @@ -16,7 +16,10 @@ * @return int */ -#define LOG(fmt, ...) printf(fmt "\n", ##__VA_ARGS__) +#define LOG(fmt, ...) \ + { \ + if (s_config.log) printf(fmt "\n", ##__VA_ARGS__); \ + } static uint32_t prvhasPassedMs(uint32_t last) { uint32_t now = HAL_GetTick(); @@ -36,8 +39,10 @@ typedef struct { uint32_t filterTime; bool echo; bool mirror; + bool log; } Config_t; -static Config_t s_config = {.filterTime = 1, .echo = true, .mirror = false}; +static Config_t s_config = { + .filterTime = 1, .echo = true, .mirror = false, .log = false}; uint32_t prv_get_filter_time() { return s_config.filterTime; } void prv_set_filter_time(uint32_t filtertime) { s_config.filterTime = filtertime; @@ -146,6 +151,24 @@ bool processIOMirrorOrder(at_ordertype_t type, const char* order_name, } return false; } +bool processLOGOrder(at_ordertype_t type, const char* order_name, + const char* order_val) { + if (type == kat_order) { + return false; + } else if (type == kat_showinfo) { + printf("%d\r\n", s_config.log); + return true; + } else if (type == kat_set) { + if (order_val == NULL) return false; + int orderval = atoi(order_val); + if (orderval > 0) + s_config.log = 1; + else + s_config.log = 0; + return true; + } + return false; +} bool processSaveOrder(at_ordertype_t type, const char* order_name, const char* order_val) { if (type == kat_order) { @@ -196,6 +219,8 @@ void processOrder(char* atorder, int num) { success = processIOMirrorOrder(type, order_name, order_val); } else if (str_is_eq("SAVE", order_name)) { success = processSaveOrder(type, order_name, order_val); + } else if (str_is_eq("LOG", order_name)) { + success = processLOGOrder(type, order_name, order_val); } else { success = false; }