]> rtime.felk.cvut.cz Git - pes-rpp/rpp-test-sw.git/blobdiff - rpp-test-sw/commands/cmd.c
Change license to MIT
[pes-rpp/rpp-test-sw.git] / rpp-test-sw / commands / cmd.c
index 69f90fa0fbcbe935a963f084fa7cd65a516d9e1e..66cba4f5c54adaf3537f1fa156904aa68c8b4230 100644 (file)
@@ -1,15 +1,31 @@
 /*
- * Copyright (C) 2012-2013 Czech Technical University in Prague
+ * Copyright (C) 2012-2016 Czech Technical University in Prague
  *
  * Created on: 31.7.2012
  *
  * Authors:
  *     - Michal Horn
  *
- * 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.
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
  *
  * File : cmd.c
  *
 #include "cmd_can.h"
 #include "cmd_pin.h"
 #include "cmd_port.h"
+#include "cmd_nc.h"
+#include "cmd_netstats.h"
+#include "cmd_emac.h"
+#include "cmd_echoserver.h"
+#include "cmd_ping.h"
+#include "cmd_iperf.h"
+
+#ifdef TARGET_TMS570_RPP
+#include "cmd_dac.h"
+#include "cmd_fray.h"
+#include "cmd_din.h"
+#include "cmd_hbr.h"
+#include "cmd_hout.h"
+#include "cmd_lin.h"
+#include "cmd_lout.h"
+#include "cmd_mout.h"
+#include "cmd_sdram.h"
+#include "cmd_spi.h"
+#include "cmd_vbat.h"
+#include "cmd_motor_example.h"
+#include "cmd_fr_basic_test.h"
+#endif
 
 #ifndef DOCGEN
 
 #include "rpp/rpp.h"
-#include "hal/hal.h"
-
 
 #include <version.h>
 
@@ -45,6 +81,39 @@ int cmd_do_version(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[])
 /** Root list in which commands are stored */
 cmd_des_t const **cmd_list;
 
+#ifdef TARGET_TMS570_RPP
+int cmd_do_sleep(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[])
+{
+#ifndef DOCGEN
+       if (rpp_gio_set(PIN_CANNSTB, 1) == FAILURE) return -CMDERR_BADDIO;
+       if (rpp_gio_set(PIN_CANEN, 1) == FAILURE) return -CMDERR_BADDIO;
+       if (rpp_gio_set(PIN_LIN2NSLP, 1) == FAILURE) return -CMDERR_BADDIO;
+       if (rpp_gio_set(PIN_LIN1NSLP, 1) == FAILURE) return -CMDERR_BADDIO;
+       vTaskDelay(10/portTICK_RATE_MS);
+       if (rpp_gio_set(PIN_LIN2NSLP, 0) == FAILURE) return -CMDERR_BADDIO;
+       if (rpp_gio_set(PIN_LIN1NSLP, 0) == FAILURE) return -CMDERR_BADDIO;
+       if (rpp_gio_set(PIN_CANNSTB, 0) == FAILURE) return -CMDERR_BADDIO;
+#endif
+       return 0;
+}
+
+/** Command descriptor for sleep command */
+cmd_des_t const cmd_des_sleep = {
+               0, 0,
+               "sleep","Sleep the board",
+               "### Syntax ###\n"
+               "\n"
+               " sleep\n"
+               "\n"
+               "### Description ###\n"
+               "\n"
+               "This command configures the LIN and CAN peripherals to enter sleep mode\n"
+               "and turn the whole device into sleep mode. External signal on CAN or\n"
+               "LIN will wake the device up.\n",
+               CMD_HANDLER(cmd_do_sleep), (void *)&cmd_list
+};
+#endif
+
 /** Command descriptor for show help command */
 cmd_des_t const cmd_des_help = {
        0, 0,
@@ -90,11 +159,37 @@ cmd_des_t const cmd_des_version = {
 /** @brief Main list of commands */
 cmd_des_t const *cmd_list_main[] = {
        &cmd_des_help,
+#ifdef TARGET_TMS570_RPP
+       &cmd_des_sleep,
+#endif
        &cmd_des_version,
        CMD_DES_INCLUDE_SUBLIST(cmd_list_adc),
        CMD_DES_INCLUDE_SUBLIST(cmd_list_can),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_emac),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_nc),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_es),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_netstats),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_ping),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_iperf),
+#ifdef TARGET_TMS570_RPP
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_dac),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_din),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_fr_basic_test),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_fray),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_hbr),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_hout),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_lin),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_lout),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_mout),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_motor_example),
+#endif
        CMD_DES_INCLUDE_SUBLIST(cmd_list_pin),
        CMD_DES_INCLUDE_SUBLIST(cmd_list_port),
+#ifdef TARGET_TMS570_RPP
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_sdram),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_spi),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_vbat),
+#endif
        NULL
 };