edu16_sbc/eeprom.h
2025-09-22 19:46:11 +08:00

46 lines
1.1 KiB
C

/*
* @file eeprom.h
* @brief EEPROM management for persistent settings
*
* Created: 21.09.2025
* Author: ThePetrovich
*
* Copyright YKSA - Sakha Aerospace Systems, LLC.
* See the LICENSE file for details.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef DET_EEPROM_H
#define DET_EEPROM_H
#include <stdint.h>
/**
* @brief Potentiometer settings structure
*/
typedef struct {
uint8_t hv_pot; ///< High voltage potentiometer value
uint8_t amp_pot; ///< SiPM Pre-amp gain potentiometer value
uint8_t det_pot; ///< Detection threshold potentiometer value
} potentiometer_settings_t;
/**
* @brief Initialize EEPROM settings
* Sets default values if EEPROM is uninitialized
*/
void eeprom_init(void);
/**
* @brief Load potentiometer settings from EEPROM
* @param settings Pointer to settings structure to populate
*/
void eeprom_load_pot_settings(potentiometer_settings_t *settings);
/**
* @brief Save potentiometer settings to EEPROM
* @param settings Pointer to settings structure to save
*/
void eeprom_save_pot_settings(const potentiometer_settings_t *settings);
#endif // DET_EEPROM_H