Macros
Command specific macros. More...
Macros |
|
| #define | GOS_CMD_CREATE_COMMAND (component, name, key, shortcut, min, max, retval) _GOS_CMD_CREATE_COMMAND(component, name, key, shortcut, min, max, retval) |
| #define | GOS_CMD_CREATE_GETTER (component, name, key, shortcut, argc) _GOS_CMD_CREATE_GETTER(component, name, key, MACRO_NO_EXPAND_ARG(shortcut), argc) |
| #define | GOS_CMD_CREATE_SETTER (component, name, key, shortcut, argc) _GOS_CMD_CREATE_SETTER(component, name, key, MACRO_NO_EXPAND_ARG(shortcut), argc) |
| #define | GOS_CMD_CREATE_GETTER_SETTER (component, name, key, shortcut, get_argc, set_argc) _GOS_CMD_CREATE_GETTER_SETTER(component, name, key, MACRO_NO_EXPAND_ARG(shortcut), get_argc, set_argc) |
| #define | GOS_DEFINE_COMMAND (component, name) gos_cmd_result_t component ## _ ## name ## _command(int argc, char **argv) |
| #define | GOS_DEFINE_GETTER (component, name) gos_cmd_result_t component ## _get_ ## name ## _command(int argc, char **argv) |
| #define | GOS_DEFINE_SETTER (component, name) gos_cmd_result_t component ## _set_ ## name ## _command(int argc, char **argv) |
| #define | SC2 (a1, a2, b) GOS_CMD_SHORTCUT_ID2(a1, a2, b) |
| #define | SC3 (a1, a2, b, c) GOS_CMD_SHORTCUT_ID3(a1, a2, b, c) |
| #define | GOS_CMD_RESULT (gos_result) gos_cmd_convert_cmd_result (gos_result) |
| #define | GOS_CMD_VERIFY (gos_result) if((gos_result) != GOS_SUCCESS ) return GOS_CMD_FAILED |
| #define | GOS_CMD_FAILED (result, func) ((result = func) != GOS_CMD_SUCCESS ) |
| #define | GOS_CMD_SET_FAILED (result, func) ((result = func) != GOS_CMD_SET_OK ) |
| #define | GOS_CMD_EXECUTE_OK (gos_result) (gos_result == GOS_SUCCESS ) ? GOS_CMD_EXECUTE_AOK : GOS_CMD_FAILED |
| #define | GOS_CMD_PARSE_INT_ARG_WITH_VAR (type, var, str, min, max) |
|
Utility macro to parse an integer argument and store in supplied variable.
More...
|
|
| #define | GOS_CMD_PARSE_INT_ARG (type, name, str, min, max) |
|
Utility macro to parse an integer argument and store in created variable.
More...
|
|
| #define | GOS_CMD_PARSE_HEX_ARG_WITH_VAR (type, var, str, min, max) |
|
Utility macro to parse an hexadecimal argument and store in supplied variable.
More...
|
|
| #define | GOS_CMD_PARSE_HEX_ARG (type, name, str, min, max) |
|
Utility macro to parse an hexadecimal argument and store in created variable.
More...
|
|
Detailed Description
Command specific macros.
Macro Definition Documentation
◆ GOS_CMD_CREATE_COMMAND
| #define GOS_CMD_CREATE_COMMAND | ( |
component,
|
|
name,
|
|||
key,
|
|||
shortcut,
|
|||
min,
|
|||
max,
|
|||
retval
|
|||
| ) | _GOS_CMD_CREATE_COMMAND(component, name, key, shortcut, min, max, retval) |
Define a Gecko OS Command
This automatically adds a command line command. The command implementation should be defined in the same file as the definition, e.g.
- Parameters
-
componentThe name of the component that this command belows, e.g. my_appnameThe name of the command, e.g. start_pollingkeyThe command-line command key, e.g. start_pollingshortcutThe command-line command shortcut, e.g. spminThe minimum number of arguments this command accepts maxThe maximum number of arguments this commands accepts retvaltrue if the command prints its own response, false else
- Examples:
- cloud/coap_demo/commands.c , cloud/dps_demo/dps_demo_cli_commands.c , cloud/mqtt_demo/mqtt_cli_commands.c , demo/secure_element/commands.c , demo/uart_blaster/commands.c , hurricane/security_camera/camera.c , system/application_nvm/main.c , system/core_dump/main.c , system/custom_commands/main.c , system/uart/main.c , test/ethernet/main.c , test/throughput/main.c , test/uart_flow_control/main.c , utility/buffer_dump/main.c , and utility/profiler/main.c .
◆ GOS_CMD_CREATE_GETTER
| #define GOS_CMD_CREATE_GETTER | ( |
component,
|
|
name,
|
|||
key,
|
|||
shortcut,
|
|||
argc
|
|||
| ) | _GOS_CMD_CREATE_GETTER(component, name, key, MACRO_NO_EXPAND_ARG(shortcut), argc) |
Define a Gecko OS settings 'getter'
This automatically adds a setting to the available 'get' command line options. The 'getter' implementation should be defined in the same file as the definition, e.g.
- Note
- This only creates a 'getter'. Use GOS_CMD_CREATE_GETTER_SETTER to create both a 'getter' and 'setter'.
- Parameters
-
componentThe name of the component that this command belows, e.g. my_appnameThe name of the getter command, e.g. polling_periodkeyThe command-line 'get' command option key, e.g. get my_app.polling_periodshortcutThe command-line 'get' command options shortcut, e.g. get ma pargcThe minimum number of arguments this 'getter' accepts, typically this value is 0.
- Examples:
- demo/secure_element/commands.c , and hurricane/security_camera/settings.c .
◆ GOS_CMD_CREATE_GETTER_SETTER
| #define GOS_CMD_CREATE_GETTER_SETTER | ( |
component,
|
|
name,
|
|||
key,
|
|||
shortcut,
|
|||
get_argc,
|
|||
set_argc
|
|||
| ) | _GOS_CMD_CREATE_GETTER_SETTER(component, name, key, MACRO_NO_EXPAND_ARG(shortcut), get_argc, set_argc) |
Define a Gecko OS settings 'getter' and 'setter'
This automatically adds a setting to the available 'get' and 'set' command line options. The 'getter' and 'setter' implementations should be defined in the same file as the definition, e.g.
- Parameters
-
componentThe name of the component that this command belows, e.g. my_appnameThe name of the getter/setter commands, e.g. polling_periodkeyThe command-line 'get' and 'set' command option key, e.g. get my_app.polling_periodandset my_app.polling_periodshortcutThe command-line 'get' command options shortcut, e.g. get ma pandset ma pget_argcThe minimum number of arguments this 'getter' accepts, typically this value is 0 set_argcThe minimum number of arguments this 'setter' accepts, typically this value is 1
- Examples:
- cloud/coap_demo/commands.c , cloud/dps_demo/dps_demo_cli_variables.c , cloud/mqtt_demo/mqtt_cli_variables.c , demo/uart_blaster/commands.c , hurricane/gps/main.c , hurricane/security_camera/settings.c , network/uart_tcp_client/variables.c , system/custom_commands/main.c , and system/settings_file/main.c .
◆ GOS_CMD_CREATE_SETTER
| #define GOS_CMD_CREATE_SETTER | ( |
component,
|
|
name,
|
|||
key,
|
|||
shortcut,
|
|||
argc
|
|||
| ) | _GOS_CMD_CREATE_SETTER(component, name, key, MACRO_NO_EXPAND_ARG(shortcut), argc) |
Define a Gecko OS settings 'setter'
This automatically adds a setting to the available 'set' command line options. The 'setter' implementation should be defined in the same file as the definition, e.g.
- Note
- This only creates a 'setter'. Use GOS_CMD_CREATE_GETTER_SETTER to create both a 'getter' and 'setter'.
- Parameters
-
componentThe name of the component that this command belows, e.g. my_appnameThe name of the setter command, e.g. polling_periodkeyThe command-line 'set' command option key, e.g. set my_app.polling_periodshortcutThe command-line 'set' command options shortcut, e.g. set ma pargcThe minimum number of arguments this 'setter' accepts, typically this value is 1.
- Examples:
- system/custom_commands/main.c .
◆ GOS_CMD_EXECUTE_OK
| #define GOS_CMD_EXECUTE_OK | ( |
gos_result
|
) | (gos_result == GOS_SUCCESS ) ? GOS_CMD_EXECUTE_AOK : GOS_CMD_FAILED |
Helper macro to return GOS_CMD_EXECUTE_AOK on GOS_SUCCESS else GOS_CMD_FAILED
◆ GOS_CMD_FAILED
| #define GOS_CMD_FAILED | ( |
result,
|
|
func
|
|||
| ) | ((result = func) != GOS_CMD_SUCCESS ) |
Store the result of command util API call, return TRUE if API was successful, FALSE else
◆ GOS_CMD_PARSE_HEX_ARG
| #define GOS_CMD_PARSE_HEX_ARG | ( |
type,
|
|
name,
|
|||
str,
|
|||
min,
|
|||
max
|
|||
| ) |
Utility macro to parse an hexadecimal argument and store in created variable.
- Note
- If parsing fails then then function returns with the value GOS_CMD_BAD_ARGS
- Parameters
-
typeThe datatype of variable to create(e.g. uint32_t) nameThe name of the variable to create strHex string to parse minMinimum value of the integer maxMaximum value of the integer
◆ GOS_CMD_PARSE_HEX_ARG_WITH_VAR
| #define GOS_CMD_PARSE_HEX_ARG_WITH_VAR | ( |
type,
|
|
var,
|
|||
str,
|
|||
min,
|
|||
max
|
|||
| ) |
Utility macro to parse an hexadecimal argument and store in supplied variable.
- Note
- If parsing fails then then function returns with the value GOS_CMD_BAD_ARGS
- Parameters
-
typeThe argument datatype (e.g. uint32_t) varThe name of existing variable strHex string to parse minMinumum value of the integer maxMaximum value of the integer
◆ GOS_CMD_PARSE_INT_ARG
| #define GOS_CMD_PARSE_INT_ARG | ( |
type,
|
|
name,
|
|||
str,
|
|||
min,
|
|||
max
|
|||
| ) |
Utility macro to parse an integer argument and store in created variable.
- Note
- If parsing fails then then function returns with the value GOS_CMD_BAD_ARGS
-
If the supplied string starts with
0xit will be parsed as HEX.
- Parameters
-
typeThe datatype of variable to create(e.g. uint32_t) nameThe name of the variable to create strInteger string to parse minMinumum value of the integer maxMaximum value of the integer
- Examples:
- utility/buffer_dump/main.c .
◆ GOS_CMD_PARSE_INT_ARG_WITH_VAR
| #define GOS_CMD_PARSE_INT_ARG_WITH_VAR | ( |
type,
|
|
var,
|
|||
str,
|
|||
min,
|
|||
max
|
|||
| ) |
Utility macro to parse an integer argument and store in supplied variable.
- Note
- If parsing fails then then function returns with the value GOS_CMD_BAD_ARGS
-
If the supplied string starts with
0xit will be parsed as HEX.
- Parameters
-
typeThe argument datatype (e.g. uint32_t) varThe name of existing variable strInteger string to parse minMinumum value of the integer maxMaximum value of the integer
- Examples:
- cloud/coap_demo/commands.c , cloud/dps_demo/dps_demo_cli_variables.c , cloud/mqtt_demo/mqtt_cli_commands.c , cloud/mqtt_demo/mqtt_cli_variables.c , demo/uart_blaster/commands.c , network/uart_tcp_client/variables.c , system/custom_commands/main.c , system/settings_file/main.c , and utility/buffer_dump/main.c .
◆ GOS_CMD_RESULT
| #define GOS_CMD_RESULT | ( |
gos_result
|
) | gos_cmd_convert_cmd_result (gos_result) |
Helper macro to convert a gos_result_t to a gos_cmd_result_t
- Examples:
- demo/secure_element/commands.c .
◆ GOS_CMD_SET_FAILED
| #define GOS_CMD_SET_FAILED | ( |
result,
|
|
func
|
|||
| ) | ((result = func) != GOS_CMD_SET_OK ) |
Store the result of SET API call, return TRUE if API was successful, FALSE else
- Examples:
- demo/uart_blaster/commands.c .
◆ GOS_CMD_VERIFY
| #define GOS_CMD_VERIFY | ( |
gos_result
|
) | if((gos_result) != GOS_SUCCESS ) return GOS_CMD_FAILED |
Helper macro to return GOS_CMD_FAILED if the Gecko OS API fails
◆ GOS_DEFINE_COMMAND
| #define GOS_DEFINE_COMMAND | ( |
component,
|
|
name
|
|||
| ) | gos_cmd_result_t component ## _ ## name ## _command(int argc, char **argv) |
Helper macro to define a command's implementation
◆ GOS_DEFINE_GETTER
| #define GOS_DEFINE_GETTER | ( |
component,
|
|
name
|
|||
| ) | gos_cmd_result_t component ## _get_ ## name ## _command(int argc, char **argv) |
Helper macro to define a getter's implementation
◆ GOS_DEFINE_SETTER
| #define GOS_DEFINE_SETTER | ( |
component,
|
|
name
|
|||
| ) | gos_cmd_result_t component ## _set_ ## name ## _command(int argc, char **argv) |
Helper macro to define a getter's implementation
◆ SC2
| #define SC2 | ( |
a1,
|
|
a2,
|
|||
b
|
|||
| ) | GOS_CMD_SHORTCUT_ID2(a1, a2, b) |
Helper function for creating a two item short, e.g.
◆ SC3
| #define SC3 | ( |
a1,
|
|
a2,
|
|||
b,
|
|||
c
|
|||
| ) | GOS_CMD_SHORTCUT_ID3(a1, a2, b, c) |
Helper function for creating a three item short, e.g.