24#ifndef PROTOCORE_HW_HEALTH_H
25#define PROTOCORE_HW_HEALTH_H
29#if PROTOCORE_ENABLE_HW_HEALTH
45 HW_GPIO_SHORT_GND = 1,
65 uint32_t brownout_events;
84 const HwRailMonitor *m_ro;
108 uint32_t measured_ms;
109 uint32_t expected_ms;
151 HwRailVerdict rail_verdict;
152 HwGpioVerdict gpio_verdict;
153 HwCapVerdict cap_verdict;
159extern HwHealthVars HwHealthV;
164 void (*
const rail_init)(uint8_t *work);
165 void (*
const rail_sample)(uint8_t *work);
166 void (*
const rail_json)(uint8_t *work);
167 void (*
const spi_init)(uint8_t *work);
168 void (*
const spi_result)(uint8_t *work);
169 void (*
const gpio_short)(uint8_t *work);
170 void (*
const cap_leak)(uint8_t *work);
175void protocore_hw_health_rail_init(uint8_t *work);
176void protocore_hw_health_rail_sample(uint8_t *work);
177void protocore_hw_health_rail_json(uint8_t *work);
178void protocore_hw_health_spi_init(uint8_t *work);
179void protocore_hw_health_spi_result(uint8_t *work);
180void protocore_hw_health_gpio_short(uint8_t *work);
181void protocore_hw_health_cap_leak(uint8_t *work);
187static const HwHealthNs HwHealth __attribute__((unused)) = {
188 .rail_init = protocore_hw_health_rail_init,
189 .rail_sample = protocore_hw_health_rail_sample,
190 .rail_json = protocore_hw_health_rail_json,
191 .spi_init = protocore_hw_health_spi_init,
192 .spi_result = protocore_hw_health_spi_result,
193 .gpio_short = protocore_hw_health_gpio_short,
194 .cap_leak = protocore_hw_health_cap_leak,
PROTO_ENUM_PACKED
Application protocol spoken on a listener port or connection slot.
#define PROTOCORE_BEGIN_DECLS
Give a header's declarations C linkage, so their symbol names carry no parameter types.
_Bool proto_bool
The truth value.
#define PROTOCORE_END_DECLS