//================================================================== // // Filename: mapp_arm.h // Description: // //------------------------------------------------------------------ // // version: // date: 00:08am, 09.Apr.2012, by Sirius // Description: // //------------------------------------------------------------------ //================================================================== #ifndef _MAPP_ARM_H_ #define _MAPP_ARM_H_ /*------------------------------------------------------------------------------ * I N C L U D E *------------------------------------------------------------------------------*/ #include "stm32f0xx.h" #include "general.h" /*------------------------------------------------------------------------------ * D E F I N E *------------------------------------------------------------------------------*/ /*--- DVD protocol format ---*/ #define ARM_HEAD_CODE (0x2E) #define ARM_PROTOCOL_HEAD ((U08)0x2E) #define ARM_PROTOCOL_ACK (1) #define ARM_ACK_OK ((U08)0xFF) #define ARM_ACK_NG ((U08)0xF0) #define XBS_PROTOCOL #ifndef XBS_PROTOCOL #define XINPU_PROTOCOL #endif //------------------------------------------------------------------ // ARM message entrance // 22:05pm, 07.Jan.2014, modified by Charlie //------------------------------------------------------------------ typedef enum { ARM_MSG_NULL, /* No message to transmit */ ARM_MSG_KEY, /* Transmit steer wheel key */ ARM_MSG_ID, /* Transmit EPS packet */ ARM_MSG_NFC, /* Transmit NFC request */ ARM_MSG_VER, /* Transmit version request */ NumOfArmMsg } T_ARM_MSG; typedef enum { CALL_INIT, CALL_START, CALL_ACK, CALL_Wite, CALL_OK, NumOfCallState } T_CALL_STATE; /*------------------------------------------------------------------------------ * S T R U C T *------------------------------------------------------------------------------*/ //------------------------------------------------------------------ // struct for ARM Rx function. // 22:05pm, 07.Jan.2014, modified by Charlie //------------------------------------------------------------------ typedef struct { const U08 * datatype; void (*pfunc)(void); } T_ARM_RX_FUNC; //------------------------------------------------------------------ // ARM data structure. // 09:30am, 08.Jan.2014, modified by Charlie //------------------------------------------------------------------ typedef struct { U08 i2cstate; U08 workmode; U08 ledhm1620pwmLevel[20]; U08 ledhm1620Date[3]; U32 Ledhm1620AllDate; U08 PCA9635Led[16]; U08 PCA9635LedEn; U08 RTL8152_flag; U08 Uled; U08 Relay[3]; U08 DoorLed[3]; U16 MicVolume; U16 SpkVolume; U08 KeyVaule; U08 KeyState; U08 KeyStateBack; U08 KeyResetFlag; U08 rf_data[4]; U08 decode_ok; //????????¡À¨º???? U08 callled_red; U08 callled_yel; U08 startworkflag; U08 LedKeyState; U16 FJKeymac; U08 BufRxSentTime; //bus ????¡¤??????¡À U08 BufTxSentTime; //bus ????¡¤?????? U08 Bus_RevLength; U08 PA4_Status; //PA4¡¤??¡§¡Á????¨¬??????????????¡À¨º????¡¤?¡À?????1-¡À?????0-??¡À?????¡Á??¨®??????IO???¡À?¡ã???? U08 PA4_Value; } T_ARM_CFG; /*------------------------------------------------------------------------------ * E X T E R N *------------------------------------------------------------------------------*/ extern T_ARM_CFG gtArm; /*------------------------------------------------------------------------------ * P R O T O T Y P E *------------------------------------------------------------------------------*/ void ArmTxTask(void); void ArmRxTask(void); void ArmTaskTmr(void); void ArmValInit(void); void LED_ACK_TASK(U16 prm); U16 HexToInt(U32 u32prm); #endif /* _MAPP_DVD_H_ */ /*------------------------------- E O F ----------------------------------------*/