123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- //==================================================================
- //
- // Filename: mapp_can.h
- // Description:
- //
- //------------------------------------------------------------------
- //
- // version:
- // date: 00:08am, 09.Apr.2012, by Sirius
- // Description:
- //
- //------------------------------------------------------------------
- //==================================================================
- #ifndef _MAPP_CAN_H_
- #define _MAPP_CAN_H_
- /*------------------------------------------------------------------------------
- * I N C L U D E
- *------------------------------------------------------------------------------*/
- #include "stm32f0xx.h"
- #include "general.h"
- /*------------------------------------------------------------------------------
- * D E F I N E
- *------------------------------------------------------------------------------*/
- /*------------------------------------------------------------------------------
- * S T R U C T
- *------------------------------------------------------------------------------*/
- //------------------------------------------------------------------
- // different CAN ID for car:
- // modified by USER, eg.FORD below.
- //------------------------------------------------------------------
- typedef struct {
- const U32 frmid; /* frame ID */
- void (*frmfunc)(void); /* frame function */
- } T_CAN_CFG;
- //------------------------------------------------------------------
- // CAN receive data structure
- // enque when FIRO interrupt,deque when processed.
- //------------------------------------------------------------------
- #define CAN_RX_MSG_CNT 40
- typedef struct {
- CanRxMsg msgQ[CAN_RX_MSG_CNT]; /* message queue buffer */
- U08 enque; /* enque pointer */
- U08 deque; /* deque pointer */
- } T_CAN_RXQ;
- //------------------------------------------------------------------
- // CAN task state.
- //------------------------------------------------------------------
- typedef enum {
- CAN_POWER_START, /* first time power-up */
- CAN_TRCVR_INIT, /* can transceiver init */
- CAN_LAYER_INIT, /* can controller init */
- CAN_WAKE_UP, /* can wake up */
- CAN_STATE_RUN, /* normally working */
- CAN_STATE_SLEEP, /* can into sleep state */
- NumOfCanState
- } T_CAN_STATE;
- //------------------------------------------------------------------
- // iCAN_Network_DLL_Transceiver_Control
- //------------------------------------------------------------------
- typedef enum {
- TRCVR_INIT,
- TRCVR_ON,
- TRCVR_OFF,
- TRCVR_WATOFF,
- NumOfTrcvrState
- } T_TRCVR_STATE;
- enum {
- CARTYPE_NULL,
- CARTYPE_AUDI,
- CARTYPE_HONDA,
- CARTYPE_FOD,
- CARTYPE_BUICK,
- CARTYPE_TRUMPCHI,
- CARTYPE_MAX
- };
- /*------------------------------------------------------------------------------
- * E X T E R N
- *------------------------------------------------------------------------------*/
- extern T_CAN_RXQ gtCanRxBuf;
- extern VU16 s_vu16CanLostTmr;
- extern T_CAN_STATE s_tCanState;
- extern U08 MidFuction;
- /*------------------------------------------------------------------------------
- * P R O T O T Y P E
- *------------------------------------------------------------------------------*/
- void CanCfgInit(void);
- void CanTask(void);
- void CanTaskTmr(void);
- T_CAN_STATE CanTaskState(void);
- void CanBusSleep(void);
- void CanBusWakeup(void);
- BOOL CanBusActive(void);
- void CanMsgAnalyseTask(void);
- void CanVariablesInit(void);
- U08 CanBusRunState(void);
- #endif /* _MAPP_CAN_H_ */
- /*------------------------------- E O F ----------------------------------------*/
|