clean up location of some private functions

This commit is contained in:
joeycastillo 2024-09-18 17:05:10 -04:00
parent 38b4efe42d
commit 7ee3eeac49
4 changed files with 21 additions and 24 deletions

View File

@ -25,7 +25,7 @@
#include "watch.h"
// receives interrupts from MCLK, OSC32KCTRL, OSCCTRL, PAC, PM, SUPC and TAL, whatever that is.
void SYSTEM_Handler(void) {
void irq_handler_system(void) {
if (SUPC->INTFLAG.bit.BOD33DET) {
// Our system voltage has dipped below 2.6V!
// Set the voltage regulator to work at low system voltage before we hit 2.5 V
@ -37,13 +37,3 @@ void SYSTEM_Handler(void) {
SUPC->INTFLAG.reg &= ~SUPC_INTFLAG_BOD33DET;
}
}
bool watch_is_usb_enabled(void) {
return USB->DEVICE.CTRLA.bit.ENABLE;
}
void watch_reset_to_bootloader(void) {
volatile uint32_t *dbl_tap_ptr = ((volatile uint32_t *)(HSRAM_ADDR + HSRAM_SIZE - 4));
*dbl_tap_ptr = 0xf01669ef; // from the UF2 bootloaer: uf2.h line 255
NVIC_SystemReset();
}

View File

@ -414,3 +414,9 @@ uint16_t const* tud_descriptor_string_cb(uint8_t index, uint16_t langid)
return _desc_str;
}
void watch_reset_to_bootloader(void) {
volatile uint32_t *dbl_tap_ptr = ((volatile uint32_t *)(HSRAM_ADDR + HSRAM_SIZE - 4));
*dbl_tap_ptr = 0xf01669ef; // from the UF2 bootloaer: uf2.h line 255
NVIC_SystemReset();
}

View File

@ -23,8 +23,8 @@
*/
/// @file watch.h
#ifndef WATCH_H_
#define WATCH_H_
#pragma once
#include <stdint.h>
#include <stdbool.h>
#include "pins.h"
@ -73,11 +73,13 @@ typedef void (*watch_cb_t)(void);
// #include "watch_storage.h"
// #include "watch_deepsleep.h"
// #include "watch_private.h"
/** @brief Returns true if USB is enabled.
*/
bool watch_is_usb_enabled(void);
/** @brief Interrupt handler for the SYSTEM interrupt, which handles MCLK,
* OSC32KCTRL, OSCCTRL, PAC, PM and SUPC.
* @details We use this to detect when the system voltage has dipped below
* 2.6V, which means it's time to disable the voltage regulator's
* high-efficiency mode, which only works down to 2.5V.
*/
void irq_handler_system(void);
/** @brief Resets in the UF2 bootloader mode
*/
@ -96,7 +98,6 @@ void cdc_task(void);
int read(int file, char *ptr, int len);
/** @brief Disables the TRNG twice in order to work around silicon erratum 1.16.1.
* FIXME: find a better place for this, a couple of watch faces need it.
*/
void watch_disable_TRNG();
#endif /* WATCH_H_ */
void watch_disable_TRNG(void);

View File

@ -29,9 +29,6 @@
/// Called by main.c while setting up the app. You should not call this from your app.
void _watch_init(void);
/// Initializes the real-time clock peripheral.
void _watch_rtc_init(void);
/// Called by buzzer and LED teardown functions. You should not call this from your app.
void _watch_disable_tcc(void);
@ -50,4 +47,7 @@ void _watch_disable_tc1(void);
/// Called by main.c if plugged in to USB. You should not call this from your app.
void _watch_enable_usb(void);
/// Initializes the real-time clock peripheral. Implemented in watch_rtc.c
void _watch_rtc_init(void);
#endif