#ifndef _RADAR_F2R3_H_ #define _RADAR_F2R3_H_ #include "API.h" #include "SCI0_UART.h" #include "Line_In.h" #include "Radar_Common.h" /****************************************************************************** �״����� ******************************************************************************/ #define RADAR_F2R3_MSG_LOST_THRESHOLD 1.5 //unit:s #define RADAR_F2R3_MSG_INVALID_THRESHOLD 1.5 //unit:s #define RADAR_CONFIGURATION RADAR_F2R3_CFG_F2R4 /****************************************************************************** �״����� ******************************************************************************/ #define RADAR_F2R3_CFG_R3 0x1 #define RADAR_F2R3_CFG_R4 0x2 #define RADAR_F2R3_CFG_F2R3 0x3 #define RADAR_F2R3_CFG_F2R4 0x4 #define RADAR_F2R3_CFG_F4R4 0x5 #define RADAR_F2R3_NO_CFG 0x7 /****************************************************************************** ϵͳ״̬ ******************************************************************************/ #define RADAR_SYS_ST_DISABLE 0x0 #define RADAR_SYS_ST_ENABLE 0x1 #define RADAR_SYS_ST_FAIL 0x2 /****************************************************************************** ����Buffer�ṹ ******************************************************************************/ typedef union { uint8_t Byte[5]; struct { uint8_t : 3; uint8_t R_SYS_ST : 2; uint8_t Config : 3; uint8_t F_SYS_ST : 2; uint8_t : 6; uint8_t : 8; uint8_t : 1; uint8_t Snd : 3; uint8_t SndDir : 1; uint8_t : 3; uint8_t CheckSum : 8; }Frame; struct { uint8_t RRM : 1; uint8_t RLM : 1; uint8_t RL : 1; uint8_t R_SYS_ST : 2; uint8_t Config : 3; uint8_t F_SYS_ST : 2; uint8_t : 2; uint8_t LED0 : 1; uint8_t SWITCH0 : 1; uint8_t HOST0 : 1; uint8_t RR : 1; uint8_t : 1; uint8_t LED1 : 1; uint8_t SWITCH1 : 1; uint8_t HOST1 : 1; uint8_t FR : 1; uint8_t FRM : 1; uint8_t FLM : 1; uint8_t FL : 1; uint8_t : 1; uint8_t Snd : 3; uint8_t SndDir : 1; uint8_t : 3; uint8_t CheckSum : 8; }Failure; struct { uint8_t RL : 3; uint8_t R_SYS_ST : 2; uint8_t Config : 3; uint8_t F_SYS_ST : 2; uint8_t RR : 3; uint8_t RM : 3; uint8_t : 2; uint8_t FM : 3; uint8_t FL : 3; uint8_t : 1; uint8_t Snd : 3; uint8_t SndDir : 1; uint8_t FR : 3; uint8_t CheckSum : 8; }Msg; }RadarF2R3DataBufferUnion; /****************************************************************************** ������ֵת���� ******************************************************************************/ static const uint8_t RadarF2R3DataConvTable[] = {0x0, 0x3, 0x2, 0x1, 0x0, 0x0, 0x0, 0x0}; /****************************************************************************** ���տ��ƽṹ ******************************************************************************/ typedef struct { uint8_t Enable; uint8_t Complete; uint8_t Ptr; uint16_t Timer; uint16_t InvalidTimer; uint16_t LostTimer; uint16_t Counter; }RadarF2R3ReceivingCtrlStruct; /****************************************************************************** �������� ******************************************************************************/ void Radar_F2R3_Init(void); void Radar_F2R3_Receiving_Service(void); void Radar_F2R3_Receive_Enable(uint8_t En); void Radar_F2R3_Receive_Data(uint8_t Data, uint8_t Parity); #endif