#include "lamp_board_inputs.h"
#include "stm32g0xx.h"
lamp_board_input_snapshot lamp_board_inputs_read(void) {
    lamp_board_input_snapshot s = {0};
    const uint32_t pa = GPIOA->IDR;
    const uint32_t pb = GPIOB->IDR;
    s.thermal_contact_closed = (pa & (1u << 12u)) != 0u;
    s.hardware_interlock_closed = (pa & (1u << 0u)) != 0u;
    s.user_key_pressed = (pb & (1u << 0u)) == 0u;
    s.guard_inputs.hardware_interlock_ok = s.hardware_interlock_closed;
    /* No temperature/rail calibration, driver readback or physical IR input.
     * Unmeasured conditions cannot authorize output or fresh vision tickets. */
    return s;
}
