#include "lamp_bench_capture.h"
#include <stddef.h>
_Static_assert(sizeof(lamp_bench_capture)==80u,"bench record ABI");
void lamp_bench_capture_make(const lamp_adc_frame *raw,uint16_t cal,
 uint32_t now,uint32_t available,uint32_t bits,lamp_bench_capture *out) {
 if(out==NULL)return;
 lamp_bench_capture r={0};
 r.version=1u;r.captured_ms=now;r.factory_vrefint_cal=cal;
 r.input_available_bits=available;r.input_bits=bits;
 r.measurement_status=LAMP_MEAS_STALE;
 if(raw!=NULL) {
  r.adc_available=1u;r.ntc_raw=raw->ntc_raw;r.led_v_raw=raw->led_v_raw;
  r.led_i_raw=raw->led_i_raw;r.vrefint_raw=raw->vrefint_raw;
  r.first_sample_ms=raw->first_sample_ms;r.completed_ms=raw->completed_ms;
  r.adc_sequence=raw->sequence;
  lamp_measurement m={0};
  r.measurement_status=lamp_measurement_from_frame(raw,cal,now,&m);
  if(r.measurement_status==LAMP_MEAS_OK) {
   r.estimated_vdda_uv=m.estimated_vdda_uv;r.nominal_led_uv=m.nominal_led_uv;
   r.nominal_led_current_ua=m.nominal_led_current_ua;
   r.nominal_ntc_ohm=m.nominal_ntc_ohm;r.quality_flags=m.quality_flags;
  }
 }
 *out=r;
}
