Command Line Interface
Description
The Command Line Interface (CLI) software component simplifies creating command line user interfaces for programs. It handles tasks such as receiving keyboard input, parsing the input strings for commands and arguments, and finally calling the proper C function with decoded and validated arguments. Functions can use standard output functions such as printf to write information to the console. Many modules of the SDK have built-in commands that are provided via CLI, users can even add the custom commands if required.
The Command Line Interface (CLI) depends on I/O Stream for reading and writing bytes. You can set the I/O stream instance in the CLI instance configuration.
Modules |
|
CLI Commands in NVM3 | |
Support for CLI commands stored in and executed from NVM3.
|
|
CLI Commands in RAM | |
Support for CLI commands stored in and executed from RAM.
|
|
CLI Delay | |
CLI Delay.
|
|
Data Structures |
|
struct | sl_cli_command_arg_t |
Command arguments data type.
|
|
struct | sl_cli_command_info_t |
Command struct representing a command and its variable types.
|
|
struct | sl_cli_command_entry_t |
Struct associating a command with a string.
|
|
struct | sl_cli_command_group_t |
Struct representing a command group.
|
|
struct | sl_cli |
Struct representing an instance of the CLI.
|
|
struct | sl_cli_instance_parameters_t |
The structure defining the parameters for creating a CLI instance.
|
|
Functions |
|
uint8_t * | sl_cli_get_argument_hex ( sl_cli_command_arg_t *a, size_t n, size_t *l) |
Get the hex argument length and value.
|
|
void | sl_cli_clear (sl_cli_handle_t handle) |
Clear (reset) a CLI.
|
|
void | sl_cli_redirect_command (sl_cli_handle_t handle, sl_cli_command_function_t command_function, const char *prompt, void *aux) |
Redirect user input.
|
|
sl_status_t | sl_cli_handle_input (sl_cli_handle_t handle, char *string) |
Handle input.
|
|
sl_status_t | sl_cli_instance_init (sl_cli_handle_t handle, sl_cli_instance_parameters_t *parameters) |
Initialize a CLI instance.
|
|
bool | sl_cli_is_ok_to_sleep (sl_cli_handle_t handle) |
Check if the CLI instance can allow sleep.
|
|
void | sl_cli_tick_instance (sl_cli_handle_t handle) |
The bare metal tick function.
|
|
sl_status_t | sl_cli_tokenize (char input[], int *token_c, char *token_v[]) |
Split a C-string on space, ignoring sections in {} or "".
|
|
bool | sl_cli_command_add_command_group (sl_cli_handle_t handle, sl_cli_command_group_t *command_group) |
Add a new command group.
|
|
bool | sl_cli_command_remove_command_group (sl_cli_handle_t handle, sl_cli_command_group_t *command_group) |
Remove a command group.
|
|
const sl_cli_command_entry_t * | sl_cli_command_find (sl_cli_handle_t handle, int *token_c, char *token_v[], int *arg_ofs, bool *single_flag, bool *help_flag) |
Find a command given the command groups and input arguments.
|
|
sl_status_t | sl_cli_command_execute (sl_cli_handle_t handle, char *input) |
Find and execute a command given the string input and the command table.
|
|
sl_status_t | sl_cli_simple_password_init (void) |
Initialize module.
|
|
sl_status_t | sl_cli_simple_password_logout (sl_cli_handle_t handle) |
Logout connected user from an instance.
|
|
sl_status_t | sl_cli_set_simple_password (char *new_password) |
Set a new password.
|
|
sl_status_t | sl_cli_simple_password_destroy_key (void) |
Destroy password key and force to configure a new password.
|
|
sl_status_t | sl_cli_reset_security_warning_flag (void) |
Reset security warning flag.
|
|
bool | sl_cli_input_char (sl_cli_handle_t handle, char c) |
Handle new input char from the terminal, both in terms of writing back to terminal and writing to the input buffer.
|
|
void | sl_cli_input_clear (sl_cli_handle_t handle) |
Empty the input buffer.
|
|
Macros |
|
#define | sl_cli_get_argument_count (a) ((int)((a)->argc - (a)->arg_ofs)) |
Obtain the number of command arguments.
|
|
#define | sl_cli_get_argument_type (a, n) ((sl_cli_arg_t)((a)->arg_type_list[(n)])) |
Obtain the type of argument.
|
|
#define | sl_cli_get_argument_int8 (a, n) (*(int8_t *)((a)->argv[(a)->arg_ofs + (n)])) |
Obtain int8 arguments.
|
|
#define | sl_cli_get_argument_int16 (a, n) (*(int16_t *)((a)->argv[(a)->arg_ofs + (n)])) |
Obtain int16 arguments.
|
|
#define | sl_cli_get_argument_int32 (a, n) (*(int32_t *)((a)->argv[(a)->arg_ofs + (n)])) |
Obtain int32 arguments.
|
|
#define | sl_cli_get_argument_uint8 (a, n) (*(uint8_t *)((a)->argv[(a)->arg_ofs + (n)])) |
Obtain uint8 arguments.
|
|
#define | sl_cli_get_argument_uint16 (a, n) (*(uint16_t *)((a)->argv[(a)->arg_ofs + (n)])) |
Obtain uint16 arguments.
|
|
#define | sl_cli_get_argument_uint32 (a, n) (*(uint32_t *)((a)->argv[(a)->arg_ofs + (n)])) |
Obtain uint32 arguments.
|
|
#define | sl_cli_get_argument_string (a, n) ((char *)((a)->argv[(a)->arg_ofs + (n)])) |
Obtain string arguments.
|
|
#define | sl_cli_get_command_count (a) ((int)((a)->arg_ofs)) |
Obtain the number of command strings.
|
|
#define | sl_cli_get_command_string (a, n) ((char *)((a)->argv[(n)])) |
Obtain the command string(s).
|
|
#define | SL_CLI_ARG_UINT8 (0x00U) |
UINT8 argument type.
|
|
#define | SL_CLI_ARG_UINT16 (0x01U) |
UINT16 argument type.
|
|
#define | SL_CLI_ARG_UINT32 (0x02U) |
UINT32 argument type.
|
|
#define | SL_CLI_ARG_INT8 (0x03U) |
INT8 argument type.
|
|
#define | SL_CLI_ARG_INT16 (0x04U) |
INT16 argument type.
|
|
#define | SL_CLI_ARG_INT32 (0x05U) |
INT32 argument type.
|
|
#define | SL_CLI_ARG_STRING (0x06U) |
STRING argument type.
|
|
#define | SL_CLI_ARG_HEX (0x07U) |
HEX argument type.
|
|
#define | SL_CLI_ARG_UINT8OPT (0x10U) |
Optional UINT8 argument type.
|
|
#define | SL_CLI_ARG_UINT16OPT (0x11U) |
Optional UINT16 argument type.
|
|
#define | SL_CLI_ARG_UINT32OPT (0x12U) |
Optional UINT32 argument type.
|
|
#define | SL_CLI_ARG_INT8OPT (0x13U) |
Optional INT8 argument type.
|
|
#define | SL_CLI_ARG_INT16OPT (0x14U) |
Optional INT16 argument type.
|
|
#define | SL_CLI_ARG_INT32OPT (0x15U) |
Optional INT32 argument type.
|
|
#define | SL_CLI_ARG_STRINGOPT (0x16U) |
Optional STRING argument type.
|
|
#define | SL_CLI_ARG_HEXOPT (0x17U) |
Optional HEX argument type.
|
|
#define | SL_CLI_ARG_ADDITIONAL (0x20U) |
ADDITIONAL argument type.
|
|
#define | SL_CLI_ARG_WILDCARD (0x21U) |
WILDCARD argument type.
|
|
#define | SL_CLI_ARG_GROUP (0xFEU) |
GROUP argument type.
|
|
#define | SL_CLI_ARG_END (0xFFU) |
END argument type.
|
|
#define | SL_CLI_COMMAND (function, help_text, arg_help, ...) |
A macro, which is used to create commands.
|
|
#define | SL_CLI_COMMAND_GROUP (group_table, help_text) |
A macro, which is used to create command groups.
|
|
#define | SL_CLI_NVM3_KEY_COUNT (0x100) |
#define | SL_CLI_NVM3_KEY_BEGIN (0x3000) |
#define | SL_CLI_NVM3_KEY_END (SL_CLI_NVM3_KEY_BEGIN + SL_CLI_NVM3_KEY_COUNT) |
#define | SL_CLI_INPUT_ORDINARY (0U) |
#define | SL_CLI_INPUT_RETURN (1U) |
#define | SL_CLI_INPUT_ESCAPE (2U) |
#define | SL_CLI_INPUT_ARROW (3U) |
#define | SL_CLI_INPUT_DIRECTION_UP (1) |
MACROS ************************************.
|
|
#define | SL_CLI_INPUT_DIRECTION_DOWN (-1) |
Define the DOWN-direction.
|
|
Typedefs |
|
typedef uint8_t | sl_cli_argument_type_t |
Argument type typedef.
|
|
typedef void(* | sl_cli_command_func_t ) ( sl_cli_command_arg_t *arguments) |
Command handler data type.
|
|
typedef void(* | sl_cli_command_function_t ) (char *arg_str, void *user) |
Redirect command function.
|
|
typedef uint8_t | sl_cli_input_type_t |
typedef sl_cli_t * | sl_cli_handle_t |
Enumerations |
|
enum |
sl_cli_arg
{
sl_cli_arg_uint8 = SL_CLI_ARG_UINT8, sl_cli_arg_uint16 = SL_CLI_ARG_UINT16, sl_cli_arg_uint32 = SL_CLI_ARG_UINT32, sl_cli_arg_int8 = SL_CLI_ARG_INT8, sl_cli_arg_int16 = SL_CLI_ARG_INT16, sl_cli_arg_int32 = SL_CLI_ARG_INT32, sl_cli_arg_string = SL_CLI_ARG_STRING, sl_cli_arg_hex = SL_CLI_ARG_HEX, sl_cli_arg_uint8opt = SL_CLI_ARG_UINT8OPT, sl_cli_arg_uint16opt = SL_CLI_ARG_UINT16OPT, sl_cli_arg_uint32opt = SL_CLI_ARG_UINT32OPT, sl_cli_arg_int8opt = SL_CLI_ARG_INT8OPT, sl_cli_arg_int16opt = SL_CLI_ARG_INT16OPT, sl_cli_arg_int32opt = SL_CLI_ARG_INT32OPT, sl_cli_arg_stringopt = SL_CLI_ARG_STRINGOPT, sl_cli_arg_hexopt = SL_CLI_ARG_HEXOPT, sl_cli_arg_additionnal = SL_CLI_ARG_ADDITIONAL, sl_cli_arg_wildcard = SL_CLI_ARG_WILDCARD, sl_cli_arg_group = SL_CLI_ARG_GROUP, sl_cli_arg_end = SL_CLI_ARG_END } |
Enum of all the argument types.
|
|
Variables |
|
sl_cli_handle_t | sl_cli_default_handle |
The default CLI handle.
|
|
sl_cli_command_group_t * | sl_cli_default_command_group |
The default CLI command group.
|
|
Function Documentation
◆ sl_cli_get_argument_hex()
uint8_t* sl_cli_get_argument_hex | ( | sl_cli_command_arg_t * |
a,
|
size_t |
n,
|
||
size_t * |
l
|
||
) |
Get the hex argument length and value.
- Parameters
-
[in] a
A pointer to the command arguments. [in] n
The argument number. The first argument is number 0, the next 1, etc. [in] l
A pointer to the variable that receives the argument value length. Note: The length is stored in a 2 byte variable. Valid lengths are in the range 0 .. 65535.
- Returns
- A pointer to the value buffer.
◆ sl_cli_clear()
void sl_cli_clear | ( | sl_cli_handle_t |
handle
|
) |
Clear (reset) a CLI.
- Parameters
-
[in] handle
A handle to the CLI that will be cleared.
◆ sl_cli_redirect_command()
void sl_cli_redirect_command | ( | sl_cli_handle_t |
handle,
|
sl_cli_command_function_t |
command_function,
|
||
const char * |
prompt,
|
||
void * |
aux
|
||
) |
Redirect user input.
Normally, an input string is passed to the CLI command handler for execution, but with the redirect function the input string will be passed to the alternative function. If the alternative input function should not to be used, this function can be called with NULL in the command_function, prompt and aux.
- Parameters
-
[in] handle
A handle to the CLI. [in] command_function
A pointer to the function that will receive user input when the re-direct is active. NULL to stop the redirect. [in] prompt
A pointer to a string that will be used as command prompt in the redirect function. NULL to stop the redirect. [in] aux
A pointer that will be added to the redirect function arguments. NULL to stop the redirect.
◆ sl_cli_handle_input()
sl_status_t sl_cli_handle_input | ( | sl_cli_handle_t |
handle,
|
char * |
string
|
||
) |
Handle input.
Execute a complete command line with command and arguments.
- Parameters
-
[in] handle
A handle to the CLI. [in] string
A pointer to the string containing the command line that shall be executed.
- Returns
- Execution status. Note: If the command is redirected, the function will always return SL_STATUS_OK.
◆ sl_cli_instance_init()
sl_status_t sl_cli_instance_init | ( | sl_cli_handle_t |
handle,
|
sl_cli_instance_parameters_t * |
parameters
|
||
) |
Initialize a CLI instance.
- Parameters
-
[in] handle
A handle to the CLI. [in] parameters
A pointer to the structure containing instance parameters.
- Returns
- Initialization status.
◆ sl_cli_is_ok_to_sleep()
bool sl_cli_is_ok_to_sleep | ( | sl_cli_handle_t |
handle
|
) |
Check if the CLI instance can allow sleep.
This function is available in a bare metal configuration only.
- Parameters
-
[in] handle
A handle to the CLI instance.
- Returns
- A boolean that is true if the CLI allows sleep, else false.
◆ sl_cli_tick_instance()
void sl_cli_tick_instance | ( | sl_cli_handle_t |
handle
|
) |
The bare metal tick function.
- Parameters
-
[in] handle
A handle to the CLI instance.
◆ sl_cli_tokenize()
sl_status_t sl_cli_tokenize | ( | char |
input[],
|
int * |
token_c,
|
||
char * |
token_v[]
|
||
) |
Split a C-string on space, ignoring sections in {} or "".
- Note
- This function modifies the content of the input string, and points the pointers in tokens to addresses in the input string. In quote strings ("") or curly braces ({}), the string will not be split, The quotes will be removed, but curly braces are kept for validation. To avoid '"' being interpreted as start/end of quote string, it may be escaped using '\"', both within and outside of "...". '{' may be escaped using * '\{'. There is no need for escaping '}', since only hex digits are allowed within {...}. Backslash also needs be be escaped, as '\'.
- Parameters
-
[in,out] input
The C-string to be split. Must be '\0'-terminated. Will be modified, even if an error occurs. [out] token_c
The number of tokens put in the token_v array. [out] token_v
An array containing the tokens obtained from splitting.
- Returns
- Status of the operation.
◆ sl_cli_command_add_command_group()
bool sl_cli_command_add_command_group | ( | sl_cli_handle_t |
handle,
|
sl_cli_command_group_t * |
command_group
|
||
) |
Add a new command group.
- Parameters
-
[in,out] handle
A handle to a CLI instance. [in] command_group
A pointer to a command group structure. Note that the structure must initially have NULL in all elements except the command_table.
- Returns
- Returns true if the command_group could be added, false otherwise.
◆ sl_cli_command_remove_command_group()
bool sl_cli_command_remove_command_group | ( | sl_cli_handle_t |
handle,
|
sl_cli_command_group_t * |
command_group
|
||
) |
Remove a command group.
- Parameters
-
[in,out] handle
A handle to a CLI instance. [in] command_group
A pointer to a command group structure.
- Returns
- Returns true if the command_group could be removed, false otherwise.
◆ sl_cli_command_find()
const sl_cli_command_entry_t * sl_cli_command_find | ( | sl_cli_handle_t |
handle,
|
int * |
token_c,
|
||
char * |
token_v[],
|
||
int * |
arg_ofs,
|
||
bool * |
single_flag,
|
||
bool * |
help_flag
|
||
) |
Find a command given the command groups and input arguments.
- Parameters
-
[in,out] handle
A handle to a CLI instance. [in] token_c
A number of arguments given. [in] token_v
An array containing the token_v obtained from tokenization. [out] arg_ofs
An integer that will get the index to the first command argument. Whether the command is in a group or not will affect the arg_ofs value. [out] single_flag
Boolean that is set to true if a specific command is detected. For help, the function may return a pointer to a command entry table or NULL, and in these cases the single_flag is set to false. [out] help_flag
Boolean that is set to true if "help" is detected, else set to false.
- Returns
- A pointer to a command entry for the given command. If the command is not found, the returned value can be NULL. If a help command is issued, the returned value may point to a command entry table.
◆ sl_cli_command_execute()
sl_status_t sl_cli_command_execute | ( | sl_cli_handle_t |
handle,
|
char * |
input
|
||
) |
Find and execute a command given the string input and the command table.
- Note
- The input string will be modified in-place.
- Parameters
-
[in,out] handle
A handle to a CLI instance. [in,out] input
C-string containing the user input. Must be '\0'-terminated.
- Returns
- Status of the execution.
◆ sl_cli_simple_password_init()
sl_status_t sl_cli_simple_password_init | ( | void |
|
) |
Initialize module.
- Returns
- Initialization status .
◆ sl_cli_simple_password_logout()
sl_status_t sl_cli_simple_password_logout | ( | sl_cli_handle_t |
handle
|
) |
Logout connected user from an instance.
- Parameters
-
[in] handle
A handle to the CLI.
- Returns
- Initialization status.
◆ sl_cli_set_simple_password()
sl_status_t sl_cli_set_simple_password | ( | char * |
new_password
|
) |
Set a new password.
- Parameters
-
[in] new_password
Password string
- Returns
- Operation status.
◆ sl_cli_simple_password_destroy_key()
sl_status_t sl_cli_simple_password_destroy_key | ( | void |
|
) |
Destroy password key and force to configure a new password.
- Returns
- Operation status.
◆ sl_cli_reset_security_warning_flag()
sl_status_t sl_cli_reset_security_warning_flag | ( | void |
|
) |
Reset security warning flag.
- Returns
- Operation status.
◆ sl_cli_input_char()
bool sl_cli_input_char | ( | sl_cli_handle_t |
handle,
|
char |
c
|
||
) |
Handle new input char from the terminal, both in terms of writing back to terminal and writing to the input buffer.
This function should be called every time new input is detected. The behavior of the function is highly configurable through settings in cli_config.h.
- Parameters
-
[in,out] handle
A handle to a CLI instance. [in] c
Input char to be processed by the function.
- Returns
- Returns true if newline or return is detected, false otherwise.
◆ sl_cli_input_clear()
void sl_cli_input_clear | ( | sl_cli_handle_t |
handle
|
) |
Empty the input buffer.
This function should be called after newline has been detected and the information in the buffer has been processed.
- Parameters
-
[in,out] handle
A handle to a CLI instance.
Macro Definition Documentation
◆ sl_cli_get_argument_count
#define sl_cli_get_argument_count | ( |
a
|
) | ((int)((a)->argc - (a)->arg_ofs)) |
Obtain the number of command arguments.
Users obtain the number of command arguments with this macro.
- Parameters
-
[in] a
A pointer to the command arguments.
- Returns
- The number of command arguments.
An example could be the CLI input of
example_sub_menu example_command hello 255 -100 {AA BB CC}
with corresponding C code of:
◆ sl_cli_get_argument_type
#define sl_cli_get_argument_type | ( |
a,
|
|
n
|
|||
) | ((sl_cli_arg_t)((a)->arg_type_list[(n)])) |
Obtain the type of argument.
Users obtain the type of the argument with this macro.
- Parameters
-
[in] a
A pointer to the command arguments. [in] n
The argument number. The first argument is the number 0, the next 1, etc.
- Returns
- enum of the argument type.
For auto-generated commands, it could be useful in the handler to know the type of the argument.
◆ sl_cli_get_argument_int8
#define sl_cli_get_argument_int8 | ( |
a,
|
|
n
|
|||
) | (*(int8_t *)((a)->argv[(a)->arg_ofs + (n)])) |
Obtain int8 arguments.
- Parameters
-
[in] a
A pointer to the command arguments. [in] n
The argument number. The first argument is the number 0, the next 1, etc.
- Returns
- The argument value.
An example could be the CLI input of
example_sub_menu example_command hello 255 -100 {AA BB CC}
with corresponding C code of:
◆ sl_cli_get_argument_int16
#define sl_cli_get_argument_int16 | ( |
a,
|
|
n
|
|||
) | (*(int16_t *)((a)->argv[(a)->arg_ofs + (n)])) |
Obtain int16 arguments.
- Parameters
-
[in] a
A pointer to the command arguments. [in] n
The argument number. The first argument is the number 0, the next 1, etc.
- Returns
- The argument value.
An example could be the CLI input of
example_sub_menu example_command hello 255 -100 {AA BB CC}
with corresponding C code of:
◆ sl_cli_get_argument_int32
#define sl_cli_get_argument_int32 | ( |
a,
|
|
n
|
|||
) | (*(int32_t *)((a)->argv[(a)->arg_ofs + (n)])) |
Obtain int32 arguments.
- Parameters
-
[in] a
A pointer to the command arguments. [in] n
The argument number. The first argument is the number 0, the next 1, etc.
- Returns
- The argument value.
An example could be the CLI input of
example_sub_menu example_command hello 255 -100 {AA BB CC}
with corresponding C code of:
◆ sl_cli_get_argument_uint8
#define sl_cli_get_argument_uint8 | ( |
a,
|
|
n
|
|||
) | (*(uint8_t *)((a)->argv[(a)->arg_ofs + (n)])) |
Obtain uint8 arguments.
- Parameters
-
[in] a
A pointer to the command arguments. [in] n
The argument number. The first argument is the number 0, the next 1, etc.
- Returns
- The argument value.
An example could be the CLI input of
example_sub_menu example_command hello 255 -100 {AA BB CC}
with corresponding C code of:
◆ sl_cli_get_argument_uint16
#define sl_cli_get_argument_uint16 | ( |
a,
|
|
n
|
|||
) | (*(uint16_t *)((a)->argv[(a)->arg_ofs + (n)])) |
Obtain uint16 arguments.
- Parameters
-
[in] a
A pointer to the command arguments. [in] n
The argument number. The first argument is the number 0, the next 1, etc.
- Returns
- The argument value.
An example could be the CLI input of
example_sub_menu example_command hello 255 -100 {AA BB CC}
with corresponding C code of:
◆ sl_cli_get_argument_uint32
#define sl_cli_get_argument_uint32 | ( |
a,
|
|
n
|
|||
) | (*(uint32_t *)((a)->argv[(a)->arg_ofs + (n)])) |
Obtain uint32 arguments.
- Parameters
-
[in] a
A pointer to the command arguments. [in] n
The argument number. The first argument is the number 0, the next 1, etc.
- Returns
- The argument value.
An example could be the CLI input of
example_sub_menu example_command hello 255 -100 {AA BB CC}
with corresponding C code of:
◆ sl_cli_get_argument_string
#define sl_cli_get_argument_string | ( |
a,
|
|
n
|
|||
) | ((char *)((a)->argv[(a)->arg_ofs + (n)])) |
Obtain string arguments.
- Parameters
-
[in] a
A pointer to the command arguments. [in] n
The argument number. The first argument is the number 0, the next 1, etc.
- Returns
- The argument value. For hex arguments, the return value is a pointer to a buffer containing decoded values. For string arguments, the return value is a pointer to the string.
An example could be the CLI input of
example_sub_menu example_command hello 255 -100 {AA BB CC}
with corresponding C code of:
◆ sl_cli_get_command_count
#define sl_cli_get_command_count | ( |
a
|
) | ((int)((a)->arg_ofs)) |
Obtain the number of command strings.
Users obtain the number of command strings with this macro.
- Parameters
-
[in] a
The number of command strings.
- Returns
- The number of command strings.
An example could be the CLI input of
example_sub_menu example_command hello 255 -100 {AA BB CC}
with corresponding C code of:
◆ sl_cli_get_command_string
#define sl_cli_get_command_string | ( |
a,
|
|
n
|
|||
) | ((char *)((a)->argv[(n)])) |
Obtain the command string(s).
Users get the command string with this macro. If the command is used in a group, both the group string(s) and command string can be obtained. The total number of command strings is available in the command argument arg_ofs variable.
- Parameters
-
[in] a
A pointer to the command arguments. [in] n
The command string number. The first string is number 0, the next 1, etc.
An example could be the CLI input of
example_sub_menu example_command hello 255 -100 {AA BB CC}
with corresponding C code of:
◆ SL_CLI_ARG_UINT8
#define SL_CLI_ARG_UINT8 (0x00U) |
UINT8 argument type.
◆ SL_CLI_ARG_UINT16
#define SL_CLI_ARG_UINT16 (0x01U) |
UINT16 argument type.
◆ SL_CLI_ARG_UINT32
#define SL_CLI_ARG_UINT32 (0x02U) |
UINT32 argument type.
◆ SL_CLI_ARG_INT8
#define SL_CLI_ARG_INT8 (0x03U) |
INT8 argument type.
◆ SL_CLI_ARG_INT16
#define SL_CLI_ARG_INT16 (0x04U) |
INT16 argument type.
◆ SL_CLI_ARG_INT32
#define SL_CLI_ARG_INT32 (0x05U) |
INT32 argument type.
◆ SL_CLI_ARG_STRING
#define SL_CLI_ARG_STRING (0x06U) |
STRING argument type.
◆ SL_CLI_ARG_HEX
#define SL_CLI_ARG_HEX (0x07U) |
HEX argument type.
◆ SL_CLI_ARG_UINT8OPT
#define SL_CLI_ARG_UINT8OPT (0x10U) |
Optional UINT8 argument type.
◆ SL_CLI_ARG_UINT16OPT
#define SL_CLI_ARG_UINT16OPT (0x11U) |
Optional UINT16 argument type.
◆ SL_CLI_ARG_UINT32OPT
#define SL_CLI_ARG_UINT32OPT (0x12U) |
Optional UINT32 argument type.
◆ SL_CLI_ARG_INT8OPT
#define SL_CLI_ARG_INT8OPT (0x13U) |
Optional INT8 argument type.
◆ SL_CLI_ARG_INT16OPT
#define SL_CLI_ARG_INT16OPT (0x14U) |
Optional INT16 argument type.
◆ SL_CLI_ARG_INT32OPT
#define SL_CLI_ARG_INT32OPT (0x15U) |
Optional INT32 argument type.
◆ SL_CLI_ARG_STRINGOPT
#define SL_CLI_ARG_STRINGOPT (0x16U) |
Optional STRING argument type.
◆ SL_CLI_ARG_HEXOPT
#define SL_CLI_ARG_HEXOPT (0x17U) |
Optional HEX argument type.
◆ SL_CLI_ARG_ADDITIONAL
#define SL_CLI_ARG_ADDITIONAL (0x20U) |
ADDITIONAL argument type.
◆ SL_CLI_ARG_WILDCARD
#define SL_CLI_ARG_WILDCARD (0x21U) |
WILDCARD argument type.
◆ SL_CLI_ARG_GROUP
#define SL_CLI_ARG_GROUP (0xFEU) |
GROUP argument type.
◆ SL_CLI_ARG_END
#define SL_CLI_ARG_END (0xFFU) |
END argument type.
◆ SL_CLI_COMMAND
#define SL_CLI_COMMAND | ( |
function,
|
|
help_text,
|
|||
arg_help,
|
|||
...
|
|||
) |
A macro, which is used to create commands.
◆ SL_CLI_COMMAND_GROUP
#define SL_CLI_COMMAND_GROUP | ( |
group_table,
|
|
help_text
|
|||
) |
A macro, which is used to create command groups.
◆ SL_CLI_INPUT_DIRECTION_UP
#define SL_CLI_INPUT_DIRECTION_UP (1) |
MACROS ************************************.
Define the UP-direction.
◆ SL_CLI_INPUT_DIRECTION_DOWN
#define SL_CLI_INPUT_DIRECTION_DOWN (-1) |
Define the DOWN-direction.
Typedef Documentation
◆ sl_cli_argument_type_t
typedef uint8_t sl_cli_argument_type_t |
Argument type typedef.
◆ sl_cli_command_func_t
typedef void(* sl_cli_command_func_t) ( sl_cli_command_arg_t *arguments) |
Command handler data type.
◆ sl_cli_command_function_t
typedef void(* sl_cli_command_function_t) (char *arg_str, void *user) |
Redirect command function.
Enumeration Type Documentation
◆ sl_cli_arg
enum sl_cli_arg |
Enum of all the argument types.
Variable Documentation
◆ sl_cli_default_handle
sl_cli_handle_t sl_cli_default_handle |
The default CLI handle.
◆ sl_cli_default_command_group
sl_cli_command_group_t * sl_cli_default_command_group |
The default CLI command group.