You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by je...@apache.org on 2019/07/22 13:56:32 UTC

[mynewt-core] branch master updated: da1469x_charger: Update compat cli

This is an automated email from the ASF dual-hosted git repository.

jerzy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-core.git


The following commit(s) were added to refs/heads/master by this push:
     new 6a0ce3d  da1469x_charger: Update compat cli
6a0ce3d is described below

commit 6a0ce3d28e7a383fe6b7f665f450210ef1a8e11e
Author: Jerzy Kasenberg <je...@codecoup.pl>
AuthorDate: Mon Jul 22 13:35:34 2019 +0200

    da1469x_charger: Update compat cli
    
    Register read and write commands were not available in compat shell.
    Help from compat was not in sync with new style commands.
    Compat shell was unconditionally used, now it can be turned off.
    Now compat and new style shell commands use same table of commands
    and risk of having different commands is removed.
---
 .../da1469x_charger/src/da1469x_charger_shell.c    | 124 ++++++++++-----------
 1 file changed, 57 insertions(+), 67 deletions(-)

diff --git a/hw/drivers/chg_ctrl/da1469x_charger/src/da1469x_charger_shell.c b/hw/drivers/chg_ctrl/da1469x_charger/src/da1469x_charger_shell.c
index 98f97f2..31fe1ff 100644
--- a/hw/drivers/chg_ctrl/da1469x_charger/src/da1469x_charger_shell.c
+++ b/hw/drivers/chg_ctrl/da1469x_charger/src/da1469x_charger_shell.c
@@ -637,32 +637,6 @@ static const struct reg charger_regs[] = {
 };
 #define NUM_CHARGER_REGS ARRAY_SIZE(charger_regs)
 
