2025-04-30 16:24:29 +08:00

144 lines
3.6 KiB
C
Raw Permalink 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 RTDB_123_INCLUDED
#define RTDB_123_INCLUDED
#ifdef __cplusplus
extern "C" {
#endif
/************************************************************************/
//#define RTDB_MEMORY_128M 1
//本标识表示缓冲是否初始化
#define SHM_BUFF_INIT_FLAG 0x1234A55A
#ifdef RTDB_MEMORY_128M
//address:120M size大概128K1k129k
//address:104M
#define RTDB_BUFFER_START_ADDRESS 0x06800000
//分别存放:初始化标识
#define RTDB_BUFFER_INIT_FLAG 0x06800010
//保护程序校验和
#define RTDB_BUFFER_INIT_PROTCRC 0x06800014
//,时间(秒),时间(毫秒
#define RTDB_BUFFER_INIT_TIME 0x06800018
//CORE0使用ETH1
#define RTDB_BUFFER_INIT_C0_ETH1 0x0680001C
#define RTDB_BUFFER_SERV850_INIT 0x06800020
#define RTDB_BUFFER_SERV850_COUNT 0x06800024
//保护相关,初始化完成和计数器
#define RTDB_BUFFER_PROTECT_INIT 0x06800030
#define RTDB_BUFFER_PROTECT_COUNT 0x06800034
#define RTDB_BUFFER_PROTECT_TMP1 0x06800038
#define RTDB_BUFFER_PROTECT_TMP2 0x0680003C
//以太网1驱动的接收发送
#define RTDB_BUFFER_ETH1_RECV 0x06800040
#define RTDB_BUFFER_ETH1_RECV_M 0x06800044
#define RTDB_BUFFER_ETH1_SEND 0x06800048
#define RTDB_BUFFER_ETH1_SEND_M 0x0680004C
//LinkPort驱动的接收发送
#define RTDB_BUFFER_LP_RECV 0x06800050
#define RTDB_BUFFER_LP_RECV_M 0x06800054
#define RTDB_BUFFER_LP_SEND 0x06800058
#define RTDB_BUFFER_LP_SEND_M 0x0680005C
#else
//address:216M可用16M
#define RTDB_BUFFER_START_ADDRESS 0x0D800000
//分别存放:初始化标识
#define RTDB_BUFFER_INIT_FLAG 0x0D800010
//保护程序校验和
#define RTDB_BUFFER_INIT_PROTCRC 0x0D800014
//,时间(秒),时间(毫秒
#define RTDB_BUFFER_INIT_TIME 0x0D800018
//CORE0使用ETH1
#define RTDB_BUFFER_INIT_C0_ETH1 0x0D80001C
#define RTDB_BUFFER_SERV850_INIT 0x0D800020
#define RTDB_BUFFER_SERV850_COUNT 0x0D800024
//GPS模块的卫星状态是否有效(1B的最低bit位)
#define RTDB_BUFFER_GPSL_VALID 0x0D800028
//61850配置文件初始化错误(程序没运行)BIT0=1
#define RTDB_BUFFER_SERV850_CONF 0x0D80002C
//保护相关,初始化完成和计数器
#define RTDB_BUFFER_PROTECT_INIT 0x0D800030
#define RTDB_BUFFER_PROTECT_COUNT 0x0D800034
#define RTDB_BUFFER_PROTECT_TMP1 0x0D800038
#define RTDB_BUFFER_PROTECT_TMP2 0x0D80003C
//以太网1驱动的接收发送
#define RTDB_BUFFER_ETH1_RECV 0x0D800040
#define RTDB_BUFFER_ETH1_RECV_M 0x0D800044
#define RTDB_BUFFER_ETH1_SEND 0x0D800048
#define RTDB_BUFFER_ETH1_SEND_M 0x0D80004C
//LinkPort驱动的接收发送
#define RTDB_BUFFER_LP_RECV 0x0D800050
#define RTDB_BUFFER_LP_RECV_M 0x0D800054
#define RTDB_BUFFER_LP_SEND 0x0D800058
#define RTDB_BUFFER_LP_SEND_M 0x0D80005C
//CAN驱动相关计数
#define RTDB_BUFFER_CAN_RECV 0x0D800060
#define RTDB_BUFFER_CAN_ERR 0x0D800064
#define RTDB_BUFFER_CAN_SEND 0x0D800068
//接口计数,+1
#define RTDB_BUFFER_COMMCPU_REJECT 0x0D800070
//cbt add 2021.3.31
//保护配置库校验状态--用作4字节int型
#define RTDB_BUFFER_PROTCFG_CHECKSTATUS 0x0D800078
#endif
typedef enum
{
SYSTIME_SOURCE_TYPE_TOOL103=1,
SYSTIME_SOURCE_TYPE_1588,
SYSTIME_SOURCE_TYPE_CODEB,
SYSTIME_SOURCE_TYPE_SNTP,
SYSTIME_SOURCE_TYPE_YD104,
SYSTIME_SOURCE_TYPE_RTC,
} SYSTIME_SOURCE_TYPE;
int rtdb_init(void);
int rtdb_inf_write_cmd(unsigned char * pucCmd);
int rtdb_protect_read_cmd(unsigned char * pucCmd);
int rtdb_protect_write_cmd(unsigned char * pucCmd);
int rtdb_inf_read_cmd(unsigned char * pucCmd);
int rtdb_inf_get_addr_systime(unsigned int **addr);
int rtdb_inf_set_gps_status( unsigned char status );
unsigned char rtdb_protect_get_gps_status( void );
int rtdb_inf_add_reject_num(void);
/************************************************************************/
#ifdef __cplusplus
}
#endif
#endif