{
uint32_t i;
adcData_t data[ADC_MAX_CHANNELS];
- int count = MIN(port->numchn, size/sizeof(uint16_t));
+ uint32_t count = MIN(port->numchn, size/sizeof(uint16_t));
+ uint32_t ret;
uint16_t *adcval = values;
assert(port->bpch == 16);
+ assert(port->numchn <= ADC_MAX_CHANNELS);
assert(size % sizeof(uint16_t) == 0);
- drv_adc_generic_read(
+ ret = drv_adc_generic_read(
port->cfg.adc.reg,
port->cfg.adc.group,
data
);
- for (i = 0; i < count; i++)
+ for (i = 0; i < ret; i++)
adcval[i] = data[i].value;
+ for (i = ret; i < count; i++)
+ adcval[i] = 0;
return 0;
}