Files @ 8e1189ce73af
Branch filter:

Location: therm/states.h

matthewreed
Fixed settings save and restore in flash
#ifndef STATES_H
#define STATES_H

#include "config.h"

typedef struct {
    int32_t temp;
    uint8_t temp_frac;
    uint8_t state_resume;
    uint8_t state;
    int32_t setpoint;
    uint8_t pid_enabled;
    uint8_t error_code;
} therm_status_t;

typedef union
{
     struct {
        uint32_t boottobrew;
        uint32_t temp_units;
        uint32_t windup_guard;
        uint32_t k_p;
        uint32_t k_i;
        uint32_t k_d;
        int32_t temp_offset;
        uint32_t ignore_error;
        int32_t setpoint_brew;
        int32_t setpoint_steam;
    } val;

    uint16_t data[128];
} therm_settings_t;

enum tempunits {
    TEMP_UNITS_CELSIUS = 0,
    TEMP_UNITS_FAHRENHEIT,
};

enum state {
    STATE_IDLE = 0,

    STATE_SETP,
    STATE_SETI,
    STATE_SETD,
    STATE_SETSTEPS,
    STATE_SETWINDUP,
    STATE_SETBOOTTOBREW,
    STATE_SETUNITS,
    STATE_SETTEMPOFFSET,

    STATE_PREHEAT,
    STATE_MAINTAIN,

    STATE_TC_ERROR,
	STATE_RESET,
};

enum GOTO_MODE {
	#ifdef BOOTLOADER_SHORTCUT
	MODE_BOOTLOADER,
	#endif
	MODE_HEAT,
	MODE_SETUP,
	MODE_RESET,
	MODE_SIZE,
};

enum RESET_MODE {
	RESET_RESET = 0,
	RESET_BOOTLOADER,
	RESET_EXIT,
	RESET_SIZE,
};

#endif