bl_iot_sdk/components/hal_drv/bl602_hal/bl_wdt_cli.c
2020-10-26 20:35:25 +08:00

84 lines
3.2 KiB
C

/*
* Copyright (c) 2020 Bouffalolab.
*
* This file is part of
* *** Bouffalolab Software Dev Kit ***
* (see www.bouffalolab.com).
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* 3. Neither the name of Bouffalo Lab nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <stdlib.h>
#include <stdio.h>
#include <cli.h>
#include <bl_wdt.h>
#include <blog.h>
static void cmd_wdt_init(char *buf, int len, int argc, char **argv)
{
int ms = 0;
if (2 != argc) {
log_info("Usage: %s ms\r\n", argv[0]);
return;
}
ms = atoi(argv[1]);
log_info("Init WDT with %dms\r\n", ms);
if (ms <= 0) {
return;
}
bl_wdt_init(ms);
}
static void cmd_wdt_feed(char *buf, int len, int argc, char **argv)
{
bl_wdt_feed();
}
static void cmd_wdt_disable(char *buf, int len, int argc, char **argv)
{
bl_wdt_disable();
}
static void cmd_timer_start(char *buf, int len, int argc, char **argv)
{
int bl_timer_tick_enable(void);
bl_timer_tick_enable();
}
// STATIC_CLI_CMD_ATTRIBUTE makes this(these) command(s) static
const static struct cli_command cmds_user[] STATIC_CLI_CMD_ATTRIBUTE = {
{"wdt-init", "wdt-init ms", cmd_wdt_init},
{"wdt-feed", "wdt-feed", cmd_wdt_feed},
{"wdt-disable", "wdt-disable", cmd_wdt_disable},
{"timer-start", "timer-start", cmd_timer_start},
};
int bl_wdt_cli_init(void)
{
// static command(s) do NOT need to call aos_cli_register_command(s) to register.
// However, calling aos_cli_register_command(s) here is OK but is of no effect as cmds_user are included in cmds list.
// XXX NOTE: Calling this *empty* function is necessary to make cmds_user in this file to be kept in the final link.
//return aos_cli_register_commands(cmds_user, sizeof(cmds_user)/sizeof(cmds_user[0]));
return 0;
}