123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574 |
- /************************************************************************
- Project: Welling Motor Control Paltform
- Filename: alarm.h
- Partner Filename: alarm.c
- Description: The header file of alarm.c
- Complier: IAR Embedded Workbench for ARM 7.80, IAR Systems.
- CPU TYPE : GD32F3x0
- *************************************************************************
- Copyright (c) 2018 Welling Motor Technology(Shanghai) Co. Ltd.
- All rights reserved.
- *************************************************************************
- *************************************************************************
- Revising History (ECL of this file):
- ************************************************************************/
- /************************************************************************
- Beginning of File, do not put anything above here except notes
- Compiler Directives:
- *************************************************************************/
- #ifndef ALARM_H
- #define ALARM_H
- /************************************************************************
- Compiler Directives (N/A)
- *************************************************************************/
- #ifdef _ALARM_C_
- #define _ALARM_EXT
- #else
- #define _ALARM_EXT extern
- #endif
- /************************************************************************
- Definitions & Macros
- *************************************************************************/
- #define ALM_CODE_DEFAULT \
- { \
- 0 \
- } // Default value of ALM_CODE
- #define ALM_ACTION_DEFAULT \
- { \
- 0 \
- } // Default value of ALM_ACTION
- #define ALM_IN_DEFAULT \
- { \
- FALSE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \
- } // Default value of ALM_IN_DEFAULT
- #define ALM_DETECT_COUNT_DEFAULT \
- { \
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \
- } // Default value of ALM_DETECT_COUNT
- #define ALM_STOP_COUNT_DEFAULT \
- { \
- 0, 0, 0, 0, 0, 0 \
- } // Default value of ALM_STOP_COUNT
- #define ALM_RECOVER_COUNT_DEFAULT \
- { \
- 0, 0, 0, 0, 0, 0, 0, 0 \
- } // Default value of ALM_RECOVER_COUNT
- #define ALM_DETECTBC_COF_DEFAULT \
- { \
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \
- } // Default value of ALM_DETECTBC_COF
- #define ALM_DETECTBS_COF_DEFAULT \
- { \
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \
- } // Default value of ALM_DETECTBS_COF
- #define ALM_STOPTBC_COF_DEFAULT \
- { \
- 0, 0, 0, 0, 0, 0, 0 \
- } // Default value of ALM_STOPTBC_COF
- #define ALM_RESET_COF_DEFAULT \
- { \
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \
- } // Default value of ALM_RESET_COF
- #define ALM_DETECT200MS_COF_DEFAULT \
- { \
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\
- } // Default value of ALM_DETECT200MS_COF
- #define ALM_RESET1MS_COF_DEFAULT \
- { \
- 0, 0, 0, 0, 0, 0, 0 \
- } // Default value of ALM_RESET1MS_COF
- #define ALM_BIKE_IN_DEFAULT \
- { \
- 0, 0, 0, 0, 0, 0, 0, FALSE, FALSE, FALSE, FALSE \
- } // Default value of ALM_BIKE_IN_DEFAULT
- /************************************************************************
- TypeDefs & Structure defines (N/A)
- *************************************************************************/
- typedef union
- {
- struct
- { // bit description
- UWORD IPMFlt : 1; // 0 IPM fault
- UWORD OvrCur : 1; // 1 Over current
- UWORD CritOvrVlt : 1; // 2 Critical over voltage
- UWORD OvrVlt : 1; // 3 Over voltage
- UWORD UndrVlt : 1; // 4 under voltage
- UWORD OvrSpd : 1; // 5 Over speed
- UWORD OvrLoad : 1; // 6 Over load
- UWORD IPMOvrHeat : 1; // 7 IPM over heat
- UWORD HallLoss : 1; // 8 Hall loss
- UWORD PhsLoss : 1; // 9 Phase loss
- UWORD RotorLock : 1; // 10 Rotor lock
- UWORD MotorOvrHeat : 1; // 11 Motor over heat
- UWORD CommOvrTm : 1; // 12 Communication over time
- UWORD ADCOffsetFlt : 1; // 13 ADC Self Detecting Fault
- UWORD Rsvd1 : 1; // 14 Reserved
- UWORD Rsvd2 : 1; // 15 Reserved
- } bit;
- UWORD all;
- } ALM_CODE;
- typedef union
- {
- struct
- { // bit
- UWORD BikeSpdSen : 1; // 0
- UWORD CadenceSen : 1; // 1
- UWORD TorqSen : 1; // 2
- UWORD Throttle : 1; // 3
- UWORD PCBNTC : 1; // 4
- UWORD MotorNTC : 1; // 5
- UWORD Brake : 1; // 6
- UWORD Rsvd2 : 1; // 7
- UWORD Rsvd3 : 1; // 8
- UWORD Rsvd4 : 1; // 9
- UWORD Rsvd5 : 1; // 10
- UWORD Rsvd6 : 1; // 11
- UWORD Rsvd7 : 1; // 12
- UWORD Rsvd8 : 1; // 13
- UWORD Rsvd9 : 1; // 14
- UWORD Rsvd10 : 1; // 15
- } bit;
- UBYTE all;
- } ALM_BIKE_CODE;
- typedef union
- {
- struct
- { // bit description
- UWORD ThrPhsShrtFrc : 1; // 0 Three phase short force
- UWORD PWMOff : 1; // 1 PWM disable
- UWORD ThrPhsShrt : 1; // 2 Three phase short
- UWORD SlowDwn : 1; // 3 Slow down to stop
- UWORD Rsvd1 : 12; // 4-15 Reserved
- } bit;
- UWORD all;
- } ALM_ACTION;
- typedef struct
- {
- BOOL blADCInitOvrFlg;
- UWORD uwIpeakPu; // Q14
- UWORD uwURegpeakPu; // Q14
- SWORD swMotorPwrInWt; // unit: w
- UWORD uwIaAbsPu; // Q14
- UWORD uwIbAbsPu; // Q14
- UWORD uwIcAbsPu; // Q14
- SWORD swIalhpaPu; // Q14
- SWORD swIbetaPu; // Q14
- SWORD swIqRefPu; // Q14
- UWORD uwVdcPu; // Q14
- UWORD uwVdcCompPu; // Q14
- UWORD uwSpdFbkLpfAbsPu; // Q15
- UWORD uwSpdRefAbsPu; // Q15
- SWORD swIPMTempCe; // Not Pu, centigrade
- UWORD uwMotorTempCe; // Not Pu, centigrade
- UWORD uwIaOffset; // Ia offset value
- UWORD uwIbOffset; // Ib offset value
- UWORD uwIcOffset; // Ib offset value
- UWORD uwIdcOffset; // Idc offset value
- UWORD uwSectorNum; // Hall Value
- } ALM_IN;
- typedef struct
- {
- ULONG ulIa_Filter;
- ULONG ulIb_Filter;
- ULONG ulIc_Filter;
- }IABCSTRUCT;
- typedef struct
- {
- ULONG ulOvrCur;
- ULONG ulOvrVltLvl1;
- ULONG ulUndrVltLvl1;
- ULONG ulOvrSpd;
- ULONG ulIPMOvrHeat;
- ULONG ulIPMOvrHeat1;
- ULONG ulMotorOvrHeat;
- ULONG ulMotorOvrHeat1;
- ULONG ulPhsALoss;
- ULONG ulPhsBLoss;
- ULONG ulPhsCLoss;
- SLONG slRotorLock;
- ULONG ulHallLoss;
- ULONG ulBikeSpeedFltCnt;
- ULONG ulCadFreFltCnt;
- UWORD uwBikeSpdFlt;
- UWORD uwCadenceFlt;
- UWORD uwTorqFlt;
- UWORD uwThrottleFlt;
- UWORD uwPCBNTCFlt;
- UWORD uwMotorNTCFlt;
- UWORD uwBrakeFlt;
- } ALM_DETECT_COUNT;
- typedef enum
- {
- Alm_Stop = 0,
- Alm_VarClc = 1,
- Alm_Reset = 2,
- } ALM_FSM_STATUS;
- typedef struct
- {
- ULONG ulThrPhsShrtFrc;
- ULONG ulPWMOff;
- ULONG ulPWMOffShrtSw;
- ULONG ulShrtPWMOffSw;
- ULONG ulThrPhsShrt;
- UWORD uwRotorStopCnt;
- ULONG ulBikePWMOff;
- } ALM_STOP_COUNT;
- typedef struct
- {
- ULONG ulGlbl;
- ULONG ulOvrVlt;
- ULONG ulOvrVlt1;
- ULONG ulUndrVlt;
- ULONG ulUndrVlt1;
- ULONG ulIPMOC;
- ULONG ulIPMOvrHeat;
- ULONG ulIPMOvrHeat1;
- ULONG ulMotorOvrHeat;
- ULONG ulMotorOvrHeat1;
- ULONG ulBikeGlbl;
- ULONG ulBikeSpdFlt;
- ULONG ulCadenceFlt;
- ULONG ulTorqFlt;
- ULONG ulThrottleFlt;
- ULONG ulPCBNTCFlt;
- ULONG ulMotorNTCFlt;
- } ALM_RECOVER_COUNT;
- typedef struct
- { // input of "alm_voDetecTBC"
- ULONG ulOvrCurValPu; // ALM_OVR_CNT_VAL
- ULONG ulOvrCurValCt; // ALM_OVR_CNT_TM
- SLONG slAdcDetHigValPu; // ALM_ADC_DETE_HIG_VAL
- SLONG slAdcDetLowValPu; // ALM_ADC_DETE_LOW_VAL
- ULONG ulPhsLossValPu; // ALM_PHS_LOSS_VAL
- ULONG ulPhsLossValCt; // ALM_PHS_LOSS_TM
- ULONG slRotorLockSpdK; // ALM_ROTOR_LOCK_SPD_K
- SLONG slRotorLockValCt; // ALM_ROTOR_LOCK_TM
- SLONG slIqRefLpfAbsValPu; // alm_pvt_swIqRefLpfAbsPu
- SLONG slSpdFbLpfAbsValPu; // alm_pvt_swSpdFbLpfAbsPu
- UWORD uwRsPu;
- UWORD uwPbWt;
- } ALM_DETECTBC_COF;
- typedef struct
- {
- UWORD uwFTbcHz;
- UWORD uwIbAp; /* unit: 0.01A, Current base */
- UWORD uwUbVt;
- UWORD uwOvrCurIa; // ALM_OVR_CNT_VAL
- UWORD uwOvrCurTu; // ALM_OVR_CNT_TM
- UWORD uwAdcDetHigVt; // ALM_ADC_DETE_HIG_VAL
- UWORD uwAdcDetLowVt; // ALM_ADC_DETE_LOW_VAL
- UWORD uwPhsLossVt; // ALM_PHS_LOSS_VAL
- UWORD uwPhsLossTs; // ALM_PHS_LOSS_TM
- UWORD uwRotorLockSpdK; // ALM_ROTOR_LOCK_SPD_K
- UWORD uwRotorLockTs; // ALM_ROTOR_LOCK_TM
- SWORD swIqRefLpfAbsAp; // slIqRefLpfAbsValPu
- SWORD swSpdFbLpfAbsRpm; // slSpdFbLpfAbsValPu
- UWORD uwPairs;
- UWORD uwFbHz;
- UWORD uwMtRsOm;
- } ALM_DETECTBC_COFIN;
- typedef struct
- { // input of "alm_voDetecTBS"
- ULONG ulOvrVltLvl1ValPu; // ALM_OVR_VLT_LVL1_VAL
- ULONG ulOvrVltLvl1ValCt; // ALM_OVR_VLT_LVL1_TM
- ULONG ulUndrVltLvl1ValPu; // ALM_UNDR_VLT_LVL1_VAL
- ULONG ulUndrVltLvl1ValCt; // ALM_UNDR_VLT_LVL1_TM
- SLONG slOvrSpdValPu; // ALM_OVR_SPD_VAL
- ULONG ulOvrSpdValCt; // ALM_OVR_SPD_TM
- UWORD uwIPMOvrHeatRecValCe; // ALM_IPM_OVR_HEAT_REC_VAL
- ULONG ulIPMOvrHeatValCt; // ALM_IPM_OVR_TM
- UWORD uwIPMOvrHeatValCe; // ALM_IPM_OVR_HEAT_VAL
- UWORD uwMotorOvrHeatRecValCe; // ALM_MOTOR_OVR_HEAT_REC_VAL
- ULONG ulMotorOvrHeatValCt; // ALM_MOTOR_OVR_TM
- UWORD uwMotorOvrHeatValCe; // ALM_MOTOR_OVR_HEAT_VAL
- } ALM_DETECTBS_COF;
- typedef struct
- { // input of "alm_voDetecTBS"
- UWORD uwUbVt; /* unit: 0.1V, Voltage base */
- UWORD uwFbHz; /* unit: Hz, Frequency base */
- UWORD uwPairs; // Pole pairs base
- UWORD uwFTbsHz;
- UWORD uwOvrVlt1Vt; // ALM_OVR_VLT_LVL1_VAL
- UWORD uwOvrVlt1Tm; // ALM_OVR_VLT_LVL1_TM
- UWORD uwUndrVlt1Vt; // ALM_UNDR_VLT_LVL1_VAL
- UWORD uwUndrVlt1Tm; // ALM_UNDR_VLT_LVL1_TM
- UWORD uwOvrSpdRpm; // ALM_OVR_SPD_VAL
- UWORD uwOvrSpdTm; // ALM_OVR_SPD_TM
- UWORD uwIpmOvrHeatRecCe; // ALM_IPM_OVR_HEAT_REC_VAL
- UWORD uwIpmOvrHeatTs; // ALM_IPM_OVR_TM
- UWORD uwIpmOvrHeatCe; // ALM_IPM_OVR_HEAT_VAL
- UWORD uwMotorOvrHeatRecCe; // ALM_IPM_OVR_HEAT_REC_VAL
- UWORD uwMotorOvrHeatTs; // ALM_IPM_OVR_TM
- UWORD uwMotorOvrHeatCe; // ALM_IPM_OVR_HEAT_VAL
- } ALM_DETECTBS_COFIN;
- typedef struct
- { // input of "alm_voStopTBC"
- ULONG ulThrPhsShrtFrcValCt; // ALM_THR_PHS_SHRT_FRC_TM
- ULONG ulStopCurValCt; // ALM_STOP_CUR_TM
- ULONG ulPWMOffShrt1SwValCt; // ALM_PWMOFF_SHRT1_SW_TM
- ULONG ulShrtPWMOffSwValCt;
- ULONG ulPWMOffValCt; // ALM_PWM_OFF_TM
- ULONG ulThrPhsShrtNormValCt;
- ULONG ulOvrVltLvl1ValPu;
- } ALM_STOPTBC_COF;
- typedef struct
- { // input of "alm_voStopTBC"
- UWORD uwFTbcHz;
- UWORD uwIbAp; /* unit: 0.01A, Current base */
- UWORD uwUbVt; /* unit: 0.1V, Voltage base */
- UWORD uwThrPhsShrtFrcTs; // ALM_THR_PHS_SHRT_FRC_TM
- UWORD uwIPMOverCurStopTs; // ALM_IPM_OVER_CURRENT_STOP
- UWORD uwPwmoffShrt1SwTs; // ALM_PWMOFF_SHRT1_SW_TM
- UWORD uwShrtPwmoffSwTs;
- UWORD uwPwmOffTs; // ALM_PWM_OFF_TM
- UWORD uwThrPhsShrtTs;
- UWORD uwOvrVlt1Vt;
- } ALM_STOPTBC_COFIN;
- typedef struct
- { // input of "alm_voReset"
- ULONG ulRecAllValCt; // ALM_REC_ALL_TM
- ULONG ulIPMOcRecValCt; // ALM_IPM_OC_REC_TM
- ULONG ulOvrVltRecValPu; // ALM_OVR_VLT_REC_VAL
- ULONG ulOvrVltRecValCt; // ALM_OVR_VLT_REC_TM
- ULONG ulUndrVltRecValPu; // ALM_UNDR_VLT_REC_VAL
- ULONG ulUndrVltRecValCt; // ALM_UNDR_VLT_REC_TM
- UWORD uwIPMOvrHeatRecValCe; // ALM_IPM_OVR_HEAT_REC_VAL
- ULONG ulIPMOvrHeatRecValCt; // ALM_IPM_OVR_REC_TM
- ULONG ulIPMOvrHeatRec1ValCt; // ALM_IPM_OVR_REC_TM1
- UWORD uwMotorOvrHeatRecValCe; // ALM_IPM_OVR_HEAT_REC_VAL
- ULONG ulMotorOvrHeatRecValCt; // ALM_IPM_OVR_REC_TM
- ULONG ulMotorOvrHeatRec1ValCt; // ALM_IPM_OVR_REC_TM1
- } ALM_RESET_COF;
- typedef struct
- {
- UWORD uwUbVt; /* unit: 0.1V, Voltage base */
- UWORD uwFTbcHz;
- UWORD uwRecAllTs; // ALM_REC_ALL_TM
- UWORD uwIpmOcRecTs; // ALM_IPM_OC_REC_TM
- UWORD uwOvrVltRecVt; // ALM_OVR_VLT_REC_VAL
- UWORD uwOvrVltRecTs; // ALM_OVR_VLT_REC_TM
- UWORD uwUndrVltRecVt; // ALM_UNDR_VLT_REC_VAL
- UWORD uwUndrVltRecTs; // ALM_UNDR_VLT_REC_TM
- UWORD uwIpmOvrHeatRecCe; // ALM_IPM_OVR_HEAT_REC_VAL
- UWORD uwIpmOvrHeatRecTs; // ALM_IPM_OVR_REC_TM
- UWORD uwIpmOvrHeatRec1Ts; // ALM_IPM_OVR_REC_TM1
- UWORD uwMotorOvrHeatRecCe; // ALM_IPM_OVR_HEAT_REC_VAL
- UWORD uwMotorOvrHeatRecTs; // ALM_IPM_OVR_REC_TM
- UWORD uwMotorOvrHeatRec1Ts; // ALM_IPM_OVR_REC_TM1
- } ALM_RESET_COFIN;
- typedef struct
- {
- UWORD uwBikeSpdFltCt;
- UWORD uwCadenceFltCt;
- UWORD uwTorqFltCt;
- UWORD uwThrottleFltCt;
- UWORD uwPCBNTCFltCt;
- UWORD uwMotorNTCFltCt;
- SWORD swMotorSpdMinPu;
- UWORD uwTorqMinPu;
- UWORD uwTorqMinReg;
- UWORD uwTorqMaxReg;
- UWORD uwThrottleMinReg;
- UWORD uwThrottleMaxReg;
- UWORD uwNTCMinReg;
- UWORD uwNTCMaxReg;
- } ALM_DETEC200MS_COF;
- typedef struct
- {
- UWORD uwFbHz; // unit: Hz, Frequency base
- UWORD uwPairs;
- UWORD uwFT200MSHz;
- UWORD uwBikeSpdFltTs;
- UWORD uwCadenceFltTs;
- UWORD uwTorqFltTs;
- UWORD uwThrottleFltTs;
- UWORD uwPCBNTCFltTs;
- UWORD uwMotorNTCFltTs;
- SWORD swMotorSpdMinRpm;
- UWORD uwTorqMinNm;
- UWORD uwTorqMinVol;
- UWORD uwTorqMaxVol;
- UWORD uwThrottleMinVol;
- UWORD uwThrottleMaxVol;
- UWORD uwNTCMinVol;
- UWORD uwNTCMaxVol;
- } ALM_DETEC200MS_COFIN;
- typedef struct
- {
- UWORD uwBikeSpdPu;
- UWORD uwCadenceFreqPu;
- UWORD uwTroqReg;
- UWORD uwTroqPu;
- UWORD uwThrottleReg;
- UWORD uwPCBNTCReg;
- UWORD uwMotorNTCReg;
- SWORD swMotorSpdAbsPu;
- BOOL blBikeSpdOvrFlg;
- BOOL blCadenceFreqOvrFlg;
- BOOL blThrottleExistFlg;
- BOOL blMotorNTCExistFlg;
- } ALM_BIKE_IN;
- typedef struct
- {
- ULONG ulRecAllValCt;
- ULONG ulRecBikeSpdCt;
- ULONG ulRecCadenceCt;
- ULONG ulRecTorqCt;
- ULONG ulRecThrottleCt;
- ULONG ulRecPCBNTCCt;
- ULONG ulRecMotorNTCCt;
- } ALM_RESET1MS_COF;
- typedef struct
- {
- UWORD uwFT1MSHz;
- UWORD uwBikeGlblTm;
- UWORD uwBikeSpdFltTm;
- UWORD uwCadenceFltTm;
- UWORD uwTorqFltTm;
- UWORD uwThrottleFltTm;
- UWORD uwPCBNTCFltTm;
- UWORD uwMotorNTCFltTm;
- } ALM_RESET1MS_COFIN;
- /************************************************************************
- Exported Variables
- *************************************************************************/
- #ifdef _ALARM_C_
- _ALARM_EXT ALM_CODE alm_unCode = ALM_CODE_DEFAULT;
- _ALARM_EXT ALM_IN alm_stIn = ALM_IN_DEFAULT;
- _ALARM_EXT ALM_FSM_STATUS alm_enFSMStatus = Alm_Stop;
- _ALARM_EXT ALM_DETECTBC_COF alm_stDetectTbcCoef = ALM_DETECTBC_COF_DEFAULT;
- _ALARM_EXT ALM_DETECTBS_COF alm_stDetectTbsCoef = ALM_DETECTBS_COF_DEFAULT;
- _ALARM_EXT ALM_STOPTBC_COF alm_stStopTbcCoef = ALM_STOPTBC_COF_DEFAULT;
- _ALARM_EXT ALM_RESET_COF alm_stResetCoef = ALM_RESET_COF_DEFAULT;
- _ALARM_EXT ALM_BIKE_CODE alm_unBikeCode = ALM_CODE_DEFAULT;
- _ALARM_EXT ALM_BIKE_IN alm_stBikeIn = ALM_BIKE_IN_DEFAULT;
- _ALARM_EXT ALM_FSM_STATUS alm_enBikeFSMStatus = Alm_Stop;
- _ALARM_EXT ALM_RESET1MS_COF alm_stReset1MSCoef = ALM_RESET1MS_COF_DEFAULT;
- _ALARM_EXT ALM_DETEC200MS_COF alm_stDetect200MSCoef = ALM_DETECT200MS_COF_DEFAULT;
- _ALARM_EXT ALM_ACTION alm_unAction = ALM_ACTION_DEFAULT;
- _ALARM_EXT ALM_DETECT_COUNT alm_stDecCt = ALM_DETECT_COUNT_DEFAULT;
- _ALARM_EXT ALM_STOP_COUNT alm_stStopCt = ALM_STOP_COUNT_DEFAULT;
- _ALARM_EXT ALM_RECOVER_COUNT alm_stRecCt = ALM_RECOVER_COUNT_DEFAULT;
- _ALARM_EXT BOOL alm_blAlmOccrFlg = FALSE;
- _ALARM_EXT BOOL alm_blWarnOccrFlg = FALSE;
- _ALARM_EXT BOOL alm_blAlmSingleRecordDoneFlg = FALSE;
- #else
- _ALARM_EXT ALM_CODE alm_unCode;
- _ALARM_EXT ALM_IN alm_stIn;
- _ALARM_EXT ALM_FSM_STATUS alm_enFSMStatus;
- _ALARM_EXT ALM_DETECTBC_COF alm_stDetectTbcCoef;
- _ALARM_EXT ALM_DETECTBS_COF alm_stDetectTbsCoef;
- _ALARM_EXT ALM_STOPTBC_COF alm_stStopTbcCoef;
- _ALARM_EXT ALM_RESET_COF alm_stResetCoef;
- _ALARM_EXT ALM_BIKE_CODE alm_unBikeCode;
- _ALARM_EXT ALM_BIKE_IN alm_stBikeIn;
- _ALARM_EXT ALM_FSM_STATUS alm_enBikeFSMStatus;
- _ALARM_EXT ALM_RESET1MS_COF alm_stReset1MSCoef;
- _ALARM_EXT ALM_DETEC200MS_COF alm_stDetect200MSCoef;
- _ALARM_EXT ALM_ACTION alm_unAction;
- _ALARM_EXT ALM_DETECT_COUNT alm_stDecCt;
- _ALARM_EXT ALM_STOP_COUNT alm_stStopCt;
- _ALARM_EXT ALM_RECOVER_COUNT alm_stRecCt;
- _ALARM_EXT BOOL alm_blAlmOccrFlg;
- _ALARM_EXT BOOL alm_blWarnOccrFlg;
- _ALARM_EXT BOOL alm_blAlmSingleRecordDoneFlg;
- #endif
- /************************************************************************
- RAM ALLOCATION (N/A)
- *************************************************************************/
- #define alm_stDetectTbcCoefIn (*(ALM_DETECTBC_COFIN *)MN_BUFFER)
- #define alm_stDetectTbsCoefIn (*(ALM_DETECTBS_COFIN *)MN_BUFFER)
- #define alm_stStopTbcCoefIn (*(ALM_STOPTBC_COFIN *)MN_BUFFER)
- #define alm_stResetCoefIn (*(ALM_RESET_COFIN *)MN_BUFFER)
- #define alm_stDetect200MSCoefIn (*(ALM_DETEC200MS_COFIN *)MN_BUFFER)
- #define alm_stReset1MSCoefIn (*(ALM_RESET1MS_COFIN *)MN_BUFFER)
- /************************************************************************
- Exported Function Call Prototypes
- *************************************************************************/
- #ifdef _ALARM_C_
- _ALARM_EXT void alm_voInit(void);
- _ALARM_EXT void alm_voCoef(void);
- _ALARM_EXT void alm_voDetecTBC(ALM_IN *in, ALM_DETECTBC_COF *coef);
- _ALARM_EXT void alm_voDetecTBCCoef(ALM_DETECTBC_COFIN *in, ALM_DETECTBC_COF *out);
- _ALARM_EXT void alm_voDetecTBS(ALM_IN *in, ALM_DETECTBS_COF *coef);
- _ALARM_EXT void alm_voDetecTBSCoef(ALM_DETECTBS_COFIN *in, ALM_DETECTBS_COF *out);
- _ALARM_EXT void alm_voHandleTBC(ALM_IN *in);
- _ALARM_EXT void alm_voHandleTBS(ALM_IN *in);
- _ALARM_EXT void alm_voStopTBCCoef(ALM_STOPTBC_COFIN *in, ALM_STOPTBC_COF *out);
- _ALARM_EXT void alm_voStopTBC(ALM_IN *in, ALM_STOPTBC_COF *coef);
- _ALARM_EXT void alm_voStopTBS(void);
- _ALARM_EXT void alm_voResetCoef(ALM_RESET_COFIN *in, ALM_RESET_COF *out);
- _ALARM_EXT void alm_voReset(ALM_IN *in, ALM_RESET_COF *coef);
- _ALARM_EXT void alm_voHandleRst(void);
- _ALARM_EXT void alm_voDetec200MSCoef(ALM_DETEC200MS_COFIN *in, ALM_DETEC200MS_COF *out);
- _ALARM_EXT void alm_voDetec200MS(const ALM_BIKE_IN *in, const ALM_DETEC200MS_COF *coef);
- _ALARM_EXT void alm_voHandle1MS(const ALM_BIKE_IN *in);
- _ALARM_EXT void alm_voReset1MSCoef(const ALM_RESET1MS_COFIN *in, ALM_RESET1MS_COF *out);
- _ALARM_EXT void alm_voReset1MS(const ALM_BIKE_IN *in, const ALM_RESET1MS_COF *coef, const ALM_DETEC200MS_COF *detctcoef);
- #else
- _ALARM_EXT void alm_voInit(void);
- _ALARM_EXT void alm_voCoef(void);
- _ALARM_EXT void alm_voDetecTBC(ALM_IN *in, ALM_DETECTBC_COF *coef);
- _ALARM_EXT void alm_voDetecTBCCoef(ALM_DETECTBC_COFIN *in, ALM_DETECTBC_COF *out);
- _ALARM_EXT void alm_voDetecTBS(ALM_IN *in, ALM_DETECTBS_COF *coef);
- _ALARM_EXT void alm_voDetecTBSCoef(ALM_DETECTBS_COFIN *in, ALM_DETECTBS_COF *out);
- _ALARM_EXT void alm_voHandleTBC(ALM_IN *in);
- _ALARM_EXT void alm_voHandleTBS(ALM_IN *in);
- _ALARM_EXT void alm_voStopTBCCoef(ALM_STOPTBC_COFIN *in, ALM_STOPTBC_COF *out);
- _ALARM_EXT void alm_voStopTBC(ALM_IN *in, ALM_STOPTBC_COF *coef);
- _ALARM_EXT void alm_voStopTBS(void);
- _ALARM_EXT void alm_voResetCoef(ALM_RESET_COFIN *in, ALM_RESET_COF *out);
- _ALARM_EXT void alm_voReset(ALM_IN *in, ALM_RESET_COF *coef);
- _ALARM_EXT void alm_voHandleRst(void);
- _ALARM_EXT void alm_voDetec200MSCoef(ALM_DETEC200MS_COFIN *in, ALM_DETEC200MS_COF *out);
- _ALARM_EXT void alm_voDetec200MS(const ALM_BIKE_IN *in, const ALM_DETEC200MS_COF *coef);
- _ALARM_EXT void alm_voHandle1MS(const ALM_BIKE_IN *in);
- _ALARM_EXT void alm_voReset1MSCoef(const ALM_RESET1MS_COFIN *in, ALM_RESET1MS_COF *out);
- _ALARM_EXT void alm_voReset1MS(const ALM_BIKE_IN *in, const ALM_RESET1MS_COF *coef, const ALM_DETEC200MS_COF *detctcoef);
- #endif
- /************************************************************************
- Local Function Call Prototypes (N/A)
- *************************************************************************/
- /************************************************************************
- Flag Define (N/A)
- *************************************************************************/
- #endif
- /************************************************************************
- Copyright (c) 2018 Welling Motor Technology(Shanghai) Co. Ltd.
- All rights reserved.
- *************************************************************************
- End of this File (EOF)!
- Do not put anything after this part!
- *************************************************************************/
|