refactor(vd960Loop): 算法回退到 DLD154V4B,四通道适配

- 用 DLD154V4B vd1_task/per_channel 替换 vds_task 复杂算法
- 移除 FUNCTION_B/二次判断/快速变化/多重确认等增强特性
- 保留平坦性离开算法 (CN200910309382),每通道独立状态
- 灵敏度表改为 DLD154V4B 4级: {216,108,36,10} / {108,72,18,9}
- 清理废弃类型: FltHistoryManager, Loop_ACS_Info, StageRangeConfig 等
- 首次添加 vd960DBN 完整源码
This commit is contained in:
wangfq
2026-06-25 16:21:57 +08:00
parent 6fd4e564e3
commit 95808f9f25
966 changed files with 406958 additions and 84 deletions

View File

@@ -0,0 +1,165 @@
/*
* cmcng.h
*
* Created on: Aug 27, 2024
* Author: Thinkpad
*/
#ifndef INCLUDE_CMCNG_H_
#define INCLUDE_CMCNG_H_
#include <stdint.h>
#define PRODUCT_MODEL "DLD960GA"
#define FIRMWARE_VER "1.0"
#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 512 //128
#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;
#define RX_BUFFER_LEN BUFF_STACK_SIZE
typedef struct
{
volatile uint8_t DMA_USE_BUFFER;
uint8_t Rx_Buffer[2][RX_BUFFER_LEN];
} USART_DMA_UNIT;
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_ */