148 lines
4.2 KiB
C
148 lines
4.2 KiB
C
![]() |
|
|||
|
|
|||
|
#ifndef SHMBUFF_123_INCLUDED
|
|||
|
#define SHMBUFF_123_INCLUDED
|
|||
|
|
|||
|
|
|||
|
///#include "code.h"
|
|||
|
#include "basetype.h"
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
extern "C" {
|
|||
|
#endif
|
|||
|
/************************************************************************/
|
|||
|
|
|||
|
|
|||
|
//CAN<41><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>Ϊ32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>256<35><36><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>)
|
|||
|
#define CAN_BUFF_NUM 16
|
|||
|
#define CANADI_BUFF_NUM 63
|
|||
|
|
|||
|
//
|
|||
|
#define PRINT_BUFF_NUM 31
|
|||
|
|
|||
|
|
|||
|
#define IO_BOARD_NUM_MAX (CLZType_IO_NUM)//4 //cbt modified 2021.3.23 Ӳ<><D3B2>4.0<EFBFBD><EFBFBD>IO<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>4<EFBFBD><EFBFBD>->5<>飬ͳһ<CDB3><D2BB><EFBFBD><EFBFBD>basetype.h<>еĺ궨<C4BA><EAB6A8>
|
|||
|
#define IO_INPUT_NUM_MAX 32
|
|||
|
|
|||
|
|
|||
|
#ifndef WIN32
|
|||
|
struct can_frame {
|
|||
|
unsigned int can_id; /* 32 bit CAN_ID + EFF/RTR/ERR flags */
|
|||
|
unsigned char can_dlc; /* data length code: 0 .. 8 */
|
|||
|
unsigned char data[8] __attribute__((aligned(8)));
|
|||
|
};
|
|||
|
|
|||
|
#else
|
|||
|
struct can_frame {
|
|||
|
unsigned int can_id; /* 32 bit CAN_ID + EFF/RTR/ERR flags */
|
|||
|
unsigned char can_dlc; /* data length code: 0 .. 8 */
|
|||
|
unsigned char data[8];
|
|||
|
};
|
|||
|
|
|||
|
#endif
|
|||
|
|
|||
|
|
|||
|
typedef struct{
|
|||
|
unsigned char WriteIP; //дBufferָ<72><D6B8>
|
|||
|
unsigned char ReadIP; //<2F><>Bufferָ<72><D6B8>
|
|||
|
struct can_frame Buffer[CAN_BUFF_NUM]; //<2F>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>滺<EFBFBD><E6BBBA><EFBFBD><EFBFBD>
|
|||
|
DateType timeW[CAN_BUFF_NUM]; //д<><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
} CanBufferType;
|
|||
|
|
|||
|
typedef struct{
|
|||
|
unsigned char WriteIP; //дBufferָ<72><D6B8>
|
|||
|
unsigned char ReadIP; //<2F><>Bufferָ<72><D6B8>
|
|||
|
struct can_frame Buffer[CANADI_BUFF_NUM];
|
|||
|
} CanADIBufferType;
|
|||
|
|
|||
|
typedef struct{
|
|||
|
unsigned char WriteIP; //дBufferָ<72><D6B8>
|
|||
|
unsigned char ReadIP; //<2F><>Bufferָ<72><D6B8>
|
|||
|
char Buffer[PRINT_BUFF_NUM][256]; //<2F>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>滺<EFBFBD><E6BBBA><EFBFBD><EFBFBD>
|
|||
|
} PrintfBufferType;
|
|||
|
|
|||
|
//IO<49><4F><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֵ
|
|||
|
typedef struct{
|
|||
|
unsigned short updateFlag; //<2F><><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>, 0x5555:<3A><>ʼ<EFBFBD><CABC>ֵ<EFBFBD><D6B5>0xAAAA:<3A><>ȡ<EFBFBD><C8A1>IOֵ<4F><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
|
|||
|
unsigned char updateIndex; //<2F><><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
unsigned char unUse; //Ԥ<><D4A4><EFBFBD>ֽ<EFBFBD>
|
|||
|
unsigned int trembleT[IO_INPUT_NUM_MAX]; //IO<49><4F><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䣬<EFBFBD><E4A3AC><EFBFBD><EFBFBD>CAN<41><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
} IOTrembleTimeType;
|
|||
|
|
|||
|
|
|||
|
/*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ****/
|
|||
|
void inf_get_equTime(DateType *equtime);
|
|||
|
|
|||
|
|
|||
|
/** <20><>ֵ<EFBFBD><D6B5>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD> **/
|
|||
|
int inf_shm_get_addr_dz_prot_recv(DZ_VAL_TYPE **ppucDz);
|
|||
|
int inf_shm_get_addr_dz_prot_send(DZ_VAL_TYPE **ppucDz);
|
|||
|
|
|||
|
|
|||
|
int inf_shm_get_addr_sjbg(SoeBufferType **ppstSoe );
|
|||
|
int inf_shm_get_addr_zjbg(CheckReportType **ppstCRT);
|
|||
|
int inf_shm_get_addr_yxbur(YaoXinStrucType **ppstYx);
|
|||
|
int inf_shm_get_addr_operbg(OperReportType **ppstCzsj );
|
|||
|
|
|||
|
|
|||
|
int inf_shm_get_addr_fhlb( WaveType **ppstWT );
|
|||
|
int inf_shm_get_addr_gzbg(FaultReportType **ppstFRT);
|
|||
|
|
|||
|
int inf_shm_get_addr_groupSoe(GroupSoeReportType **ppstGSoe);
|
|||
|
int inf_shm_get_addr_clz(CLZBuffType **ppucClz);
|
|||
|
|
|||
|
int inf_shm_get_addr_gsmv(char **ppucGsmv);
|
|||
|
|
|||
|
int inf_shm_buffer_check( void );
|
|||
|
int inf_shm_buffer_init( void );
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľṹ<C4BD><E1B9B9>can_frame<6D><65><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB>߽<EFBFBD><DFBD><EFBFBD>can<61><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>ж<EFBFBD>CAN<41><4E><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
int inf_shm_can_prot_read( void *data, void *timeW );
|
|||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD>ݣ<EFBFBD><DDA3>ɽӿڷ<D3BF><DAB7><EFBFBD> */
|
|||
|
int inf_shm_can_prot_write( const void *data );
|
|||
|
int inf_shm_can_driver_read( void *data );
|
|||
|
int inf_shm_can_driver_write( const void *data );
|
|||
|
|
|||
|
/*** <20><><EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD><D8B6><EFBFBD><EFBFBD><EFBFBD>print<6E><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD> ****/
|
|||
|
int inf_shm_printf_write( const char *forms, ... );
|
|||
|
/** <20>ӻ<EFBFBD><D3BB><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD> ****/
|
|||
|
int inf_shm_printf_read( void *data );
|
|||
|
|
|||
|
//cbt modified 2019.5.22 <20><><EFBFBD><EFBFBD>Ͷ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|||
|
/**<2A><>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> **/
|
|||
|
//int inf_shm_get_addr_ztblock( char **ppucZtblock );
|
|||
|
int inf_shm_get_addr_block( char **ppucBlock );
|
|||
|
int inf_shm_get_addr_zt( char **ppucZt );
|
|||
|
int inf_shm_get_addr_kxzt( char **ppucKxZt );
|
|||
|
|
|||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD>CORE0<45><30>CAN<41><4E><EFBFBD><EFBFBD> **/
|
|||
|
int inf_shm_canadi_driver_read( void *data );
|
|||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> **/
|
|||
|
int inf_shm_canadi_driver_write( const void *data );
|
|||
|
|
|||
|
int inf_shm_canadi_inf_read( void *data );
|
|||
|
int inf_shm_canadi_inf_write( const void *data );
|
|||
|
|
|||
|
/** <20><>ȡг<C8A1><D0B3><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD> **/
|
|||
|
int inf_shm_get_addr_harmon(HarmonBuffType **ppucHarmon);
|
|||
|
|
|||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>բ<EFBFBD>Ƶ<EFBFBD>״̬ **/
|
|||
|
int inf_shm_get_addr_tzled(TZLedBuffType **ppucTzled);
|
|||
|
|
|||
|
/** <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>źű<C5BA><C5B1><EFBFBD><EFBFBD>ĵ<EFBFBD>ַ **/
|
|||
|
int inf_shm_get_addr_gdb_ll(GdbLLBuffType **ppucGdbLL);
|
|||
|
|
|||
|
/** <20><>ȡIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䣨ioIndex<65><78>0<EFBFBD><30>ʼ),<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ʧ<>ܷ<EFBFBD><DCB7>ط<EFBFBD>0 **/
|
|||
|
int inf_shm_io_tremble_time_get( int ioIndex, IOTrembleTimeType *trembleT );
|
|||
|
/** <20>ӿڵ<D3BF><DAB5>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD>IO<49><4F><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> **/
|
|||
|
int inf_shm_io_tremble_time_set( int ioIndex, const IOTrembleTimeType *trembleT );
|
|||
|
|
|||
|
/************************************************************************/
|
|||
|
#ifdef __cplusplus
|
|||
|
}
|
|||
|
#endif
|
|||
|
|
|||
|
|
|||
|
#endif
|