/*
- * Copyright (C) 2012-2015 Czech Technical University in Prague
+ * Copyright (C) 2012-2016 Czech Technical University in Prague
*
* Created on: 28.2.2013
*
#include <stdio.h>
#include "drv/port.h"
-static double lsb2volts(unsigned lsb)
-{
- return ((double)lsb + 0.0)*2.5/4095*2;
-}
-
-
/**
* @brief Read values from ADC port
*
if (param[1] == param[0] + 7) { /* Single pin variant */
if (sscanf(param[1], "%d", &min) != 1)
return -CMDERR_BADPAR;
- if (min > 15)
+ if (min >= PORT_ADC_CHANNELS)
return -CMDERR_NODEV;
max = min;
}
else { /* All pins */
min = 0;
- max = port_desc[PORT_ID_ADC].numchn - 1;
+ max = PORT_ADC_CHANNELS - 1;
}
for (i = min; i <= max; i++) {
unsigned d = rpp_adc_get(i+1);
- double v = lsb2volts(d);
+ double v = port_adc_lsb2volts(d);
rpp_sci_printf("ADC%-2d %4d lsb ~ %5.2f V\n", i, d, v);
}
return 0;
{
int i;
- rpp_sci_printf("ADC Inputs Test [0-15]:\r\n");
- rpp_sci_printf("===============================================================================================\r\n");
+ rpp_sci_printf("ADC Inputs Test [0-%d]:\r\n", PORT_ADC_CHANNELS - 1);
+
+ for (i = 0; i < PORT_ADC_CHANNELS; i++)
+ rpp_sci_printf("======");
+ rpp_sci_printf("\n");
- for (i = 0; i < 16; i++)
+ for (i = 0; i < PORT_ADC_CHANNELS; i++)
rpp_sci_printf("%5d ", i);
rpp_sci_printf("\n");
// Update inputs
rpp_adc_update();
- for (i = 0; i < 16; i++)
+ for (i = 0; i < PORT_ADC_CHANNELS; i++)
rpp_sci_printf("%5d ", rpp_adc_get(i+1));
rpp_sci_printf("lsb\n");
- for (i = 0; i < 16; i++)
- rpp_sci_printf("%5.2f ", lsb2volts(rpp_adc_get(i+1)));
+ for (i = 0; i < PORT_ADC_CHANNELS; i++)
+ rpp_sci_printf("%5.2f ", port_adc_lsb2volts(rpp_adc_get(i+1)));
rpp_sci_printf("V\r\033[A"); /* Cursor up */