fix:修改UDP通讯中,取电变化上报机制

1、问题点:当RCU网络状态异常的情况下,网络还处于协商状态下,还未进入正常通讯环节时,取电变化不会进行判断。这会导致取电变化上报与实际产生取电状态时间点对不上。
2、将BLV_C1F_Module代码上传至Gitea,之前代码修改记录请查看 .\BasicCode\Readme.txt
This commit is contained in:
caocong
2026-01-23 09:23:12 +08:00
commit 95916b9995
622 changed files with 1336094 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
#ifndef _DATA_SAVE_H
#define _DATA_SAVE_H
#include "CH57x_common.h" //CH57X <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>
#include "gattprofile.h"
#include "PC_DeviceTest_Fun.h"
#define DATAFLASH_SAVE_START_ADDR FLASH_MCU_BLE_START_ADDRESS //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ dataflash <20><>2K
// Minimum connection interval (units of 1.25ms, 20=25ms)
#define DEFAULT_DESIRED_MIN_CONN_INTERVAL 20
// Maximum connection interval (units of 1.25ms, 100=125ms)
#define DEFAULT_DESIRED_MAX_CONN_INTERVAL 100
#define FALSH_SAVE_HEAD 2 //flash<73><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ
#pragma pack(1)
typedef struct
{
uint8 flash_save_head:2; //<2F><><EFBFBD><EFBFBD>flash<73><68><EFBFBD>ݵ<EFBFBD>ͷ
uint8 flash_save_flg:1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
uint8 bleName_len:5; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint8 scanRspData[31]; //ɨ<><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}DataFlash_Save_T;
#pragma pack()
extern DataFlash_Save_T dataFlash_save_t;
void DataFlash_Save_Init(void);
void DataFlash_Save_Task(void);
#endif

View File

@@ -0,0 +1,97 @@
/********************************** (C) COPYRIGHT *******************************
* File Name : multiCentral.h
* Author : WCH
* Version : V1.0
* Date : 2018/11/12
* Description :
*******************************************************************************/
#ifndef MULTICENTRAL_H
#define MULTICENTRAL_H
#include "gattprofile.h"
#ifdef __cplusplus
extern "C"
{
#endif
/*********************************************************************
* INCLUDES
*/
#define PERIPHERAL_DEVICE_MAX_NUM 30
/*********************************************************************
* CONSTANTS
*/
// Simple BLE Observer Task Events
#define START_DEVICE_EVT 0x0001
#define START_DISCOVERY_EVT 0x0002
#define START_SCAN_EVT 0x0004
#define START_SVC_DISCOVERY_EVT 0x0008
#define START_PARAM_UPDATE_EVT 0x0010
#define START_READ_OR_WRITE_EVT 0x0020
#define START_READ_RSSI_EVT 0x0040
#define ESTABLISH_LINK_TIMEOUT_EVT 0x0080
#define CONNECT0_ITEM 0
#define CONNECT1_ITEM 1
#define CONNECT2_ITEM 2
/*********************************************************************
* MACROS
*/
#define CENTRAL_CONNECTING 1 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define CENTRAL_IDLE 0 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef struct
{
uint8 taskID; // Task ID for internal task/event processing
uint16 connHandle; // Connection handle of current connection
uint8 state; // Application state
//uint8 connecting; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD>־
uint8 peerAddr[B_ADDR_LEN];
uint8 discState; // Discovery state
uint8 procedureInProgress; // GATT read/write procedure state
uint16 svcStartHdl; // Discovered service start handle
uint16 svcEndHdl; // Discovered service end handle
uint16 charHdl; // Discovered characteristic handle
} centralConnItem_t;
typedef struct
{
uint8 peerAddr[B_ADDR_LEN];
} peerAddrDefItem_t;
extern BLE_DEVICE_CONFIG* Ble_Device_Head;
/*********************************************************************
* FUNCTIONS
*/
/*
* Task Initialization for the BLE Application
*/
extern void Central_Init( void );
/*
* Task Event Processor for the BLE Application
*/
extern uint16 Central_ProcessEvent( uint8 task_id, uint16 events );
void Clear_Connecting_flg(u8* addr);
void Set_Connecting_flg(u8* addr);
void BLE_Send_Task(void);
void Device_Add_List(BLE_DEVICE_CONFIG* Device_node); //<2F><><EFBFBD><EFBFBD><E8B1B8><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD>
uint8 IS_Empty_Connection(u8 device_type, u8 device_addr); //<2F><>ѯָ<D1AF><D6B8><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint8 Connect_Peripheral_Device(u8 device_type, u8 device_addr); //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>
uint8 Disconnect_Peripheral_Device(u8 device_type, u8 device_addr); //<2F>Ͽ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>
void Peripheral_Notify_Control(u8 device_type, u8 device_addr, u8 notify_id, u8 state); //<2F>򿪻<EFBFBD><F2BFAABB>ر<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>ӻ<EFBFBD><D3BB><EFBFBD><E8B1B8>֪ͨ
/*********************************************************************
*********************************************************************/
#ifdef __cplusplus
}
#endif
#endif /* MULTICENTRAL_H */

View File

@@ -0,0 +1,71 @@
/********************************** (C) COPYRIGHT *******************************
* File Name : peripheral.h
* Author : WCH
* Version : V1.0
* Date : 2018/12/11
* Description :
*******************************************************************************/
#ifndef PERIPHERAL_H
#define PERIPHERAL_H
#ifdef __cplusplus
extern "C"
{
#endif
#include "CH57x_common.h" //CH57X <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>
//#include "data_save.h"
#define BLE_PERIPHERAL_EN 0
#define BLE_CENTRAL_EN 1
/*********************************************************************
* INCLUDES
*/
/*********************************************************************
* CONSTANTS
*/
// Peripheral Task Events
#define SBP_START_DEVICE_EVT 0x0001
#define SBP_PERIODIC_EVT 0x0002
#define SBP_READ_RSSI_EVT 0x0004
#define SBP_PARAM_UPDATE_EVT 0x0008
/*********************************************************************
* MACROS
*/
typedef struct
{
uint16 connHandle; // Connection handle of current connection
uint16 connInterval;
uint16 connSlaveLatency;
uint16 connTimeout;
} peripheralConnItem_t;
extern peripheralConnItem_t peripheralConnList;
/*********************************************************************
* FUNCTIONS
*/
//uint8 Set_BleDevice_Name(uint8* name, u8 len);
/*
* Task Initialization for the BLE Application
*/
extern void Peripheral_Init( void );
/*
* Task Event Processor for the BLE Application
*/
extern uint16 Peripheral_ProcessEvent( uint8 task_id, uint16 events );
void peripheralChar4Notify( uint8 *pValue, uint16 len );
/*********************************************************************
*********************************************************************/
#ifdef __cplusplus
}
#endif
#endif