46 lines
1.1 KiB
C
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
|