cursada_mc2
Base de control de temperatura para EDU-CIAA-NXP
Loading...
Searching...
No Matches
parametros.c File Reference

Persistencia y administracion de parametros de la aplicacion. More...

+ Include dependency graph for parametros.c:

Go to the source code of this file.

Data Structures

struct  parametros_persistentes_t
 Formato persistido en EEPROM para los parametros de la aplicacion. More...
 

Macros

#define PARAMETROS_PERSISTENTES_MAGIC   0x5041524DU
 
#define PARAMETROS_PERSISTENTES_VERSION   3U
 

Functions

static uint32_t parametros_calcular_crc32 (const void *datos, uint32_t longitud)
 Calcula el CRC32 del bloque persistido de parametros.
 
static void parametros_cargar_defaults_en_ram (void)
 
static void parametros_serializar (parametros_persistentes_t *persistentes)
 Genera la imagen persistida a partir de la copia viva en RAM.
 
static bool parametros_persistentes_validos (const parametros_persistentes_t *persistentes)
 Valida magic, version, tamano y CRC antes de aceptar EEPROM.
 
bool parametros_init (void)
 
const parametros_control_tparametros_obtener (void)
 
bool parametros_guardar (void)
 
void parametros_restablecer_defaults (void)
 
bool parametros_actualizar (const parametros_control_t *nuevos_parametros)
 

Variables

static parametros_control_t parametros_actuales_
 
static const parametros_control_t parametros_default_
 

Macro Definition Documentation

◆ PARAMETROS_PERSISTENTES_MAGIC

#define PARAMETROS_PERSISTENTES_MAGIC   0x5041524DU

Definition at line 10 of file parametros.c.

◆ PARAMETROS_PERSISTENTES_VERSION

#define PARAMETROS_PERSISTENTES_VERSION   3U

Definition at line 11 of file parametros.c.

Function Documentation

◆ parametros_actualizar()

◆ parametros_calcular_crc32()

static uint32_t parametros_calcular_crc32 ( const void *  datos,
uint32_t  longitud 
)
static

El CRC solo cubre los datos utiles, no la cabecera, para poder recalcularlo luego de serializar los campos de control.

Definition at line 43 of file parametros.c.

Referenced by parametros_persistentes_validos(), and parametros_serializar().

◆ parametros_cargar_defaults_en_ram()

static void parametros_cargar_defaults_en_ram ( void  )
static

Definition at line 63 of file parametros.c.

References parametros_actuales_, and parametros_default_.

Referenced by parametros_init(), and parametros_restablecer_defaults().

◆ parametros_guardar()

bool parametros_guardar ( void  )

◆ parametros_init()

◆ parametros_obtener()

const parametros_control_t * parametros_obtener ( void  )

Definition at line 121 of file parametros.c.

References parametros_actuales_.

Referenced by app_init().

◆ parametros_persistentes_validos()

◆ parametros_restablecer_defaults()

void parametros_restablecer_defaults ( void  )

Definition at line 134 of file parametros.c.

References parametros_cargar_defaults_en_ram(), and parametros_guardar().

◆ parametros_serializar()

Variable Documentation

◆ parametros_actuales_

◆ parametros_default_

const parametros_control_t parametros_default_
static
Initial value:
= {
.setpoint_deci_celsius = 270,
.histeresis_deci_celsius = 20U,
.tiempo_minimo_encendido_ms = 0U,
.tiempo_minimo_apagado_ms = 0U,
.modo_calentar = true,
}

Definition at line 29 of file parametros.c.

Referenced by parametros_cargar_defaults_en_ram().