* RFID: pull antenna down when emulating * Rfid: fixed HID emulation by adding zero pulse every 4 bits * Rfid: HID emulation fixed with DSP based FSK oscillator. * Rfid: receive 125KHz clock for emulation timer from antenna and comparator * Rfid: commented unused variable * Firmware: rollback changes in f6. * Add F7 target based on F6. * F7/F6: update cube projects, apply changes to the targets, update linker scripts with correct RAM start values. * FuriHal: RFID init routine. * Scripts: update OTP tool for v11 board Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
		
			
				
	
	
		
			135 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/**
 | 
						|
  ******************************************************************************
 | 
						|
  * @file    rtc.c
 | 
						|
  * @brief   This file provides code for the configuration
 | 
						|
  *          of the RTC instances.
 | 
						|
  ******************************************************************************
 | 
						|
  * @attention
 | 
						|
  *
 | 
						|
  * <h2><center>© Copyright (c) 2021 STMicroelectronics.
 | 
						|
  * All rights reserved.</center></h2>
 | 
						|
  *
 | 
						|
  * 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
 | 
						|
  *
 | 
						|
  ******************************************************************************
 | 
						|
  */
 | 
						|
 | 
						|
/* Includes ------------------------------------------------------------------*/
 | 
						|
#include "rtc.h"
 | 
						|
 | 
						|
/* USER CODE BEGIN 0 */
 | 
						|
 | 
						|
/* USER CODE END 0 */
 | 
						|
 | 
						|
RTC_HandleTypeDef hrtc;
 | 
						|
 | 
						|
/* RTC init function */
 | 
						|
void MX_RTC_Init(void)
 | 
						|
{
 | 
						|
 | 
						|
  /* USER CODE BEGIN RTC_Init 0 */
 | 
						|
 | 
						|
  /* USER CODE END RTC_Init 0 */
 | 
						|
 | 
						|
  RTC_TimeTypeDef sTime = {0};
 | 
						|
  RTC_DateTypeDef sDate = {0};
 | 
						|
 | 
						|
  /* USER CODE BEGIN RTC_Init 1 */
 | 
						|
 | 
						|
  /* USER CODE END RTC_Init 1 */
 | 
						|
  /** Initialize RTC Only
 | 
						|
  */
 | 
						|
  hrtc.Instance = RTC;
 | 
						|
  hrtc.Init.HourFormat = RTC_HOURFORMAT_24;
 | 
						|
  hrtc.Init.AsynchPrediv = 127;
 | 
						|
  hrtc.Init.SynchPrediv = 255;
 | 
						|
  hrtc.Init.OutPut = RTC_OUTPUT_DISABLE;
 | 
						|
  hrtc.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH;
 | 
						|
  hrtc.Init.OutPutType = RTC_OUTPUT_TYPE_OPENDRAIN;
 | 
						|
  hrtc.Init.OutPutRemap = RTC_OUTPUT_REMAP_NONE;
 | 
						|
  if (HAL_RTC_Init(&hrtc) != HAL_OK)
 | 
						|
  {
 | 
						|
    Error_Handler();
 | 
						|
  }
 | 
						|
 | 
						|
  /* USER CODE BEGIN Check_RTC_BKUP */
 | 
						|
 | 
						|
  /* USER CODE END Check_RTC_BKUP */
 | 
						|
 | 
						|
  /** Initialize RTC and set the Time and Date
 | 
						|
  */
 | 
						|
  sTime.Hours = 0x0;
 | 
						|
  sTime.Minutes = 0x0;
 | 
						|
  sTime.Seconds = 0x0;
 | 
						|
  sTime.SubSeconds = 0x0;
 | 
						|
  sTime.DayLightSaving = RTC_DAYLIGHTSAVING_NONE;
 | 
						|
  sTime.StoreOperation = RTC_STOREOPERATION_RESET;
 | 
						|
  if (HAL_RTC_SetTime(&hrtc, &sTime, RTC_FORMAT_BCD) != HAL_OK)
 | 
						|
  {
 | 
						|
    Error_Handler();
 | 
						|
  }
 | 
						|
  sDate.WeekDay = RTC_WEEKDAY_MONDAY;
 | 
						|
  sDate.Month = RTC_MONTH_JANUARY;
 | 
						|
  sDate.Date = 0x1;
 | 
						|
  sDate.Year = 0x0;
 | 
						|
 | 
						|
  if (HAL_RTC_SetDate(&hrtc, &sDate, RTC_FORMAT_BCD) != HAL_OK)
 | 
						|
  {
 | 
						|
    Error_Handler();
 | 
						|
  }
 | 
						|
  /* USER CODE BEGIN RTC_Init 2 */
 | 
						|
 | 
						|
  /* USER CODE END RTC_Init 2 */
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
void HAL_RTC_MspInit(RTC_HandleTypeDef* rtcHandle)
 | 
						|
{
 | 
						|
 | 
						|
  if(rtcHandle->Instance==RTC)
 | 
						|
  {
 | 
						|
  /* USER CODE BEGIN RTC_MspInit 0 */
 | 
						|
 | 
						|
  /* USER CODE END RTC_MspInit 0 */
 | 
						|
    /* RTC clock enable */
 | 
						|
    __HAL_RCC_RTC_ENABLE();
 | 
						|
    __HAL_RCC_RTCAPB_CLK_ENABLE();
 | 
						|
 | 
						|
    /* RTC interrupt Init */
 | 
						|
    HAL_NVIC_SetPriority(TAMP_STAMP_LSECSS_IRQn, 5, 0);
 | 
						|
    HAL_NVIC_EnableIRQ(TAMP_STAMP_LSECSS_IRQn);
 | 
						|
  /* USER CODE BEGIN RTC_MspInit 1 */
 | 
						|
 | 
						|
  /* USER CODE END RTC_MspInit 1 */
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
void HAL_RTC_MspDeInit(RTC_HandleTypeDef* rtcHandle)
 | 
						|
{
 | 
						|
 | 
						|
  if(rtcHandle->Instance==RTC)
 | 
						|
  {
 | 
						|
  /* USER CODE BEGIN RTC_MspDeInit 0 */
 | 
						|
 | 
						|
  /* USER CODE END RTC_MspDeInit 0 */
 | 
						|
    /* Peripheral clock disable */
 | 
						|
    __HAL_RCC_RTC_DISABLE();
 | 
						|
    __HAL_RCC_RTCAPB_CLK_DISABLE();
 | 
						|
 | 
						|
    /* RTC interrupt Deinit */
 | 
						|
    HAL_NVIC_DisableIRQ(TAMP_STAMP_LSECSS_IRQn);
 | 
						|
  /* USER CODE BEGIN RTC_MspDeInit 1 */
 | 
						|
 | 
						|
  /* USER CODE END RTC_MspDeInit 1 */
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
/* USER CODE BEGIN 1 */
 | 
						|
 | 
						|
/* USER CODE END 1 */
 | 
						|
 | 
						|
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
 |