]> rtime.felk.cvut.cz Git - pes-rpp/rpp-test-sw.git/commitdiff
Port ADC commands to RM48 and HDK, library update
authorMichal Horn <hornmich@fel.cvut.cz>
Fri, 31 Oct 2014 14:45:33 +0000 (15:45 +0100)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Wed, 3 Dec 2014 17:51:36 +0000 (18:51 +0100)
rpp-test-sw/commands/cmd_adc.c

index b328dd71acc24a7d2f3367fa60a6ee2ced447d74..e6a621d69b93ccebf7735a337c3aac40a21605ab 100644 (file)
@@ -48,18 +48,18 @@ int cmd_do_read_adc1_values(cmd_io_t *cmd_io, const struct cmd_des *des, char *p
        if (param[1] == param[0] + 7) { /* Single pin variant */
                if (sscanf(param[1], "%d", &min) != 1)
                        return -CMDERR_BADPAR;
-               if (min < 1 || min > 12)
+               if (min > 15)
                        return -CMDERR_NODEV;
                max = min;
        }
        else {              /* All pins */
-               min = 1;
-               max = PORT_ADC_CHANNEL_NUM;
+               min = 0;
+               max = PORT_ADC_CHANNEL_NUM-1;
        }
-       for (i = min-1; i < max; i++) {
+       for (i = min; i <= max; i++) {
                unsigned d = rpp_adc_get(i+1);
                double v = lsb2volts(d);
-               rpp_sci_printf("ADC%-2d %4d lsb ~ %5.2f V\n", i+1, d, v);
+               rpp_sci_printf("ADC%-2d %4d lsb ~ %5.2f V\n", i, d, v);
        }
        return 0;
 }
@@ -68,9 +68,13 @@ int cmd_do_adc_watch(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[])
 {
        int i;
 
-       rpp_sci_printf("ADC Inputs Test [1-12]:\r\n");
+       rpp_sci_printf("ADC Inputs Test [0-15]:\r\n");
        rpp_sci_printf("=======================================================================\r\n");
 
+       for (i = 0; i < 16; i++)
+               rpp_sci_printf("%5d ", i);
+       rpp_sci_printf("\n");
+
        for (i = 1; i < 13; i++)
                rpp_sci_printf("%5d ", i);
        rpp_sci_printf("\n");
@@ -81,14 +85,11 @@ int cmd_do_adc_watch(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[])
 
        while (cmd_io->getc(cmd_io) < 0) {
 
-               // Update inputs
-               rpp_adc_update();
-
-               for (i = 1; i < 13; i++)
-                       rpp_sci_printf("%5d ", rpp_adc_get(i));
+               for (i = 0; i < 16; i++)
+                       rpp_sci_printf("%5d ", rpp_adc_get(i+1));
                rpp_sci_printf("lsb\n");
-               for (i = 1; i < 13; i++)
-                       rpp_sci_printf("%5.2f ", lsb2volts(rpp_adc_get(i)));
+               for (i = 0; i < 16; i++)
+                       rpp_sci_printf("%5.2f ", lsb2volts(rpp_adc_get(i+1)));
                rpp_sci_printf("V\r\033[A"); /* Cursor up */
 
 
@@ -112,12 +113,13 @@ cmd_des_t const cmd_des_read_adc1 = {
        "### Description ###\n"
        "\n"
        "This command reads values corresponding to analog voltages on ADC\n"
-       "inputs 1-12 and prints them as decimal numbers as well as converted to\n"
+       "inputs 0-15 and prints them as decimal numbers as well as converted to\n"
        "Volts.\n"
        "\n"
        "### Example ###\n"
        "\n"
        "     --> adcread\n"
+       "     ADC0  2332 lsb ~ 11.66 V\n"
        "     ADC1  2332 lsb ~ 11.66 V\n"
        "     ADC2   107 lsb ~  0.54 V\n"
        "     ADC3   108 lsb ~  0.54 V\n"
@@ -129,7 +131,10 @@ cmd_des_t const cmd_des_read_adc1 = {
        "     ADC9   107 lsb ~  0.54 V\n"
        "     ADC10  107 lsb ~  0.54 V\n"
        "     ADC11  110 lsb ~  0.55 V\n"
-       "     ADC12  108 lsb ~  0.54 V\n",
+       "     ADC12  108 lsb ~  0.54 V\n"
+       "     ADC13  108 lsb ~  0.54 V\n"
+       "     ADC14  108 lsb ~  0.54 V\n"
+       "     ADC15  108 lsb ~  0.54 V\n",
        CMD_HANDLER(cmd_do_read_adc1_values), (void *)&cmd_list_adc
 };
 
@@ -140,7 +145,7 @@ cmd_des_t const cmd_des_read_adc2 = {
        "\n"
        "    adcread<PIN>\n"
        "\n"
-       "where `<PIN>` is a number in range 1 - 12.\n"
+       "where `<PIN>` is a number in range 0 - 15.\n"
        "\n"
        "### Description ###\n"
        "\n"
@@ -164,18 +169,18 @@ cmd_des_t const cmd_des_adcwatch = {
        "### Description ###\n"
        "\n"
        "This command reads values corresponding to analog voltages on ADC\n"
-       "inputs 1-12 10 times per second and prints them as decimal numbers (in\n"
+       "inputs 0-15 10 times per second and prints them as decimal numbers (in\n"
        "lsb units) as well as converted to Volts. The command is ended by any\n"
        "key.\n"
        "\n"
        "### Example ###\n"
        "\n"
        "    --> adcwatch\n"
-       "    ADC Inputs Test [1-12]:\n"
-       "    =======================================================================\n"
-       "        1     2     3     4     5     6     7     8     9    10    11    12\n"
-       "     2331   107   108   106   107   110   110   109   107   107   110   109 lsb\n"
-       "    11.66  0.54  0.54  0.53  0.54  0.55  0.55  0.55  0.54  0.54  0.55  0.55 V\n",
+       "    ADC Inputs Test [0-15]:\n"
+       "    =========================================================================================\n"
+       "        0     2     3     4     5     6     7     8     9    10    11    12    13    14    15\n"
+       "     2331   107   108   106   107   110   110   109   107   107   110   109   109   109   109 lsb\n"
+       "    11.66  0.54  0.54  0.53  0.54  0.55  0.55  0.55  0.54  0.54  0.55  0.55  0.55  0.55  0.55 V\n",
        CMD_HANDLER(cmd_do_adc_watch), (void *)&cmd_list_adc
 };