123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- /************************************************************************
- Project: Welling Motor Control Paltform
- Filename: spdctrmode.c
- Partner Filename: spdctrmode.c
- Description: The header file of spdctrmode.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 STARTFSM_H
- #define STARTFSM_H
- /************************************************************************
- Compiler Directives (N/A)
- *************************************************************************/
- #ifdef _STARTFSM_C_
- #define _STARTFSM_EXT
- #else
- #define _STARTFSM_EXT extern
- #endif
- /************************************************************************
- Definitions & Macros
- *************************************************************************/
- /************************************************************************
- TypeDefs & Structure defines (N/A)
- *************************************************************************/
- typedef enum
- {
- Charge = 0,
- InitPosDet = 1,
- ParDet = 2,
- StartUp = 3,
- Open2Clz = 4,
- ClzLoop = 5,
- Stop = 6,
- Clz2Stop = 7
- } SCM_SPDMDFSM;
- typedef struct
- {
- SCM_SPDMDFSM state;
- void (*Tbcup_hook)(void);
- void (*Tbcdown_hook)(void);
- void (*Tbs_hook)(void);
- } SPD_STATE_HOOK;
- /************************************************************************
- Constant Table
- *************************************************************************/
- /************************************************************************
- Exported Function Call Prototypes
- *************************************************************************/
- _STARTFSM_EXT void InitPosDet_TbcupHook(void);
- _STARTFSM_EXT void ParDet_TbcupHook(void);
- _STARTFSM_EXT void StartUp_TbcupHook(void);
- _STARTFSM_EXT void Open2Clz_TbcupHook(void);
- _STARTFSM_EXT void ClzLoop_TbcupHook(void);
- _STARTFSM_EXT void Stop_TbcupHook(void);
- _STARTFSM_EXT void Clz2Stop_TbcupHook(void);
- _STARTFSM_EXT void InitPosDet_TbcdownHook(void);
- _STARTFSM_EXT void ParDet_TbcdownHook(void);
- _STARTFSM_EXT void StartUp_TbcdownHook(void);
- _STARTFSM_EXT void Open2Clz_TbcdownHook(void);
- _STARTFSM_EXT void ClzLoop_TbcdownHook(void);
- _STARTFSM_EXT void Stop_TbcdownHook(void);
- _STARTFSM_EXT void Clz2Stop_TbcdownHook(void);
- _STARTFSM_EXT void InitPosDet_TbsHook(void);
- _STARTFSM_EXT void ParDet_TbsHook(void);
- _STARTFSM_EXT void StartUp_TbsHook(void);
- _STARTFSM_EXT void Open2Clz_TbsHook(void);
- _STARTFSM_EXT void ClzLoop_TbsHook(void);
- _STARTFSM_EXT void Stop_TbsHook(void);
- _STARTFSM_EXT void Clz2Stop_TbsHook(void);
- _STARTFSM_EXT void scm_voSpdCtrMdFSM(void);
- _STARTFSM_EXT void Switch_speed_FSM(SPD_STATE_HOOK *in);
- _STARTFSM_EXT void Switch_speed_FSMInit(void);
- /************************************************************************
- Exported Variables
- *************************************************************************/
- #ifdef _STARTFSM_C_
- _STARTFSM_EXT ULONG scm_ulStatCt = 0; // Status hold time count
- _STARTFSM_EXT SPD_STATE_HOOK InitPosDet_state = {InitPosDet, InitPosDet_TbcupHook, InitPosDet_TbcdownHook, InitPosDet_TbsHook};
- _STARTFSM_EXT SPD_STATE_HOOK ParDet_state = {ParDet, ParDet_TbcupHook, ParDet_TbcdownHook, ParDet_TbsHook};
- _STARTFSM_EXT SPD_STATE_HOOK StartUp_state = {StartUp, StartUp_TbcupHook, StartUp_TbcdownHook, StartUp_TbsHook};
- _STARTFSM_EXT SPD_STATE_HOOK Open2Clz_state = {Open2Clz, Open2Clz_TbcupHook, Open2Clz_TbcdownHook, Open2Clz_TbsHook};
- _STARTFSM_EXT SPD_STATE_HOOK ClzLoop_state = {ClzLoop, ClzLoop_TbcupHook, ClzLoop_TbcdownHook, ClzLoop_TbsHook};
- _STARTFSM_EXT SPD_STATE_HOOK Stop_state = {Stop, Stop_TbcupHook, Stop_TbcdownHook, Stop_TbsHook};
- _STARTFSM_EXT SPD_STATE_HOOK Clz2Stop_state = {Clz2Stop, Clz2Stop_TbcupHook, Clz2Stop_TbcdownHook, Clz2Stop_TbsHook};
- #else
- _STARTFSM_EXT ULONG scm_ulStatCt;
- _STARTFSM_EXT SPD_STATE_HOOK InitPosDet_state;
- _STARTFSM_EXT SPD_STATE_HOOK ParDet_state;
- _STARTFSM_EXT SPD_STATE_HOOK StartUp_state;
- _STARTFSM_EXT SPD_STATE_HOOK Open2Clz_state;
- _STARTFSM_EXT SPD_STATE_HOOK ClzLoop_state;
- _STARTFSM_EXT SPD_STATE_HOOK Stop_state;
- _STARTFSM_EXT SPD_STATE_HOOK Clz2Stop_state;
- #endif
- /************************************************************************
- RAM ALLOCATION (N/A)
- *************************************************************************/
- /************************************************************************
- 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!
- *************************************************************************/
|