28 .scu_mode = (uint16_t) (MD_PUP | MD_EZI | MD_ZI),
35#define APP_CONTROL_GPIO_SCU_PORT 4U
36#define APP_CONTROL_GPIO_SCU_PIN 0U
37#define APP_CONTROL_GPIO_SCU_MODE (MD_PUP)
38#define APP_CONTROL_GPIO_SCU_FUNC FUNC0
39#define APP_CONTROL_GPIO_PORT 2U
40#define APP_CONTROL_GPIO_PIN 0U
42#define APP_LOOP_DELTA_MS 20U
43#define APP_TIMER_TICK_MS 1U
49 const int32_t temperatura_escalada = (int32_t) temperatura_cruda * 10;
51 if (temperatura_escalada >= 0) {
52 return (int16_t) ((temperatura_escalada + 8) / 16);
55 return (int16_t) ((temperatura_escalada - 8) / 16);
84 int16_t temperatura_cruda = 0;
85 int16_t temperatura_deci_celsius = 0;
86 bool temperatura_valida =
false;
87 bool salida_activa =
false;
114 temperatura_valida =
true;
134 if (temperatura_valida) {
#define APP_CONTROL_GPIO_SCU_MODE
static uint16_t app_sensor_ticks_reintento_
static int16_t app_convertir_temperatura_raw_a_deci(int16_t temperatura_cruda)
#define APP_CONTROL_GPIO_PIN
#define APP_TIMER_TICK_MS
#define APP_CONTROL_GPIO_SCU_FUNC
static ds18b20_driver_t app_sensor_temperatura_
static uint32_t app_ultimo_tick_procesado_ms_
static void app_salida_control_escribir(bool activa)
#define APP_CONTROL_GPIO_SCU_PIN
#define APP_LOOP_DELTA_MS
static bool app_sensor_inicializado_
void app_process(void)
Ejecuta una iteracion del lazo principal de la aplicacion.
static const onewire_pin_config_t app_pin_ds18b20_
#define APP_CONTROL_GPIO_SCU_PORT
static void app_salida_control_init(void)
static void app_step_20ms(void)
void app_init(void)
Inicializa los modulos de la aplicacion.
static uint16_t app_sensor_ticks_actualizacion_
#define APP_CONTROL_GPIO_PORT
Interfaz de la capa principal de aplicacion.
void buzzer_init()
Inicializa el pin de control del buzzer.
void buzzer_turn_off()
Desactiva el buzzer.
Interfaz del driver de buzzer.
void control_on_off_inicializar(parametros_control_t parametros)
Inicializa el control on/off.
bool control_on_off_esta_salida_activa(void)
Indica si la salida del control esta activa.
void control_on_off_procesar(int16_t medicion, uint32_t delta_tiempo_ms)
Procesa una nueva medicion y actualiza la salida del control.
void control_on_off_configurar(parametros_control_t parametros)
Actualiza la configuracion del control on/off.
Implementacion de control on/off con histeresis.
void driver_delay_init(void)
Inicializa la base de tiempos usada por los delays bloqueantes.
Interfaz comun de delays bloqueantes basada en stopwatch de LPCOpen.
bool ds18b20_init(ds18b20_driver_t *driver, const onewire_pin_config_t *pin_config)
Inicializa el driver DS18B20 sobre el pin indicado.
void ds18b20_process(ds18b20_driver_t *driver, uint16_t elapsed_ms)
Avanza la maquina de estados no bloqueante del sensor.
bool ds18b20_is_busy(const ds18b20_driver_t *driver)
Indica si hay una conversion en curso.
bool ds18b20_start_conversion(ds18b20_driver_t *driver)
Inicia una conversion de temperatura.
bool ds18b20_get_latest_raw(const ds18b20_driver_t *driver, int16_t *raw_temperature)
Obtiene la ultima temperatura cruda ya convertida.
Interfaz del driver para sensor de temperatura DS18B20.
bool driver_eeprom_init(void)
Inicializa el periferico EEPROM.
Driver de acceso a la EEPROM interna del LPC4337.
void hmi_init(void)
Inicializa el estado interno de la HMI y dibuja la pantalla inicial.
parametros_control_t hmi_obtener_parametros_control(void)
Obtiene todos los parametros de control actualmente cargados en la HMI.
void hmi_process(void)
Procesa la navegacion de la interfaz y actualiza el LCD si es necesario.
void hmi_cargar_parametros_control(const parametros_control_t *parametros)
Carga en la HMI los parametros de control vigentes.
void hmi_cargar_estado_proceso(const hmi_estado_proceso_t *estado)
Carga en la HMI el estado visible actual del proceso.
Interfaz publica de la HMI.
void driver_lcd_init(void)
Inicializa el LCD y ejecuta la secuencia de arranque.
Interfaz del driver para LCD alfanumerico.
void led_turn_off(uint8_t numero_led)
Apaga un LED.
void led_init(void)
Inicializa los pines asociados a los LEDs.
void led_turn_on(uint8_t numero_led)
Enciende un LED.
Interfaz del driver de LEDs discretos.
#define LED1
LED discreto 1.
bool parametros_guardar(void)
bool parametros_actualizar(const parametros_control_t *nuevos_parametros)
bool parametros_init(void)
const parametros_control_t * parametros_obtener(void)
Persistencia y administracion de parametros de la aplicacion.
Estado del driver DS18B20 para un sensor individual.
int16_t temperatura_deci_celsius
Configuracion fisica del pin usado por el bus 1-Wire.
uint32_t board_timer_get_ticks(void)
Devuelve la cantidad de ticks acumulados por el RIT.
void board_timer_init(uint32_t timer_value_ms)
Inicializa y arranca el temporizador RIT con un periodo dado.
Interfaz del driver del temporizador RIT.