STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
board_sleep.c File Reference
#include "board_sleep.h"
#include "FreeRTOS.h"
#include "board_time.h"
#include "cmsis_os2.h"
#include "main.h"
#include "sleep_math.h"
#include "task.h"
#include "usbd_cdc_if.h"
Include dependency graph for board_sleep.c:

Go to the source code of this file.

Functions

void SystemClock_Config (void)
 System Clock Configuration.
void HAL_RTCEx_WakeUpTimerEventCallback (RTC_HandleTypeDef *h)
static uint32_t rtc_stamp (void)
static uint32_t measure_lsi (void)
bool board_sleep_init (void)
const board_sleep_info_t * board_sleep_info (void)
uint32_t board_sleep (uint32_t ms, bool(*wake_now)(void))

Variables

RTC_HandleTypeDef hrtc
static board_sleep_info_t info
static volatile bool rtc_fired

Function Documentation

◆ board_sleep()

◆ board_sleep_info()

const board_sleep_info_t * board_sleep_info ( void )

Definition at line 64 of file board_sleep.c.

References info.

◆ board_sleep_init()

◆ measure_lsi()

uint32_t measure_lsi ( void )
static

Definition at line 32 of file board_sleep.c.

References board_time_us(), RTC, sleep_lsi_hz(), and start().

Referenced by board_sleep_init().

◆ rtc_stamp()

uint32_t rtc_stamp ( void )
static

Definition at line 23 of file board_sleep.c.

References HAL_RTC_GetDate(), HAL_RTC_GetTime(), hrtc, RTC_FORMAT_BIN, and sleep_rtc_steps().

Referenced by board_sleep().

◆ SystemClock_Config()

void SystemClock_Config ( void )

System Clock Configuration.

Return values
None

Supply configuration update enable

Configure the main internal regulator output voltage

Initializes the RCC Oscillators according to the specified parameters in the RCC_OscInitTypeDef structure.

Initializes the CPU, AHB and APB buses clocks

Definition at line 203 of file main.c.

References __HAL_PWR_GET_FLAG, __HAL_PWR_VOLTAGESCALING_CONFIG, RCC_ClkInitTypeDef::AHBCLKDivider, RCC_ClkInitTypeDef::APB1CLKDivider, RCC_ClkInitTypeDef::APB2CLKDivider, RCC_ClkInitTypeDef::APB3CLKDivider, RCC_ClkInitTypeDef::APB4CLKDivider, RCC_ClkInitTypeDef::ClockType, Error_Handler(), FLASH_LATENCY_1, HAL_OK, HAL_PWREx_ConfigSupply(), HAL_RCC_ClockConfig(), HAL_RCC_OscConfig(), RCC_OscInitTypeDef::HSI48State, RCC_OscInitTypeDef::HSICalibrationValue, RCC_OscInitTypeDef::HSIState, RCC_OscInitTypeDef::LSIState, RCC_OscInitTypeDef::OscillatorType, RCC_OscInitTypeDef::PLL, RCC_PLLInitTypeDef::PLLFRACN, RCC_PLLInitTypeDef::PLLM, RCC_PLLInitTypeDef::PLLN, RCC_PLLInitTypeDef::PLLP, RCC_PLLInitTypeDef::PLLQ, RCC_PLLInitTypeDef::PLLR, RCC_PLLInitTypeDef::PLLRGE, RCC_PLLInitTypeDef::PLLSource, RCC_PLLInitTypeDef::PLLState, RCC_PLLInitTypeDef::PLLVCOSEL, PWR_FLAG_VOSRDY, PWR_LDO_SUPPLY, PWR_REGULATOR_VOLTAGE_SCALE3, RCC_APB1_DIV1, RCC_APB2_DIV1, RCC_APB3_DIV1, RCC_APB4_DIV1, RCC_CLOCKTYPE_D1PCLK1, RCC_CLOCKTYPE_D3PCLK1, RCC_CLOCKTYPE_HCLK, RCC_CLOCKTYPE_PCLK1, RCC_CLOCKTYPE_PCLK2, RCC_CLOCKTYPE_SYSCLK, RCC_HCLK_DIV1, RCC_HSI48_ON, RCC_HSI_DIV1, RCC_LSI_ON, RCC_OSCILLATORTYPE_HSI, RCC_OSCILLATORTYPE_HSI48, RCC_OSCILLATORTYPE_LSI, RCC_PLL1VCIRANGE_1, RCC_PLL1VCOWIDE, RCC_PLL_ON, RCC_PLLSOURCE_HSI, RCC_SYSCLK_DIV1, RCC_SYSCLKSOURCE_HSI, RCC_ClkInitTypeDef::SYSCLKDivider, and RCC_ClkInitTypeDef::SYSCLKSource.

