summaryrefslogtreecommitdiff
path: root/third_party/Time/time.c
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/Time/time.c')
-rw-r--r--third_party/Time/time.c160
1 files changed, 0 insertions, 160 deletions
diff --git a/third_party/Time/time.c b/third_party/Time/time.c
deleted file mode 100644
index 4159f44..0000000
--- a/third_party/Time/time.c
+++ /dev/null
@@ -1,160 +0,0 @@
-
-#include "time.h"
-#include "stm32f0xx_conf.h"
-
-/* Uncomment the corresponding line to select the RTC Clock source */
-#define RTC_CLOCK_SOURCE_LSE /* LSE used as RTC source clock */
-//#define RTC_CLOCK_SOURCE_LSI // LSI used as RTC source clock. The RTC Clock
- // may varies due to LSI frequency dispersion
-
-#define BKP_VALUE 0x32F0
-/* Private macro -------------------------------------------------------------*/
-/* Private variables ---------------------------------------------------------*/
-__IO uint32_t AsynchPrediv = 0, SynchPrediv = 0;
-
-/* Private function prototypes -----------------------------------------------*/
-static void RTC_Config(void);
-static void RTC_TimeRegulate(void);
-
-
-// - калибровку RTC как делать?
-
-
-// ----------------------------------------------------------------------------
-//
-// ----------------------------------------------------------------------------
-void TimeInit (void)
-{
- RTC_InitTypeDef RTC_InitStructure;
-
- if (RTC_ReadBackupRegister(RTC_BKP_DR0) != BKP_VALUE)
- //if (SynchPrediv == 0)
- {
- /* RTC configuration */
- RTC_Config();
-
- /* Configure the RTC data register and RTC prescaler */
- RTC_InitStructure.RTC_AsynchPrediv = AsynchPrediv;
- RTC_InitStructure.RTC_SynchPrediv = SynchPrediv;
- RTC_InitStructure.RTC_HourFormat = RTC_HourFormat_24;
-
- /* Check on RTC init */
- if (RTC_Init(&RTC_InitStructure) == ERROR)
- {
- // printf("\n\r /!\\***** RTC Prescaler Config failed ********/!\\ \n\r");
- }
-
- /* Configure the time register */
- RTC_TimeRegulate();
- }
- else
- {
- /* Check if the Power On Reset flag is set */
- if (RCC_GetFlagStatus(RCC_FLAG_PORRST) != RESET)
- {
- //printf("\r\n Power On Reset occurred....\n\r");
- }
- /* Check if the Pin Reset flag is set */
- else if (RCC_GetFlagStatus(RCC_FLAG_PINRST) != RESET)
- {
- // printf("\r\n External Reset occurred....\n\r");
- }
-
- //printf("\n\r No need to configure RTC....\n\r");
-
- /* Enable the PWR clock */
- RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
-
- /* Allow access to RTC */
- PWR_BackupAccessCmd(ENABLE);
-
- #ifdef RTC_CLOCK_SOURCE_LSI
- /* Enable the LSI OSC */
- RCC_LSICmd(ENABLE);
- #endif /* RTC_CLOCK_SOURCE_LSI */
-
- /* Wait for RTC APB registers synchronisation */
- RTC_WaitForSynchro();
-
- /* Clear the RTC Alarm Flag */
- RTC_ClearFlag(RTC_FLAG_ALRAF);
-
- /* Clear the EXTI Line 17 Pending bit (Connected internally to RTC Alarm) */
- //EXTI_ClearITPendingBit(EXTI_Line17);
-
- /* Display the RTC Time and Alarm */
- //RTC_TimeShow();
- //RTC_AlarmShow();
- }
-}
-
-
-// ----------------------------------------------------------------------------
-//
-// ----------------------------------------------------------------------------
-static void RTC_Config(void)
-{
- /* Enable the PWR clock */
- RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
-
- /* Allow access to RTC */
- PWR_BackupAccessCmd(ENABLE);
-
-#if defined (RTC_CLOCK_SOURCE_LSI) /* LSI used as RTC source clock*/
-/* The RTC Clock may varies due to LSI frequency dispersion. */
- /* Enable the LSI OSC */
- RCC_LSICmd(ENABLE);
-
- /* Wait till LSI is ready */
- while(RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET)
- {
- }
-
- /* Select the RTC Clock Source */
- RCC_RTCCLKConfig(RCC_RTCCLKSource_LSI);
-
- SynchPrediv = 0x18F;
- AsynchPrediv = 0x63;
-
-#elif defined (RTC_CLOCK_SOURCE_LSE) /* LSE used as RTC source clock */
- /* Enable the LSE OSC */
- RCC_LSEConfig(RCC_LSE_ON);
-
- /* Wait till LSE is ready */
- while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET)
- {
- }
-
- /* Select the RTC Clock Source */
- RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);
-
- SynchPrediv = 0xFF;
- AsynchPrediv = 0x7F;
-
-#else
- #error Please select the RTC Clock source inside the main.c file
-#endif /* RTC_CLOCK_SOURCE_LSI */
-
- /* Enable the RTC Clock */
- RCC_RTCCLKCmd(ENABLE);
-
- /* Wait for RTC APB registers synchronisation */
- RTC_WaitForSynchro();
-}
-
-
-// ----------------------------------------------------------------------------
-//
-// ----------------------------------------------------------------------------
-static void RTC_TimeRegulate ( void )
-{
- RTC_TimeTypeDef RTC_TimeStructure;
-
- RTC_TimeStructure.RTC_Hours = 14;
- RTC_TimeStructure.RTC_Minutes = 01;
- RTC_TimeStructure.RTC_Seconds = 00;
-
- RTC_SetTime(RTC_Format_BIN, &RTC_TimeStructure);
- /* Indicator for the RTC configuration */
- RTC_WriteBackupRegister(RTC_BKP_DR0, BKP_VALUE);
-}