]> rtime.felk.cvut.cz Git - pes-rpp/rpp-test-sw.git/blobdiff - rpp-test-sw/commands/cmd_adc.c
Compile with Makefile instead of CSS
[pes-rpp/rpp-test-sw.git] / rpp-test-sw / commands / cmd_adc.c
index ce3be4a928353b30fa6060adc29fb92a1b1c6b63..97e04ab9180ee88dba0fc91e5ed2103381b2e77a 100644 (file)
@@ -1,23 +1,15 @@
 /*
- * Copyright (C) 2012-2013 Czech Technical University in Prague
+ * Copyright (C) 2012-2015 Czech Technical University in Prague
  *
  * Created on: 28.2.2013
  *
  * Authors:
  *     - Michal Horn
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ * This document contains proprietary information belonging to Czech
+ * Technical University in Prague. Passing on and copying of this
+ * document, and communication of its contents is not permitted
+ * without prior written authorization.
  *
  * File : cmd_adc.c
  *
@@ -56,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;
 }
@@ -76,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");
@@ -88,15 +84,14 @@ int cmd_do_adc_watch(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[])
        portTickType last_wake_time = xTaskGetTickCount();
 
        while (cmd_io->getc(cmd_io) < 0) {
+        // Update inputs
+        rpp_adc_update();
 
-               // 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 */
 
 
@@ -120,12 +115,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"
@@ -137,8 +133,11 @@ 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",
-       CMD_HANDLER(cmd_do_read_adc1_values), (void*)&cmd_list_adc
+       "     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
 };
 
 cmd_des_t const cmd_des_read_adc2 = {
@@ -148,7 +147,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"
@@ -159,7 +158,7 @@ cmd_des_t const cmd_des_read_adc2 = {
        "\n"
        "    --> adcread1\n"
        "    ADC1  2331 lsb ~ 11.66 V\n",
-       CMD_HANDLER(cmd_do_read_adc1_values), (void*)&cmd_list_adc
+       CMD_HANDLER(cmd_do_read_adc1_values), (void *)&cmd_list_adc
 };
 
 cmd_des_t const cmd_des_adcwatch = {
@@ -172,19 +171,19 @@ 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",
-       CMD_HANDLER(cmd_do_adc_watch), (void*)&cmd_list_adc
+       "    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
 };
 
 /** List of commands for adc, defined as external */