]> rtime.felk.cvut.cz Git - rpp-test-sw.git/blobdiff - rpp-test-sw/commands/_tms570_rpp/cmd.c
Merge branches 'master' and 'rm48/master'
[rpp-test-sw.git] / rpp-test-sw / commands / _tms570_rpp / cmd.c
diff --git a/rpp-test-sw/commands/_tms570_rpp/cmd.c b/rpp-test-sw/commands/_tms570_rpp/cmd.c
new file mode 100644 (file)
index 0000000..8b8895b
--- /dev/null
@@ -0,0 +1,170 @@
+/*
+ * Copyright (C) 2012-2013 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.
+ *
+ * File : cmd.c
+ *
+ * Abstract:
+ *      This file contains root of the list of the commands.
+ *
+ */
+
+/* Include files */
+#include "cmdproc.h"
+#include "../cmd.h"
+#include "../cmd_adc.h"
+#include "../cmd_dac.h"
+#include "../cmd_emac.h"
+#include "../cmd_fray.h"
+#include "../cmd_can.h"
+#include "../cmd_din.h"
+#include "../cmd_hbr.h"
+#include "../cmd_hout.h"
+#include "../cmd_lin.h"
+#include "../cmd_lout.h"
+#include "../cmd_nc.h"
+#include "../cmd_netstats.h"
+#include "../cmd_pin.h"
+#include "../cmd_port.h"
+#include "../cmd_sdram.h"
+#include "../cmd_spi.h"
+#include "../cmd_vbat.h"
+#include "../cmd_motor_example.h"
+#include "../cmd_fr_basic_test.h"
+
+#ifndef DOCGEN
+
+#include "rpp/rpp.h"
+#include "hal/hal.h"
+
+
+/**
+ *  @brief     Sleep the board
+ *
+ * @param[in]  cmd_io  Pointer to IO stack
+ * @param[in]  des             Pointer to command descriptor
+ * @param[in]  param   Parameters of command
+ * @return     0 when OK or error code
+ */
+int cmd_do_sleep(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[])
+{
+       hal_gpio_pin_set_value(PIN_DSC_CANNSTB, 1);
+       hal_gpio_pin_set_value(PIN_DSC_CANEN, 1);
+       hal_gpio_pin_set_value(PIN_DSC_LIN2NSLP, 1);
+       hal_gpio_pin_set_value(PIN_DSC_LIN1NSLP, 1);
+       vTaskDelay(10/portTICK_RATE_MS);
+       hal_gpio_pin_set_value(PIN_DSC_LIN2NSLP, 0);
+       hal_gpio_pin_set_value(PIN_DSC_LIN1NSLP, 0);
+       hal_gpio_pin_set_value(PIN_DSC_CANNSTB, 0);
+       return 0;
+}
+
+#include <version.h>
+
+int cmd_do_version(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[])
+{
+       rpp_sci_printf("version=%s\n", GIT_VERSION);
+       return 0;
+}
+
+#endif  /* DOCGEN */
+
+/** Root list in which commands are stored */
+cmd_des_t const **cmd_list;
+
+/** 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
+};
+
+/** Command descriptor for show help command */
+cmd_des_t const cmd_des_help = {
+       0, 0,
+       "help","Print help for commands",
+       "### Syntax ###\n"
+       "\n"
+       " help [command]\n"
+       "\n"
+       "### Description ###\n"
+       "\n"
+       "This command without parameter prints the list of all available\n"
+       "commands with short help text for each of them. If a parameter is\n"
+       "provided, the command prints a long description for given command.\n",
+       CMD_HANDLER(cmd_do_help), (void *)&cmd_list
+};
+
+cmd_des_t const cmd_des_version = {
+       0, 0,
+       "version","Print version of the software",
+       "### Syntax ###\n"
+       "\n"
+       " version\n"
+       "\n"
+       "### Description ###\n"
+       "\n"
+       "This command prints the version of the test software. The version\n"
+       "number is the output of 'git describe' command, i.e. it is composed\n"
+       "from the last tag in the git repository, the number of commits since\n"
+       "the tag and the abbreviated commit hash.\n"
+       "\n"
+       "### Example ###\n"
+       "\n"
+       "    --> version\n"
+       "    version=v0.2-109-ga81a9dd\n",
+       CMD_HANDLER(cmd_do_version),
+};
+
+/*  ------------------------
+ *  Command lists definitons
+ *  ------------------------
+ */
+
+/** @brief Main list of commands */
+cmd_des_t const *cmd_list_main[] = {
+       &cmd_des_help,
+       &cmd_des_sleep,
+       &cmd_des_version,
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_adc),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_can),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_dac),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_din),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_emac),
+       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_nc),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_netstats),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_pin),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_port),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_sdram),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_spi),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_vbat),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_motor_example),
+       CMD_DES_INCLUDE_SUBLIST(cmd_list_fr_basic_test),
+       NULL
+};
+
+/** Pointer to the root list */
+cmd_des_t const **cmd_list = cmd_list_main;