Referenced by board_sleep(), and main().

Variable Documentation

◆ hrtc

RTC_HandleTypeDef hrtc
extern

Definition at line 52 of file main.c.

Referenced by board_sleep(), HAL_RTC_AlarmAEventCallback(), HAL_RTC_AlarmIRQHandler(), HAL_RTC_DeactivateAlarm(), HAL_RTC_DeInit(), HAL_RTC_GetAlarm(), HAL_RTC_GetDate(), HAL_RTC_GetState(), HAL_RTC_GetTime(), HAL_RTC_Init(), HAL_RTC_MspDeInit(), HAL_RTC_MspInit(), HAL_RTC_PollForAlarmAEvent(), HAL_RTC_SetAlarm(), HAL_RTC_SetAlarm_IT(), HAL_RTC_SetDate(), HAL_RTC_SetTime(), HAL_RTC_WaitForSynchro(), HAL_RTCEx_AlarmBEventCallback(), HAL_RTCEx_BKUPRead(), HAL_RTCEx_BKUPWrite(), HAL_RTCEx_DeactivateCalibrationOutPut(), HAL_RTCEx_DeactivateInternalTimeStamp(), HAL_RTCEx_DeactivateRefClock(), HAL_RTCEx_DeactivateTamper(), HAL_RTCEx_DeactivateTimeStamp(), HAL_RTCEx_DeactivateWakeUpTimer(), HAL_RTCEx_DisableBypassShadow(), HAL_RTCEx_EnableBypassShadow(), HAL_RTCEx_GetTimeStamp(), HAL_RTCEx_GetWakeUpTimer(), HAL_RTCEx_PollForAlarmBEvent(), HAL_RTCEx_PollForTamper1Event(), HAL_RTCEx_PollForTamper3Event(), HAL_RTCEx_PollForTimeStampEvent(), HAL_RTCEx_PollForWakeUpTimerEvent(), HAL_RTCEx_SetCalibrationOutPut(), HAL_RTCEx_SetInternalTimeStamp(), HAL_RTCEx_SetRefClock(), HAL_RTCEx_SetSmoothCalib(), HAL_RTCEx_SetSynchroShift(), HAL_RTCEx_SetTamper(), HAL_RTCEx_SetTamper_IT(), HAL_RTCEx_SetTimeStamp(), HAL_RTCEx_SetTimeStamp_IT(), HAL_RTCEx_SetWakeUpTimer(), HAL_RTCEx_SetWakeUpTimer_IT(), HAL_RTCEx_Tamper1EventCallback(), HAL_RTCEx_Tamper3EventCallback(), HAL_RTCEx_TamperTimeStampIRQHandler(), HAL_RTCEx_TimeStampEventCallback(), HAL_RTCEx_WakeUpTimerIRQHandler(), MX_RTC_Init(), RTC_EnterInitMode(), RTC_ExitInitMode(), rtc_stamp(), and RTC_WKUP_IRQHandler().

◆ info

◆ rtc_fired

volatile bool rtc_fired
static

Definition at line 15 of file board_sleep.c.

Referenced by board_sleep(), and HAL_RTCEx_WakeUpTimerEventCallback().