Files
vd_960/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/include/cmcng.h
T
wangfq 263dc4e05d chore(vd960DBN): 固件版本 1.0 → 1.1 (2026-08-17)
cmcng.h FIRMWARE_VER "1.0"→"1.1" (MAIN=1 SUB=1):
- 修正字符串与数字不一致 (旧 "1.0" vs MAIN=1 SUB=1)
- 版本内容: 栈溢出修复 + RAM 瘦身 + UART2 RX DMA + 清理
- 注释用 ASCII (cmcng.h 为 GBK 编码)
2026-08-17 16:55:51 +08:00

159 lines
4.2 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
* cmcng.h
*
* Created on: Aug 27, 2024
* Author: Thinkpad
*/
#ifndef INCLUDE_CMCNG_H_
#define INCLUDE_CMCNG_H_
#include <stdint.h>
#define PRODUCT_MODEL "DLD960GA"
/* 2026-08-17: 1.0 -> 1.1: stack-overflow fix (freq reset) + RAM slimming + UART2 RX DMA.
NOTE: string must match MAIN/SUB digits (was inconsistent: "1.0" vs MAIN=1 SUB=1) */
#define FIRMWARE_VER "1.1"
#define HARDWARE_VER "1.0"
#define FIRMWARE_VER_MAIN 1
#define FIRMWARE_VER_SUB 1
#define HARDWARE_VER_MAIN 1
#define HARDWARE_VER_SUB 1
#define BUFF_STACK_SIZE 64
#define MAX_UART_TXRX_LEN 32
#define MAX_TOUCHUAN_DISABLE_TIME 15
#define BT_DISABLE_IDLE_TIMEOUT 0 //10 // 蓝牙空闲超时 关闭时间,默认10 min
typedef enum
{
DDType_DNT900 = 1, //1 ???????? DNT900
DDType_WireDUS, //2???ù?¨???????? DG
DDType_4G_1,
DDType_WireDus_Wb, //4 ???ù?¨???????? ?ò??
DDType_LoraAreaMain, //5 Lora ?????÷?ú
DDType_LoraAreaSub, //6 Lora ???????ú
DDType_LoraLotMain, //7 Lora ?????÷?ú
DDType_LoraLotSub, //8 Lora ???????ú
DDType_LoraBroadcast, //9 Lora ????????
DDType_LoraRelay, //10 Lora ?????? ???? DLR101
DDType_Relay, //11 ?????????? ?¨??RS485-2 ??·?
DDType_4G_IOT, //12 4G ??±¨??????????????MQTT
DDType_Wire_Collect_IOT, //13 ????????±¨??????????????MQTT
DDType_Wire_Display_IOT, //14 ????????·?????????MQTT
DDType_Radar_Lot, //15 ?×??????
DDType_DLD950 = 20, //DLD950
DDType_DBN101 = 21,
DDType_DNT910 = 22, //DNT910,DNT920
DDType_DNT920 = 23,
DDType_DLD950V4 = 24,
}DG_Device_Type;
typedef enum
{
KEY_ET_None = 0,
KEY_ET_BLE_ENABLE, //1
KEY_ET_REBOOT,
KEY_ET_FACTORY,
KEY_ET_NETBLE_FACTORY
} KEY_EVENT_Type;
typedef struct _SUB_CODE_ENABLE_
{
uint16_t code_set;
uint8_t net_enable;
uint8_t iot_enable;
uint8_t custom_enable;
uint8_t loop_enable; // ?÷??????
uint8_t dgdus_enable;
uint8_t wbdus_enable;
uint8_t radar_enable;
uint8_t laser_enable; // lora?¤???×??????
uint8_t lora_enable; // Lora ????
//uint8_t input_enable;
} Sub_Code_Enable;
extern Sub_Code_Enable g_sub_code_enable;
typedef struct _PKG_UART_
{
uint8_t flag;
uint16_t offset;
uint16_t len;
uint8_t pkg[BUFF_STACK_SIZE];
uint32_t tick;
}Pkg_Uart;
extern Pkg_Uart g_pkg_uart_1;
extern Pkg_Uart g_pkg_uart_2;
typedef struct _DBN_BLE_STATE_
{
uint8_t flag; // if need to report
uint8_t enable; // 是否使能
uint8_t send_flag;
uint8_t obj_amount;
uint8_t cmd;
uint8_t sens_type;
uint8_t dat_len ;
uint8_t dat_offset;
uint8_t pkg_amount;
uint8_t pkg_seq;
uint16_t interval;
uint32_t counter;
uint8_t timeout_min; // minute
uint32_t timeout_counter;
} DBN_BLE_State;
extern DBN_BLE_State g_dbn_ble_state_acs_enable;
typedef struct _FLAG_COUNTER_
{
uint32_t flag;
uint32_t timeout;
uint32_t tick;
} Flag_Counter;
extern Flag_Counter g_flag_counter_key;
extern Flag_Counter g_flag_counter_ota;
extern char g_flag_debug;
extern uint8_t g_dev_number[6];
extern uint8_t g_dev_password[6];
extern uint8_t g_ble_safe_flag;
extern uint32_t g_ble_safe_counter_ori;
extern uint32_t g_ble_safe_counter_dst;
// extern uint8_t MACAddr[6];
extern uint8_t gMacAddr[6];
extern char g_dev_number_str[13];
extern uint32_t g_activ_counter;
extern uint8_t g_dg_sub_dev_type;
extern uint8_t g_dg_device_type;
extern uint8_t g_max_counter_bt_min;
extern uint32_t g_max_counter_bt_timeout;
extern uint8_t g_storage_uart_num;
extern uint8_t g_storage_uart_num_2;
extern uint32_t g_storage_uart_baud;
extern uint32_t g_storage_uart_baud_2;
extern uint8_t g_flag_bt_state;
uint32_t mstick(void);
void InitPkgUart(Pkg_Uart * pkg);
void uart_init(void);
void uart_srv(void);
void UART2_SendString(uint8_t *buf, uint16_t len);
void UART1_SendString(uint8_t *buf, uint16_t len);
#endif /* INCLUDE_CMCNG_H_ */