/** ****************************************************************************** * File Name : RTC.h * Description : This file provides code for the configuration * of the RTC instances. ****************************************************************************** * @attention * *

© Copyright (c) 2020 STMicroelectronics. * All rights reserved.

* * This software component is licensed by ST under Ultimate Liberty license * SLA0044, the "License"; You may not use this file except in compliance with * the License. You may obtain a copy of the License at: * www.st.com/SLA0044 * ****************************************************************************** */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __rtc_H #define __rtc_H #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ #include "main.h" /* USER CODE BEGIN Includes */ #include "time.h" /* USER CODE END Includes */ extern RTC_HandleTypeDef hrtc; /* USER CODE BEGIN Private defines */ //--------------------------------------------------------------- #define TIMER_IDX_CP 0 #define TIMER_IDX_POWER 1 #define TIMER_IDX_BLE 2 #define TIMER_IDX_SPEAKER 3 #define TIMER_IDX_RTOS_STAT 4 #define TIMER_IDX_RETRY_OC 5 #define TIMER_IDX_RETRY_LEAK 6 #define TIMER_IDX_RETRY_OT 7 #define TIMER_IDX_DEBUG 8 #define TIMER_IDX_STATE_E 9 #define TIMER_IDX_LED_TEMP 10 #define TIMER_IDX_RFID_RELAY_OFF 11 #define TIMER_IDX_RELAY_1 12 #define TIMER_IDX_RELAY_2 13 #define TIMER_IDX_PE_DETECT 14 #define TIMER_IDX_WIFI 15 #define TIMER_IDX_UPDATE 16 #define TIMER_IDX_SIMU_DISCONNECT 17 #ifdef FUNC_ADD_AC_DC_LEAK_TIMER #define TIMER_IDX_RETRY_LEAK_AC 18 #define TIMER_IDX_RETRY_LEAK_DC 19 #endif #define TIMER_COUNT 20 //--------------------------------------------------------------- #define BLINKER_COUNT 2 #define BLINKER_IDX_LED 0 #define BLINKER_IDX_SPEAKER 1 #define FLICKER_COUNT 2 #define FLICKER_IDX_BREATHE 0 #define FLICKER_IDX_1 1 #define BREATHE_LED_LOW_BOUNDARY 100 //Noode 200 , BYton and standard 100 //--------------------------------------------------------------- /* USER CODE END Private defines */ void MX_RTC_Init(void); /* USER CODE BEGIN Prototypes */ extern void timerEnable(uint8_t tmrIdx, uint32_t timeoutSpec); extern void timerDisable(uint8_t tmrIdx); extern void timerRefresh(uint8_t tmrIdx); extern void blinkerTimeSet(uint8_t idx, uint16_t on, uint16_t off, uint16_t rest, uint8_t count); extern void flickerTimeSet(uint8_t idx, uint16_t on, uint16_t off); extern void breatheTimeSet(uint16_t up, uint16_t down, uint16_t R_color, uint16_t G_color, uint16_t B_color, uint16_t W_color); extern void disblinkerTime (uint8_t idx) ; extern void LedOnRGBSet(uint16_t R_color, uint16_t G_color, uint16_t B_color, uint16_t W_color); extern uint32_t timerGetTimePass(uint8_t tmrIdx) ; extern RTC_DateTypeDef currentDate; extern RTC_TimeTypeDef currentTime; extern RTC_DateTypeDef setDate; extern RTC_TimeTypeDef setTime; extern struct TIMER { uint64_t timeoutSpec; // Timer timeout specification uint64_t startTime; // Timetick in 1ms uint8_t isEnable:1; // Timer is enable flag uint8_t isAlarm:1; // Timer is alarm flag }timer[TIMER_COUNT]; extern struct BLINK_TIMER { uint16_t blinkOnSpec; uint16_t blinkOffSpec; uint16_t blinkRestSpec; uint8_t blinkCountSpec; uint32_t blinkStartTime; uint32_t resetStartTime; uint8_t blinkCount; uint8_t isOn:1; uint8_t blinkisFinish:1; }blinker[BLINKER_COUNT]; extern struct BREATHE_TIMER { uint16_t duty[4]; uint16_t RGB[4]; uint8_t isUp; uint16_t timeUp; uint16_t countUp; uint16_t timeDown; uint16_t countDown; uint16_t countPause; }breathe; extern struct FLICKER_TIMER { uint16_t OnSpec; uint16_t OffSpec; uint32_t StartTime; uint8_t isOn; }flicker[FLICKER_COUNT]; /* USER CODE END Prototypes */ #ifdef __cplusplus } #endif #endif /*__ rtc_H */ /** * @} */ /** * @} */ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/