Safety Implementation:
void safe_override_control(LowPowerRequestOutputOverride override_state,
uint32_t timeout_ms) {
config.override = override_state;
spc_configure_low_power_request(&config);
start_override_timeout_timer(timeout_ms);
}
void override_timeout_handler() {
config.override = LowPowerRequestOutputOverride::AUTO;
spc_configure_low_power_request(&config);
log_warning("LPR override timeout - returned to automatic mode");
}