Files
BLV_C1F_Module/BasicCode/Drive/Logging/rw_logging.h
caocong 95916b9995 fix:修改UDP通讯中,取电变化上报机制
1、问题点:当RCU网络状态异常的情况下,网络还处于协商状态下,还未进入正常通讯环节时,取电变化不会进行判断。这会导致取电变化上报与实际产生取电状态时间点对不上。
2、将BLV_C1F_Module代码上传至Gitea,之前代码修改记录请查看 .\BasicCode\Readme.txt
2026-01-23 09:23:12 +08:00

94 lines
3.6 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.
#ifndef RW_LOGGING_H_
#define RW_LOGGING_H_
#include "stdint.h"
/*OLD*/
#define Log_Type_Device_Change 0x04 //设备动作
#define Log_Type_Global_Parameters 0x05 //全局参数变化
//SRAM中日志相关地址
/*
2022-05-09 将SRAM日志数据地址 SRAM_LOG_DATA_Address 将0x090020改为0x090100
原因增加Launcher启动输出调试信息 - 给APP使用如果需要设置是通过PC下发命令设置本次启动APP有效
*/
#define SRAM_LOG_Start_Address 0x090000 //日志空间起始地址 - 当前SRAM中日志数据的写入地址 - 4Byte
#define SRAM_TFTP_LOG_READ_Address 0x090004 //TFTP日志上报读取地址 - 4Byte
#define SRAM_FLASH_LOG_READ_Address 0x090008 //Flash日志写入读取地址 - 4Byte
#define SRAM_SD_LOG_READ_Start_Address 0x09000C //SD读取起始地址 - 当TFTP开始传输文件时同时将当前的起始地址与结束地址赋值该变量用于向SD写入LOG使用 - 4Byte
#define SRAM_SD_LOG_READ_End_Address 0x090010 //SD读取结束地址 - 4Byte
#define SRAM_Flash_Serial_Number 0x090014 //日志序号保存地址 - 1Byte
#define SRAM_LOGFlag_Reset_Source 0x090018 //Launcher启动源标记 - 给APP使用
#define SRAM_LOGFlag_Addr_INIT 0x090019 //Launcher记录地址SRAM初始化状态标志位 - 给APP使用
#define SRAM_LOGFlag_Debug_Switch 0x09001A //Launcher启动输出调试信息 4Byte - 给APP使用
#define SRAM_APPFlag_Reset_Source 0x09001E //App串口升级标志位 2Byte - 给Launcher调试输出信息使用 0xBBC1
#define SRAM_LOG_DATA_Address 0x090100 //日志数据地址
#define SRAM_LOG_End_Address 0x2FFFFF //日志空间结束地址 - 0x0AFFFF
#define APPFlag_UartUpgrade_Reset 0xBBC1 //APP串口升级标志位
//Flash中日志相关地址
/*
2022-04-17 将Flash日志地址从0x090000改为0x100000 ~ 0x1FFFFF
*/
#define LOG_Flash_Start_Address 0x100000 //Flash日志空间写入地址
#define LOG_Flash_Overflow_Address 0x100004 //Flash日志空间是否已存满标志位
//#define LOG_Flash_Serial_Number 0x090005 //日志序号保存地址
#define LOG_Flash_DATA_Address 0x100020 //Flash日志数据地址
#define LOG_Flash_End_Address 0x1FFFFF //Flash日志空间结束地址
//日志数据相关定义
#define LOG_Data_Hand 0xA5 //LOG数据头
#define Log_Data_End 0x5A //LOG数据尾
#define Log_Data_Len_MAX 512 //日志数据最长512Byte
/*日志保存的数据格式
2021-04-02 ;加个校验位
2021_11_29将数据长度改为2Byte
*/
typedef enum{
S_Log_Hand,
S_Log_SN, //日志每条数据增加序列号
S_Log_Len,
S_Log_Len_8,
S_Log_Check,
S_Log_Date_H, //年5bit 月5bit 日5bit
S_Log_Date_L,
S_Log_Type,
S_Log_Time8B, //小时时间戳
S_Log_Time16B,
S_Log_Time24B,
S_Log_Time32B,
S_Log_Data,
}Sram_Log_Data_Format;
/************************************************************/
uint8_t Log_write_sram(uint8_t data_type,uint8_t *buff,uint16_t len);
uint8_t Log_read_sram(void);
uint32_t Get_Log_Current_Address(void);
void Set_Log_Current_Address(uint32_t W_addr);
void SRAM_Set_TFTP_READ_LOG_Address(uint32_t r_addr);
uint32_t SRAM_Get_TFTP_READ_Log_Address(void);
void SRAM_Set_FLASH_READ_LOG_Address(uint32_t r_addr);
uint32_t SRAM_Get_FLASH_READ_LOG_Address(void);
void SRAM_Set_SD_LOG_READ_Start_Address(uint32_t r_addr);
uint32_t SRAM_Get_SD_LOG_READ_Start_Address(void);
void SRAM_Set_SD_LOG_READ_End_Address(uint32_t r_addr);
uint32_t SRAM_Get_SD_LOG_READ_End_Address(void);
uint32_t Log_Get_Flash_Current_Address(void);
void Log_Set_Flash_Current_Address(uint32_t w_addr);
void Log_set_Flash_overflow_flag(uint8_t overflow_state);
void Log_Write_Flash(void);
void Log_Read_Flash(void);
void LOG_Preserve_Flash_Task(void);
void LOG_Save_Device_Action(uint8_t type,uint8_t addr,uint16_t loop,uint16_t state);
void LOG_Save_Device_Change(uint32_t data_addr, uint16_t data_len);
void LOG_Save_Global_Parameters(void);
uint8_t SRAM_PowerOn_Restore_ParaInfo(void);
void Retain_Flash_Register_Data(void);
void Read_Flash_Register_Data(void);
#endif