/* * @Filename: * @Descripttionn: * @version: * @Author: TianYu * @Date: 2022-11-15 10:14:18 * @LastEditTime: 2023-06-09 17:39:00 */ #ifndef _NM_CONFIG_H_ #define _NM_CONFIG_H_ typedef struct { uint32_t AppId; uint16_t AppCycleTime; //unit:ms uint16_t AppCycleTimeMax; //unit:ms uint32_t AppLen; uint8_t AppData[8]; }AppMsgTime_t; /* qitiancun */ typedef struct { uint32_t NmIdBase; //default:0x400 uint32_t NmIdBottom; //default:0x4ff uint8_t NmIdOwn; //default:0x4; uint8_t NmRxLimit; //default:0x4 uint8_t NmTxLimit; //default:0x8 uint16_t NmTimeType; //default:100,unit:ms uint16_t NmTimeMax; //default:260,unit:ms uint16_t NmTimeError; //default:1000,unit:ms uint16_t NmTimeWaitBusSleep; //default:1500,unit:ms uint16_t NmTimeRequestSleepInd; //default:5000,unit:ms uint8_t NmTimeRequestLimpSleepInd; //default:4 uint16_t VoltUpLimit; //default:1810 uint16_t VoltDownLimit; //default:690 uint8_t BusoffFastRecoverCnt; uint16_t BusoffFastRecoverTime; uint16_t BusoffSlowRecoverTime; }OSEK_NM_INIT; extern char *GetOsekNmVersion(void); extern uint8_t *GetNmSaveData(uint16_t *len); extern void SetNmSaveData(uint8_t *data, uint16_t len); extern void InitNM(OSEK_NM_INIT *NmInit); extern void OsekNM_Manage_Main(void); extern void NmSetBatVolt(uint16_t n); extern uint8_t GetNmBusSleepSt(void); extern void NM_RemoteWakeup_Fun(void); extern void NM_SetIgnState(uint8_t IgnPosition); extern void NM_Receive_isr_Fun(uint32_t id, uint8_t *pBuf); extern void NM_TranMsgSuccessDetect(void); extern void NM_TranMsgErrorDetect(void); extern void NmSetLastId(uint32_t id); extern void NM_Init_App_Fun(unsigned char n, AppMsgTime_t *msg); extern void NM_Set_App_Fun(unsigned char n, unsigned char *data, unsigned char len); extern unsigned char NM_GetCanBusoffOccurCnt(void); extern void NM_ResetCanBusoffOccurCnt(void); extern uint8_t GetLimphomeState(void); extern uint8_t GetAppSendState(void); #endif