From 6331af18b3e58d1e106f51b6dc28196a87bbf161 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Thu, 22 Aug 2024 21:14:42 +0800 Subject: [PATCH] init proj --- .../preportional_valve/preportional_valve_ctrl.cpp | 1 - .../preportional_valve/preportional_valve_ctrl.hpp | 1 - usrc/app_main.cpp | 63 ++++----------------- usrc/appdep.hpp | 4 ++ usrc/apppublic/boardid.cpp | 14 +++++ usrc/apppublic/boardid.hpp | 14 +++++ usrc/base/appdep.hpp | 16 ------ usrc/base/appthread/app_period_task_mgr.cpp | 53 ------------------ usrc/base/appthread/app_period_task_mgr.hpp | 44 --------------- usrc/base/appthread/work_queue.cpp | 2 - usrc/base/appthread/work_queue.hpp | 32 ----------- usrc/base/config_service.cpp | 37 ------------- usrc/base/config_service.hpp | 17 ------ usrc/base/device_info.cpp | 8 --- usrc/base/device_info.hpp | 17 ------ usrc/base/gflag/gflag.c | 21 ------- usrc/base/gflag/gflag.h | 27 --------- usrc/base/protocol_processer_mgr.cpp | 64 ---------------------- usrc/base/protocol_processer_mgr.hpp | 27 --------- usrc/base/protocol_processer_utils.hpp | 51 ----------------- usrc/base/utils/halutils.cpp | 0 usrc/base/utils/halutils.hpp | 49 ----------------- usrc/project_configs.h | 22 ++++---- 23 files changed, 52 insertions(+), 532 deletions(-) create mode 100644 usrc/appdep.hpp create mode 100644 usrc/apppublic/boardid.cpp create mode 100644 usrc/apppublic/boardid.hpp delete mode 100644 usrc/base/appdep.hpp delete mode 100644 usrc/base/appthread/app_period_task_mgr.cpp delete mode 100644 usrc/base/appthread/app_period_task_mgr.hpp delete mode 100644 usrc/base/appthread/work_queue.cpp delete mode 100644 usrc/base/appthread/work_queue.hpp delete mode 100644 usrc/base/config_service.cpp delete mode 100644 usrc/base/config_service.hpp delete mode 100644 usrc/base/device_info.cpp delete mode 100644 usrc/base/device_info.hpp delete mode 100644 usrc/base/gflag/gflag.c delete mode 100644 usrc/base/gflag/gflag.h delete mode 100644 usrc/base/protocol_processer_mgr.cpp delete mode 100644 usrc/base/protocol_processer_mgr.hpp delete mode 100644 usrc/base/protocol_processer_utils.hpp delete mode 100644 usrc/base/utils/halutils.cpp delete mode 100644 usrc/base/utils/halutils.hpp diff --git a/ucomponents/preportional_valve/preportional_valve_ctrl.cpp b/ucomponents/preportional_valve/preportional_valve_ctrl.cpp index b00e913..57f1232 100644 --- a/ucomponents/preportional_valve/preportional_valve_ctrl.cpp +++ b/ucomponents/preportional_valve/preportional_valve_ctrl.cpp @@ -1,6 +1,5 @@ #include "preportional_valve_ctrl.hpp" -#include "transmit_disfection_protocol/transmit_disfection_protocol.hpp" using namespace iflytop; using namespace zscanprotocol; diff --git a/ucomponents/preportional_valve/preportional_valve_ctrl.hpp b/ucomponents/preportional_valve/preportional_valve_ctrl.hpp index a7d3184..63c676c 100644 --- a/ucomponents/preportional_valve/preportional_valve_ctrl.hpp +++ b/ucomponents/preportional_valve/preportional_valve_ctrl.hpp @@ -2,7 +2,6 @@ #include #include -#include "base/config_service.hpp" #include "stm32components/modbus/modbus_block_host.hpp" #include "stm32basic/stm32basic.hpp" #include "stm32components/stm32components.hpp" diff --git a/usrc/app_main.cpp b/usrc/app_main.cpp index df0742a..f8417d0 100644 --- a/usrc/app_main.cpp +++ b/usrc/app_main.cpp @@ -1,48 +1,17 @@ #include #include // -#include "base/appdep.hpp" - -// -#include "base/protocol_processer_mgr.hpp" -// +#include "appdep.hpp" #define TAG "main" -using namespace iflytop; - extern void umain(); extern "C" { -void StartDefaultTask(void const* argument) { umain(); } +void StartDefaultTask(void const *argument) { umain(); } } /******************************************************************************* * MAIN * *******************************************************************************/ -extern "C" { -// void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { -// } -} - -// void debug_light_ctrl() { -// static uint32_t lastcall = 0; -// static bool light_status = false; - -// if (!gInitErrorFlag) { -// if (zhas_passedms(lastcall) > 300) { -// PublicBoard::ins()->toggleDebugLight(); -// lastcall = zget_ticket(); -// } -// } else { -// if (zhas_passedms(lastcall) > 30) { -// PublicBoard::ins()->toggleDebugLight(); -// lastcall = zget_ticket(); -// } -// } -// } - - -#define REG_PROCESSER(processer) ProtocolProcesserMgr::ins()->regProcesser(processer); - /* IWDG init function */ void MX_IWDG_Init(void) { hiwdg.Instance = IWDG; @@ -53,27 +22,15 @@ void MX_IWDG_Init(void) { } } -void umain() { - gBoardFlagSetResetFlag(); - - deviceInfo_init(); - config_init(); - AppPeriodTaskMgr::ins()->initialize(); - - ZLOGI(TAG, "======================= boardinfo ==================== "); - ZLOGI(TAG, "project : %s ", PROJECT); - ZLOGI(TAG, "version : %d ", SOFTWARE_VERSION); - ZLOGI(TAG, "pversion : %d", deviceInfo_getProtocolVersion()); - ZLOGI(TAG, "sn : %s", sn_get_str()); - ZLOGI(TAG, "="); - - - AppPeriodTaskMgr::ins()->startScheduler(); +int32_t getDeviceIdFromFlash() { + int32_t *deviceId = (int32_t *)BOARD_TYPE_ID_FLASH_ADD; + if (*deviceId <= 0) { + return 0; + } + return *deviceId; +} - ZLOGI(TAG, "======================= sysinfo ======================= "); - SysMgr::ins()->initedFinished(); - SysMgr::ins()->dumpSysInfo(); - ZLOGI(TAG, "="); +void umain() { MX_IWDG_Init(); while (true) { osDelay(30); diff --git a/usrc/appdep.hpp b/usrc/appdep.hpp new file mode 100644 index 0000000..2a3b287 --- /dev/null +++ b/usrc/appdep.hpp @@ -0,0 +1,4 @@ +#pragma once +#include "ucomponents/ucomponents.hpp" +#include "stm32halport/stm32halport.hpp" +#include "stm32basic/stm32basic.hpp" \ No newline at end of file diff --git a/usrc/apppublic/boardid.cpp b/usrc/apppublic/boardid.cpp new file mode 100644 index 0000000..fe67826 --- /dev/null +++ b/usrc/apppublic/boardid.cpp @@ -0,0 +1,14 @@ +#pragma once +#include "boardid.hpp" + +#include "appdep.hpp" +#include "project_configs.h" +using namespace iflytop; + +boardid::id_t BoardId_get() { + int32_t *deviceId = (int32_t *)BOARD_TYPE_ID_FLASH_ADD; + if (*deviceId <= 0) { + return boardid::kunsupport; + } + return (boardid::id_t)*deviceId; +} diff --git a/usrc/apppublic/boardid.hpp b/usrc/apppublic/boardid.hpp new file mode 100644 index 0000000..3d6b80e --- /dev/null +++ b/usrc/apppublic/boardid.hpp @@ -0,0 +1,14 @@ +#pragma once +#include "appdep.hpp" +namespace iflytop { +namespace boardid { +typedef enum { + kunsupport = 0, + kbmainboard = 1, + kvalveboard = 2, +} id_t; +} + +boardid::id_t BoardId_get(); + +} // namespace iflytop diff --git a/usrc/base/appdep.hpp b/usrc/base/appdep.hpp deleted file mode 100644 index b654211..0000000 --- a/usrc/base/appdep.hpp +++ /dev/null @@ -1,16 +0,0 @@ -#pragma once -#include -#include - -#include "project_configs.h" -// -#include "stm32basic/stm32basic.hpp" -#include "stm32components/stm32components.hpp" -#include "ucomponents/ucomponents.hpp" -// -#include "appthread/app_period_task_mgr.hpp" -#include "device_info.hpp" -#include "gflag/gflag.h" -#include "protocol_processer_mgr.hpp" -#include "transmit_disfection_protocol/transmit_disfection_protocol.hpp" -#include "utils/halutils.hpp" diff --git a/usrc/base/appthread/app_period_task_mgr.cpp b/usrc/base/appthread/app_period_task_mgr.cpp deleted file mode 100644 index 29d307f..0000000 --- a/usrc/base/appthread/app_period_task_mgr.cpp +++ /dev/null @@ -1,53 +0,0 @@ -#include "app_period_task_mgr.hpp" -using namespace iflytop; -static osThreadId appPeriodTaskId; - -#define TAG "AppPeriodTaskMgr" - -static int32_t haspassedms(uint32_t tp) { - uint32_t now = HAL_GetTick(); - if (now >= tp) { - return now - tp; - } else { - return 0xFFFFFFFF - tp + now; - } -} - -static void c_onappPeriodTaskThread(void const* argument) { AppPeriodTaskMgr::ins()->onThreadCB(); } - -void AppPeriodTaskMgr::initialize() {} - -void AppPeriodTaskMgr::regTask(const char* name, task_fn_t fn, void* cxt, int period) { - task[ntask].fn = fn; - task[ntask].taskname = name; - task[ntask].cxt = cxt; - task[ntask].period = period; - task[ntask].lastcalltp = HAL_GetTick(); - ZLOGI(TAG, "reg task %s", name); - ntask++; -} -void AppPeriodTaskMgr::regTask(const char* name, std::function fn, int period) { - task[ntask].exfn = fn; - task[ntask].taskname = name; - task[ntask].period = period; - task[ntask].lastcalltp = HAL_GetTick(); - ZLOGI(TAG, "reg task %s", name); - ntask++; -} - -void AppPeriodTaskMgr::onThreadCB() { - while (true) { - for (int i = 0; i < ntask; i++) { - if (haspassedms(task[i].lastcalltp) >= task[i].period) { - if (task[i].fn) task[i].fn(task[i].cxt); - if (task[i].exfn) task[i].exfn(); - task[i].lastcalltp = HAL_GetTick(); - } - } - osDelay(5); - } -} -void AppPeriodTaskMgr::startScheduler() { - osThreadDef(appPeriodTask, c_onappPeriodTaskThread, osPriorityNormal, 0, 1024); - appPeriodTaskId = osThreadCreate(osThread(appPeriodTask), NULL); -} diff --git a/usrc/base/appthread/app_period_task_mgr.hpp b/usrc/base/appthread/app_period_task_mgr.hpp deleted file mode 100644 index 27cbf4e..0000000 --- a/usrc/base/appthread/app_period_task_mgr.hpp +++ /dev/null @@ -1,44 +0,0 @@ -#pragma once - -#include -#include - -#include - -#include "stm32basic/stm32basic.hpp" -#include "stm32halport/stm32halport.hpp" -// -namespace iflytop { - -typedef void (*task_fn_t)(void*); - -typedef struct { - task_fn_t fn; - std::function exfn; - const char* taskname; - void* cxt; - int period; - int32_t lastcalltp; -} task_t; - -class AppPeriodTaskMgr { - private: - task_t task[20] = {0}; - int ntask = 0; - - public: - static AppPeriodTaskMgr* ins() { - static AppPeriodTaskMgr instance; - return &instance; - } - - void initialize(); - void regTask(const char* name, task_fn_t fn, void* cxt, int period); - void regTask(const char* name, std::function fn, int period); - void onThreadCB(); - void startScheduler(); - - // shceduler -}; - -} // namespace iflytop \ No newline at end of file diff --git a/usrc/base/appthread/work_queue.cpp b/usrc/base/appthread/work_queue.cpp deleted file mode 100644 index 8295845..0000000 --- a/usrc/base/appthread/work_queue.cpp +++ /dev/null @@ -1,2 +0,0 @@ -#include "work_queue.hpp" - diff --git a/usrc/base/appthread/work_queue.hpp b/usrc/base/appthread/work_queue.hpp deleted file mode 100644 index 9565c54..0000000 --- a/usrc/base/appthread/work_queue.hpp +++ /dev/null @@ -1,32 +0,0 @@ -#pragma once -#if 0 -#include -#include - -#include - -#include "cmsis_os.h" -#include "stm32halport/stm32halport.hpp" -// -namespace iflytop { -using namespace std; - -typedef void(work_fn_t)(void*); - -typedef struct { - work_fn_t fn; - void* cxt; -} work_t; - -class WorkQueue { - private: - /* data */ - static osThreadId thread; - - public: - void initialize(); - void pushTask(void(fn)(void*), void* cxt); -}; - -} // namespace iflytop -#endif \ No newline at end of file diff --git a/usrc/base/config_service.cpp b/usrc/base/config_service.cpp deleted file mode 100644 index 590e81d..0000000 --- a/usrc/base/config_service.cpp +++ /dev/null @@ -1,37 +0,0 @@ -#include "config_service.hpp" - - -static config_t _config; -static config_t _default_val_config; - -#define TAG "config" -static void dump_config(config_t *pcfg) { - ZLOGI(TAG, "=============== config ==============="); - ZLOGI(TAG, "configMark : %08x", pcfg->configMark); - ZLOGI(TAG, "placeHolder: %08x", pcfg->placeHolder); - ZLOGI(TAG, "="); -} -//static void create_default_config(config_t *default_cfg) { // -// default_cfg->configMark = FLASH_MASK_VAL; -// default_cfg->placeHolder = 0; // dhcp -//} - -void config_init(void) { - ZLOGI(TAG, "config_init"); - - _default_val_config.configMark = FLASH_MASK_VAL; - _default_val_config.placeHolder = 0; - - zflash_init((uint32_t *)&_config, sizeof(config_t) / 4); - zflash_set_default_data((uint32_t *)&_default_val_config); - - if (!zflash_check()) { - zflash_factory_reset(); - } - - dump_config(&_config); -} -config_t *config_get(void) { return &_config; } -void config_flush(void) { zflash_flush(); } -void config_factory_reset(void) { zflash_factory_reset(); } - diff --git a/usrc/base/config_service.hpp b/usrc/base/config_service.hpp deleted file mode 100644 index c568cc3..0000000 --- a/usrc/base/config_service.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once -#include - -#include "stm32basic/stm32basic.hpp" -#include "stm32halport/stm32halport.hpp" - -typedef struct { - uint32_t configMark; - uint32_t placeHolder; - uint32_t checksum; // -} config_t; - -void config_init(void); -config_t* config_get(void); -void config_flush(void); -void config_factory_reset(void); - diff --git a/usrc/base/device_info.cpp b/usrc/base/device_info.cpp deleted file mode 100644 index d2e8ca7..0000000 --- a/usrc/base/device_info.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#include "device_info.hpp" - -#include "transmit_disfection_protocol/transmit_disfection_protocol.hpp" - -uint16_t deviceInfo_init() { return 0; } -uint16_t deviceInfo_getProtocolVersion() { return PROTOCOL_VERSION; } -uint16_t deviceInfo_getSoftwareVersion() { return SOFTWARE_VERSION; } -uint16_t deviceInfo_getHardwareVersion() { return HARDWARE_VERSION; } diff --git a/usrc/base/device_info.hpp b/usrc/base/device_info.hpp deleted file mode 100644 index 95e6133..0000000 --- a/usrc/base/device_info.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once -#include -#include - -#include "project_configs.h" -#include "base/config_service.hpp" - -// uint16_t boardType; -// uint16_t projectId; -// uint16_t protcol_version; -// uint16_t software_version; -// uint16_t hardware_version; - -uint16_t deviceInfo_init(); -uint16_t deviceInfo_getProtocolVersion(); -uint16_t deviceInfo_getSoftwareVersion(); -uint16_t deviceInfo_getHardwareVersion(); diff --git a/usrc/base/gflag/gflag.c b/usrc/base/gflag/gflag.c deleted file mode 100644 index 40b2b2c..0000000 --- a/usrc/base/gflag/gflag.c +++ /dev/null @@ -1,21 +0,0 @@ -#include "gflag.h" - -#include -#include - -#include "cmsis_os.h" - -bool gInitErrorFlag = false; -uint32_t gBoardFlag = 0; -bool gEnableReportFlag = true; - -void gBoardFlagSetResetFlag() { - vPortEnterCritical(); - ZSET_BIT(gBoardFlag, 0); - vPortExitCritical(); -} -void gBoardFlagClearResetFlag() { - vPortEnterCritical(); - ZCLEAR_BIT(gBoardFlag, 0); - vPortExitCritical(); -} diff --git a/usrc/base/gflag/gflag.h b/usrc/base/gflag/gflag.h deleted file mode 100644 index 17d020c..0000000 --- a/usrc/base/gflag/gflag.h +++ /dev/null @@ -1,27 +0,0 @@ - -#ifndef ZGFLAG -#define ZGFLAG -#include -#include -#ifdef __cplusplus -extern "C" { -#endif - -#define ZCLEAR_BIT(val, bit) (val &= ~(1 << bit)) -#define ZSET_BIT(val, bit) (val |= (1 << bit)) - -extern bool gInitErrorFlag; -/** - * bit: - * 0: board reset flag (1:reset) - */ -extern uint32_t gBoardFlag; -extern bool gEnableReportFlag; - -void gBoardFlagSetResetFlag(); -void gBoardFlagClearResetFlag(); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/usrc/base/protocol_processer_mgr.cpp b/usrc/base/protocol_processer_mgr.cpp deleted file mode 100644 index 294179e..0000000 --- a/usrc/base/protocol_processer_mgr.cpp +++ /dev/null @@ -1,64 +0,0 @@ -#include "protocol_processer_mgr.hpp" -using namespace iflytop; -using namespace zscanprotocol; -using namespace transmit_disfection_protocol; - -#define TAG "ProtocolProcesserMgr" - -static osThreadId PacketRxThreadId; -static void onPacketRxThreadStart(void const* argument) { - while (true) { - zcanbus_schedule(); - osDelay(3); - } -} - -static void zcanbus_on_rx(uint8_t from, uint8_t to, uint8_t* rawpacket, size_t len) { // - ProtocolProcesserMgr::ins()->onPacket(from, to, rawpacket, len); -} - -static void zcanbus_on_connected(bool connected) { - if (connected) { - ZLOGI(TAG, "connected to host"); - } else { - ZLOGI(TAG, "disconnected from host"); - } -} - -void ProtocolProcesserMgr::initialize() {} -void ProtocolProcesserMgr::startSchedule(int deviceId) { - - zcanbus_reglistener(zcanbus_on_rx); - zcanbus_reg_on_connected_listener(zcanbus_on_connected); - - osThreadDef(PacketRxThread, onPacketRxThreadStart, osPriorityNormal, 0, 1024); - PacketRxThreadId = osThreadCreate(osThread(PacketRxThread), NULL); -} - -void ProtocolProcesserMgr::onPacket(uint8_t from, uint8_t to, uint8_t* rawpacket, size_t len) { - zcanbus_packet_t* packet = (zcanbus_packet_t*)rawpacket; - - ProcessContext cxt; - cxt.packet = packet; - cxt.from = from; - cxt.to = to; - cxt.packetlen = len; - - bool processed = false; - - ZLOGI(TAG, "process packet from %d to %d, function_id %d, len %d", from, to, packet->function_id, len); - - for (auto& processer : cmdprocesser) { - if (processer.cmd == cxt.packet->function_id) { - processer.fn(&cxt); - processed = true; - break; - } - } - - if (!processed) { - ZLOGW(TAG, "no processer support this packet"); - zcanbus_send_errorack(packet, err::kerr_function_not_support); - } - ZLOGI(TAG, "process end"); -} diff --git a/usrc/base/protocol_processer_mgr.hpp b/usrc/base/protocol_processer_mgr.hpp deleted file mode 100644 index e59d4d1..0000000 --- a/usrc/base/protocol_processer_mgr.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once -#include "protocol_processer_utils.hpp" - -#define REG_FN(fn) ProtocolProcesserMgr::ins()->regCmdProcesser(CmdProcesser(k##fn, bind(&ThisClass::fn, this, placeholders::_1))) -#define REG_LAMADA_FN(kfn, lamadafn) ProtocolProcesserMgr::ins()->regCmdProcesser(CmdProcesser(kfn, lamadafn)) -#define BIND_FN(ClassName, obj, fn) ProtocolProcesserMgr::ins()->regCmdProcesser(CmdProcesser(k##fn, bind(&ClassName::fn, obj, placeholders::_1))); -namespace iflytop { -using namespace std; - -class ProtocolProcesserMgr { - list cmdprocesser; - - public: - static ProtocolProcesserMgr* ins() { - static ProtocolProcesserMgr ins; - return &ins; - } - - void initialize(); - void startSchedule(int deviceId); - void regCmdProcesser(CmdProcesser processer) { cmdprocesser.push_back(processer); } - - public: - void onPacket(uint8_t from, uint8_t to, uint8_t* rawpacket, size_t len); -}; - -} // namespace iflytop \ No newline at end of file diff --git a/usrc/base/protocol_processer_utils.hpp b/usrc/base/protocol_processer_utils.hpp deleted file mode 100644 index b514d5e..0000000 --- a/usrc/base/protocol_processer_utils.hpp +++ /dev/null @@ -1,51 +0,0 @@ -#pragma once -#include -#include -// -#include "stm32halport/stm32halport.hpp" -// -#include "base/device_info.hpp" -#include "gflag/gflag.h" -#include "transmit_disfection_protocol/transmit_disfection_protocol.hpp" -#include "stm32components/zcanreceiver/zcanreceiver.hpp" - -namespace iflytop { -using namespace std; -using namespace zscanprotocol; -using namespace transmit_disfection_protocol; - -#define GET_PARAM(off) ((((int32_t*)(cxt->packet->params))[off])) -#define PRAAM_LEN() ((cxt->packetlen - sizeof(zcanbus_packet_t)) / 4) - -#define CHECK_PARAM_LEN(_paramNum, expectNum) \ - if (_paramNum != expectNum) { \ - zcanbus_send_errorack(cxt->packet, err::kerr_invalid_param_num); \ - return; \ - } - -/*********************************************************************************************************************** - * ClassDeclear * - ***********************************************************************************************************************/ -class ProcessContext; -/*********************************************************************************************************************** - * TYPEDEF * - ***********************************************************************************************************************/ -typedef function cmdprocessfn_t; -/*********************************************************************************************************************** - * CLASS * - ***********************************************************************************************************************/ -class ProcessContext { - public: - uint8_t from; - uint8_t to; - zcanbus_packet_t* packet; - size_t packetlen; -}; -class CmdProcesser { - public: - int cmd; - cmdprocessfn_t fn; - CmdProcesser(int cmd, cmdprocessfn_t fn) : cmd(cmd), fn(fn) {} -}; - -} // namespace iflytop \ No newline at end of file diff --git a/usrc/base/utils/halutils.cpp b/usrc/base/utils/halutils.cpp deleted file mode 100644 index e69de29..0000000 diff --git a/usrc/base/utils/halutils.hpp b/usrc/base/utils/halutils.hpp deleted file mode 100644 index 434f2fe..0000000 --- a/usrc/base/utils/halutils.hpp +++ /dev/null @@ -1,49 +0,0 @@ -#pragma once -#include -#include - -#include "stm32basic/stm32basic.hpp" -#include "stm32halport/stm32halport.hpp" - -namespace iflytop { - -class HalUtils { - public: - static void uartdmainit(UART_HandleTypeDef* uart, DMA_HandleTypeDef* rxdma, uint32_t rxdmach, DMA_HandleTypeDef* txdma, uint32_t txdmach) { - rxdma->Instance = getDmaStreamTypeDef(rxdma); - rxdma->Init.Channel = rxdmach; - rxdma->Init.Direction = DMA_PERIPH_TO_MEMORY; - rxdma->Init.PeriphInc = DMA_PINC_DISABLE; - rxdma->Init.MemInc = DMA_MINC_ENABLE; - rxdma->Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; - rxdma->Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; - rxdma->Init.Mode = DMA_NORMAL; - rxdma->Init.Priority = DMA_PRIORITY_LOW; - rxdma->Init.FIFOMode = DMA_FIFOMODE_DISABLE; - ZASSERT(rxdma->Instance); - if (HAL_DMA_Init(rxdma) != HAL_OK) { - Error_Handler(); - } - - __HAL_LINKDMA(uart, hdmarx, *rxdma); - - txdma->Instance = getDmaStreamTypeDef(txdma); - txdma->Init.Channel = txdmach; - txdma->Init.Direction = DMA_MEMORY_TO_PERIPH; - txdma->Init.PeriphInc = DMA_PINC_DISABLE; - txdma->Init.MemInc = DMA_MINC_ENABLE; - txdma->Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; - txdma->Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; - txdma->Init.Mode = DMA_NORMAL; - txdma->Init.Priority = DMA_PRIORITY_LOW; - txdma->Init.FIFOMode = DMA_FIFOMODE_DISABLE; - ZASSERT(rxdma->Instance); - if (HAL_DMA_Init(txdma) != HAL_OK) { - Error_Handler(); - } - - __HAL_LINKDMA(uart, hdmatx, *txdma); - } -}; - -} // namespace iflytop \ No newline at end of file diff --git a/usrc/project_configs.h b/usrc/project_configs.h index e5b170b..d62fe56 100644 --- a/usrc/project_configs.h +++ b/usrc/project_configs.h @@ -5,23 +5,21 @@ ***********************************************************************************************************************/ #define SDK_DELAY_US_TIMER htim6 // 微秒延迟定时器,注意该延时定时器需要按照以下文档进行配置 http://192.168.1.3:3000/zwikipedia/iflytop_wikipedia/src/branch/master/doc/stm32cubemx_us_timer.md #define SDK_IRQ_PREEMPTPRIORITY_DEFAULT 5 // IO中断默认中断等级 -#define SDK_CFG__CFG_FLASH_ADDR 0x080C0000 // -#define SDK_MAX_TASK 10 +#define SDK_CFG__CFG_FLASH_ADDR 0x080C0000 // flash配置地址 +#define SDK_CFG__SN_FLASH_ADDR 0x080E0004 // +#define SDK_MAX_TASK 10 // 最大任务数量 /*********************************************************************************************************************** * PROJECT_CONFIG * ***********************************************************************************************************************/ /** * @brief 基础配置 - * */ -#define SOFTWARE_VERSION 102 // 软件版本 -#define HARDWARE_VERSION 1 // 硬件版本 -#define PROJECT "hand_acid_mainboard" // 工程名称 -#define SN_HEADER "SN" // SN号前缀 -#define DEBUG_UART huart1 // 调试串口 -#define DEBUG_LIGHT_GPIO PE0 // 调试指示灯 -#define H2O2_SENSOR_BOARD_DEBUG_LIGHT_GPIO PE2 // 过氧化氢板-调试指示灯 +#define SOFTWARE_VERSION 1 // 软件版本 +#define HARDWARE_VERSION 1 // 硬件版本 +#define SN_HEADER "SN" // SN号前缀 +#define DEBUG_UART huart1 // 调试串口 +#define DEBUG_LIGHT_IO0 PE0 // 调试指示灯 +#define DEBUG_LIGHT_IO1 PE2 // 调试指示灯 -#define BOARD_TYPE_ID_FLASH_ADD 0x080E0000 -#define SDK_CFG__SN_FLASH_ADDR 0x080E0004 // +#define BOARD_TYPE_ID_FLASH_ADD 0x080E0000 // 板子类型