#pragma once

#include <stdint.h>

#include "esp_err.h"

typedef enum {
    GUGUJI_STATUS_BOOT = 0,
    GUGUJI_STATUS_WAITING_HOST,
    GUGUJI_STATUS_DISARMED,
    GUGUJI_STATUS_ARMED,
    GUGUJI_STATUS_TIMEOUT,
    GUGUJI_STATUS_ESTOP,
    GUGUJI_STATUS_FAULT,
    GUGUJI_STATUS_SENSOR_WARN,
} guguji_status_mode_t;

esp_err_t guguji_status_outputs_init(void);
void guguji_status_outputs_apply(guguji_status_mode_t mode, uint32_t now_ms);
