/** * @file TimeTask_Event.h * @author Zhang, Kai(zhangkai71@midea.com) * @brief Time task control * @version 0.1 * @date 2021-09-27 * * @copyright Copyright (c) 2021 * */ #ifndef TIMETEVENT_H #define TIMETEVENT_H #include "typedefine.h" #include "AssistCurve.h" #include "bikeinformation.h" /**************************************** * * Definitions & Macros * ****************************************/ #define proc_cnt 5 /*************************************** * * Type Definations * ***************************************/ /** * @brief Type of time task * */ typedef struct { void (*proc)(void); // process program SLONG timespan; // process period SLONG tick; // process tick } _op_; /** * @brief Type of assist task * */ typedef enum { NoneAss = 0, TorqAss = 1, SpdAss = 2, } ASS_MODE; /**************************************** * * Exported variable * ****************************************/ extern _op_ Op[proc_cnt]; extern BOOL event_blCurrentAssFlag; extern ASS_MODE event_enMode; /*************************************** * * Function Definations * ***************************************/ /** * @brief Event parameter init * */ void event_voInit(void); /** * @brief Event happens every 1ms * */ void Event_1ms(void); /** * @brief Event happens every 5ms * */ void Event_5ms(void); /** * @brief Event happens every 10ms * */ void Event_10ms(void); /** * @brief Event happens every 20ms * */ void Event_20ms(void); /** * @brief Event happens every 50ms * */ void Event_100ms(void); /** * @brief Event happens every 100ms * */ void Event_200ms(void); /** * @brief Update timer counter (Call in the interrupt) * */ void TimingTaskTimerServer(void); /** * @brief Update process (Call in the main function) * */ void TimingTaskLoopServer(void); /** * @brief ass mode select * */ void event_voAssCmd(void); /** * @brief get ass moveaverage torque filer * */ void event_voTorqMovAve(void); /** * @brief Power down control when bike is not riding * */ void event_voPowerDownCtrl(void); /** * @brief Automatic Parameter save every 10 mins * */ void event_voAutParaSaveCtrl(void); void StartSelectAssistMode(void); #endif