95 lines
2.4 KiB
C
Raw Permalink Normal View History

2024-07-07 16:42:04 +08:00
#ifndef __CANNW_H
#define __CANNW_H
#include "CanNwConfig.h"
#include "appTask.h"
/***************************************************************/
/*
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD>Autosar<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>2018\06\20
*/
/***************************************************************/
/*
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
RMS = Repeat Message State <EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD>Ϣ״̬
NOS = Normal Operation State <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
*/
typedef enum
{
CAN_NW_RESERVED, //0 ȱʡ
CAN_NW_RMS_SLEEP, //1 ˯<><CBAF>ģʽ<C4A3><CABD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>Ϣģʽ
CAN_NW_RMS_PREPARE_SLEEP, //2 ׼<><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˯<EFBFBD><CBAF>ģʽ<C4A3><CABD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>Ϣģʽ
CAN_NW_RMS_NORMAL_OPERATION, //3 <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>Ϣģʽ
CAN_NW_RMS_READY_SLEEP, //4 ׼<><D7BC>˯<EFBFBD><CBAF>ģʽ<C4A3><CABD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>Ϣģʽ
CAN_NW_NOS_REPEAT_MESSAGE, //5 <09>ظ<EFBFBD><D8B8><EFBFBD>Ϣģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
CAN_NW_NOS_READY_SLEEP, //6 ׼<><D7BC>˯<EFBFBD><CBAF>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
CAN_NW_GOTO_SLEEP, //7 <20><><EFBFBD>糬ʱ2.5S<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˯<EFBFBD><EFBFBD>ģʽ
CAN_NW_READY_SLEEP
}CAN_NW_STATE;
/*
<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ʱ<EFBFBD>λ<EFBFBD><EFBFBD>10MS
*/
#define NM_TIMEOUT_TIMER_THR 2000U
#define REPEAT_MESSAGE_TIMER_THR 1600U
#define WAIT_BUS_SLEEP_TIMER_THR 2000U
#define REPEAT_NW_CYCLE_TIMER_THR 500U
#define NM_NORMAL_CYCLE_TIMER_THR 500U
#define IMMEDIATENM_CYCLE_TIMER_THR 20U
#define NM_TIMEOUT 0U
#define T_NM_ImmediateCycleTime 20U
#define PASSIVE_WAKEUP 0U
#define LOCAL_ACTIVE_WAKEUP 1U
#define REMOTE_ACTIVE_WAKEUP 2U
#define SEND_DISABLE 0
#define SEND_APP_PDU 1
#define SEND_NWAPP_PDU 2
extern unsigned char ucNwSendPduType;
extern CAN_NW_STATE euNwState;
extern unsigned int uiNwTimCnt;
extern unsigned int uiNwToutCnt;
extern unsigned int uiNwRMSCnt;
extern unsigned int uiNwBsSlpCnt;
extern unsigned int uiSetNwPduCycVal;
extern unsigned int uiNwPduCycCnt;
extern unsigned char ucActiveWakeupBit;
extern unsigned char ucNwPowerUpFlg;
extern unsigned char ucRemoteWakupFlg;
extern unsigned char ucNwNetIdelCheck;
extern unsigned char ucNwNetIdelFlg;
extern unsigned char ucPreLocWkpStu;
extern unsigned int uiNwLocWkpOffCnt;
extern unsigned char ImmediateNM_count;
extern unsigned char RepeatMessageReq;
extern unsigned char DiagMsgRcvFlag;
extern unsigned int DiagCnt;
#define NW_NET_INACTIVE 0
#define NW_NET_ACTIVE 1
extern unsigned char ucNetActiveFlg; //0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܹرգ<D8B1>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܿ<EFBFBD><DCBF><EFBFBD>
void CanNwInit(void);
void CanNwHandle(void);
#endif