/*
- * 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>
/** 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,
/** @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
};