#ifndef AFS_H #define AFS_H // ***************************************************************************** // Filename : Afs.h // // Project : // // Author : Mario.Wang // Owner : // // Date : 09.26.2022 // // Description : speed class for afs function // // (C) Automotive-Lighting - ALSH/EE-SW // No.685, Jujin Road, Pudong New District, Shanghai, China // ***************************************************************************** #include "Std_Types.h" #include "Platform_Types.h" #include "AL_Platform_Types.h" #include typedef enum _TurnSteerState { TURN_STEER_NEUTRAL = 0U, TURN_STEER_LEFT = 1U, TURN_STEER_RIGHT = 2U } tieAfsTurnSteerState; typedef struct _tisAfsFiltDebounce { uint8 ucActivedData; // current data uint8 ucPendingData; // undetermined data uint32 ulFiltTimer; // after Filt timer completed, then ucPendingData ---> ucActivedData } tisAfsFiltDebounce; typedef struct _tSpeedClass { uint8 ucActivedSC; // current SC uint8 ucPendingSC; // undetermined SC /// debounce SPEED_CLASS_DEBOUNCE_TIME then pendingSC ---> ucActivedSC } tisSpeedClass; typedef struct { uint8 ucAfsSpeedClass; sint16 ssAfsAvac_StpOffset; } tisAfsSpdClass_AvacOffset; typedef struct { uint8 ucAFSModeClass; const tRomPara_AFSModeCfg *tisAFSModeCfg; }tisAfsCfgMap; // prototypes void Rte_riAfsInit(void); void Rte_rpAfs20ms(void); boolean Afs_Get_AfsEnable(void); uint8 Afs_Get_AfsClass(void); sint16 Afs_Get_StpOffsetAngle(void); boolean Afs_Get_LowerBeamLightCmd(void); uint8 Afs_Get_LeftCornerLightCmd(void); uint8 Afs_Get_RightCornerLightCmd(void); #endif // AFS_H