| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- /**
- * @file HW_TIMER_ATY.c
- *
- * @param Project DEVICE_GENERAL_ATY_LIB
- *
- * @author ATY
- *
- * @copyright
- * - Copyright 2017 - 2026 MZ-ATY
- * - This code follows:
- * - MZ-ATY Various Contents Joint Statement -
- * <a href="https://mengze.top/MZ-ATY_VCJS">
- * https://mengze.top/MZ-ATY_VCJS</a>
- * - CC 4.0 BY-NC-SA -
- * <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">
- * https://creativecommons.org/licenses/by-nc-sa/4.0/</a>
- * - Your use will be deemed to have accepted the terms of this statement.
- *
- * @brief functions of timer for C platform
- *
- * @version
- * - 1_01_220602 > ATY
- * -# Preliminary version, first Release
- * - 1_02_240410 > ATY
- * -# add multy addr and channel
- * -# add lock
- * - 1_03_251114 > ATY
- * -# remove platform and delay functions
- ********************************************************************************
- */
- #ifndef __HW_TIMER_ATY_C
- #define __HW_TIMER_ATY_C
- #include "HW_TIMER_ATY.h"
- /******************************* For user *************************************/
- /******************************************************************************/
- /**
- * @brief define at user file and put at main while
- * @note long time process is not recommended
- */
- void UserTimerLoopProcess(struct HW_TIMER_ATY_Dev* dev){
- if(dev->timerInitFlag == 0){
- dev->timerInitFlag = 1;
- dev->timerInit();
- }
- dev->timerLoopProcess_User();
- }
- /**
- * @brief 1ms timer loop cycle
- * @note put at 1ms timer IT callback function
- */
- void UserTimerLoop_Cycle1ms(struct HW_TIMER_ATY_Dev* dev){
- dev->msN++;
- if(dev->ms10_f == 0)
- dev->ms10++;
- if(dev->ms100_f == 0)
- dev->ms100++;
- if(dev->s1_f == 0)
- dev->s1++;
- if(dev->s2_f == 0)
- dev->s2++;
- if(dev->s10_f == 0)
- dev->s10++;
- /* ATY: 1ms unit **********************************************************/
- dev->ms1_f = 1;
- /* ATY: 10ms unit *********************************************************/
- if(dev->ms10 >= 10){
- dev->ms10_f = 1;
- dev->ms10 = 0;
- }
- /* ATY: 100ms unit ********************************************************/
- if(dev->ms100 >= 100){
- dev->ms100_f = 1;
- dev->ms100 = 0;
- }
- /* ATY: 1s unit ***********************************************************/
- if(dev->s1 >= 1000){
- dev->s1_f = 1;
- dev->s1 = 0;
- }
- /* ATY: 2s unit ***********************************************************/
- if(dev->s2 >= 2000){
- dev->s2_f = 1;
- dev->s2 = 0;
- }
- /* ATY: 10s unit **********************************************************/
- if(dev->s10 >= 10000){
- dev->s10_f = 1;
- dev->s10 = 0;
- }
- }
- #endif /* __HW_TIMER_ATY_C */
- /************************************ etc *************************************/
- /* init */
- // Timer loop ------------------------------------------------------------------
- // #include "HW_TIMER_ATY.h"
- // void TimerLoopProcess_User_4(void);
- // void TimerInit_4(){
- // HAL_TIM_Base_Start_IT(&htim4);
- // }
- // struct HW_TIMER_ATY_Dev HW_TIMER_ATY_Dev_4 = {
- // .msN = 0,
- // .ms10 = 0,
- // .ms100 = 0,
- // .s1 = 0,
- //
- // .ms1_f = 0,
- // .ms10_f = 0,
- // .ms100_f = 0,
- // .s1_f = 0,
- //
- // .timerInitFlag = 0,
- // .timerInit = TimerInit_4,
- //
- // .timerLoopProcess_User = TimerLoopProcess_User_4,
- //
- // .lock = __ATY_UNLOCKED
- // };
- // void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef* htim){
- // if(htim == &htim4){
- // UserTimerLoop_Cycle1ms(&HW_TIMER_ATY_Dev_4);
- // }
- // }
- /* use */
- /* ATY Machine ****************************************************************/
- // void TimerLoopProcess_User_4(void){
- // if(HW_TIMER_ATY_Dev_4.ms1_f == 1){
- // HW_TIMER_ATY_Dev_4.ms1_f = 0;
- // }
- // if(HW_TIMER_ATY_Dev_4.ms100_f == 1){
- // HW_TIMER_ATY_Dev_4.ms100_f = 0;
- // SysLedBlink(&LED_ATY_t_1);
- // PWR_BTN_Status_withIT(&PWR_BTN_ATY_t_1);
- //
- // UpdateMbRegsFromFloat(mbG, &MODBUS_S_LOW_ATY_Dev_1);
- // }
- // if(HW_TIMER_ATY_Dev_4.s1_f == 1){
- // HW_TIMER_ATY_Dev_4.s1_f = 0;
- //
- // }
- // }
- /******************************************************************************/
- /******************************** End Of File *********************************/
|