-static const struct shell_cmd da1469x_charger_shell_cmd_struct;
-
-static int
-da1469x_charger_help(void)
-{
-    console_printf("%s cmd\n", da1469x_charger_shell_cmd_struct.sc_cmd);
-    console_printf("cmd:\n");
-    console_printf("\thelp\n");
-#if MYNEWT_VAL(DA1469X_CHARGER_CLI_DECODE)
-    console_printf("\tdump [decode]\n");
-#else
-    console_printf("\tdump\n");
-#endif
-    console_printf("\tread <reg_name>\n");
-    console_printf("\twrite <reg_anme> <value>\n");
-    console_printf("\tdisable\n");
-    console_printf("\tenable\n");
-    console_printf("\tstatus\n");
-    console_printf("\tseti <charge_i> [<precharge_i> [<eoc_percent>]]\n");
-    console_printf("\tsetv <charge_v> [<precharge_v> [<replenish_v> [<ovp_v>]]]\n");
-#if MYNEWT_VAL(DA1469X_CHARGER_USE_CHARGE_CONTROL)
-    console_printf("\tlisten start | stop\n");
-#endif
-    return 0;
-}
-
 static int
 da1469x_charger_shell_err_too_many_args(const char *cmd_name)
 {
@@ -1058,47 +1032,6 @@ da1469x_charger_shell_cmd_listen(int argc, char **argv)
 #endif /* MYNEWT_VAL(DA1469X_CHARGER_USE_CHARGE_CONTROL) */
 
 static int
-da1469x_charger_shell_cmd(int argc, char **argv)
-{
-    if (argc == 1) {
-        return da1469x_charger_help();
-    }
-
-    argv++;
-    argc--;
-    if (strcmp(argv[0], "help") == 0) {
-        return da1469x_charger_help();
-#if MYNEWT_VAL(DA1469X_CHARGER_CLI_DECODE)
-    } else if (strcmp(argv[0], "decode") == 0) {
-        return da1469x_charger_shell_cmd_decode(argc, argv);
-#endif
-    } else if (strcmp(argv[0], "dump") == 0) {
-        return da1469x_charger_shell_cmd_dump(argc, argv);
-    } else if (strcmp(argv[0], "enable") == 0) {
-        return da1469x_charger_shell_cmd_enable(argc, argv);
-    } else if (strcmp(argv[0], "disable") == 0) {
-        return da1469x_charger_shell_cmd_disable(argc, argv);
-    } else if (strcmp(argv[0], "status") == 0) {
-        return da1469x_charger_shell_cmd_status(argc, argv);
-    } else if (strcmp(argv[0], "seti") == 0) {
-        return da1469x_charger_shell_cmd_set_i(argc, argv);
-    } else if (strcmp(argv[0], "setv") == 0) {
-        return da1469x_charger_shell_cmd_set_v(argc, argv);
-#if MYNEWT_VAL(DA1469X_CHARGER_USE_CHARGE_CONTROL)
-    } else if (strcmp(argv[0], "listen") == 0) {
-        return da1469x_charger_shell_cmd_listen(argc, argv);
-#endif
-    }
-
-    return da1469x_charger_shell_err_unknown_arg(argv[1]);
-}
-
-static const struct shell_cmd da1469x_charger_shell_cmd_struct = {
-    .sc_cmd = "charger",
-    .sc_cmd_func = da1469x_charger_shell_cmd
-};
-
-static int
 da1469x_charger_reg_cmd(int argc, char **argv)
 {
     const struct reg *reg = NULL;
@@ -1186,14 +1119,71 @@ static const struct shell_cmd da1469x_charger_cmds[] = {
     SHELL_CMD(NULL, NULL, NULL)
 };
 
+#if MYNEWT_VAL(SHELL_COMPAT)
+static const struct shell_cmd da1469x_charger_shell_cmd_struct;
+
+static int
+da1469x_charger_help(void)
+{
+    console_printf("%s cmd\n", da1469x_charger_shell_cmd_struct.sc_cmd);
+    console_printf("cmd:\n");
+    console_printf("\thelp\n");
+#if MYNEWT_VAL(DA1469X_CHARGER_CLI_DECODE)
+    console_printf("\tdump [decode]\n");
+    console_printf("\tdecode [1 | 0]\n");
+#else
+    console_printf("\tdump\n");
+#endif
+    console_printf("\t<reg_name>\n");
+    console_printf("\t<reg_anme> <value>\n");
+    console_printf("\tdisable\n");
+    console_printf("\tenable\n");
+    console_printf("\tstatus\n");
+    console_printf("\tclrirq\n");
+    console_printf("\tseti <charge_i> [<precharge_i> [<eoc_percent>]]\n");
+    console_printf("\tsetv <charge_v> [<precharge_v> [<replenish_v> [<ovp_v>]]]\n");
+#if MYNEWT_VAL(DA1469X_CHARGER_USE_CHARGE_CONTROL)
+    console_printf("\tlisten start | stop\n");
+#endif
+    return 0;
+}
+
+static int
+da1469x_charger_shell_cmd(int argc, char **argv)
+{
+    const struct shell_cmd *cmd = da1469x_charger_cmds;
+
+    argv++;
+    argc--;
+    if (argc == 0 || strcmp(argv[0], "help") == 0) {
+        return da1469x_charger_help();
+    }
+
+    for (; cmd->sc_cmd; ++cmd) {
+        if (strcmp(cmd->sc_cmd, argv[0]) == 0) {
+            return cmd->sc_cmd_func(argc, argv);
+        }
+    }
+
+    return da1469x_charger_shell_err_unknown_arg(argv[1]);
+}
+
+static const struct shell_cmd da1469x_charger_shell_cmd_struct = {
+    .sc_cmd = "charger",
+    .sc_cmd_func = da1469x_charger_shell_cmd
+};
+#endif
+
 int
 da1469x_charger_shell_init(struct da1469x_charger_dev *dev)
 {
     int rc;
     (void)dev;
 
+#if MYNEWT_VAL(SHELL_COMPAT)
     rc = shell_cmd_register(&da1469x_charger_shell_cmd_struct);
     SYSINIT_PANIC_ASSERT(rc == 0);
+#endif
 
     rc = shell_register("charger", da1469x_charger_cmds);
     return rc;