#include "speed_supervisor.h"
#include <stdio.h>
int main(void) {
 ds_config c={50000,2000,100,1000,100000,100,50,65536,0};ds_supervisor s;
 ds_inputs i={0};i.power_ok=i.driver_ready=i.observer_locked=i.current_calibrated=i.handpiece_sensor_ok=true;
 i.measured_at_ms=100;
 if(!ds_init(&s,&c,100) || !ds_start(&s,1000,100,&i)) return 2;
 i.hardware_fault=true;
 ds_output o=ds_update(&s,1000,100,&i);
 printf("state=%d fault=%d run=%d q_current=%ld\n",o.state,o.fault,o.run_enable,(long)o.q_current_ref_ma);
 return o.state==DS_FAULT && o.fault==DS_FAULT_DRIVER && !o.run_enable && o.q_current_ref_ma==0 ? 0:1;
}
