Command entry for a command table.

Public Attributes#

const char *
const char *
const char *
const char *const *

Public Attribute Documentation#

name#

const char* EmberCommandEntry::name

Use letters, digits, and underscores, '_', for the command name. Command names are case-sensitive.


Definition at line 146 of file /Users/vihuszar/Git/EmbeddedSoftware/super/protocol/zigbee/app/util/serial/command-interpreter2.h

action#

CommandAction EmberCommandEntry::action

A reference to a function in the application that implements the command. If this entry refers to a nested command, then action field has to be set to NULL.


Definition at line 152 of file /Users/vihuszar/Git/EmbeddedSoftware/super/protocol/zigbee/app/util/serial/command-interpreter2.h

argumentTypes#

const char* EmberCommandEntry::argumentTypes

In case of normal (non-nested) commands, argumentTypes is a string that specifies the number and types of arguments the command accepts. The argument specifiers are:

  • u: one-byte unsigned integer.

  • v: two-byte unsigned integer

  • w: four-byte unsigned integer

  • s: one-byte signed integer

  • r: two-byte signed integer

  • q: four-byte signed integer

  • b: string. The argument can be entered in ascii by using quotes, for example: "foo". Or it may be entered in hex by using curly braces, for example: { 08 A1 f2 }. There must be an even number of hex digits, and spaces are ignored.

  • *: zero or more of the previous type. If used, this must be the last specifier.

  • ?: Unknown number of arguments. If used this must be the only character. This means, that command interpreter will not perform any validation of arguments, and will call the action directly, trusting it that it will handle with whatever arguments are passed in.

  • !: Optional argument delimiter. If the command input has sufficient arguments such that the parser ends on a ! symbol, then the command will be considered valid, even if it does not necessarily process the entire argumentTypes string. If there are additional arguments beyond a !, but still fewer arguments than the next either the next ! or the end of the string, then the command will be considered invalid. Note that this leaves the called CommandAction function to actually validate what number of optional arguments it actually got. Example: Given a argumentTypes String: uu!vv!u!vv The following inputs type orders are valid: uu, uuvv, uuvvu, uuvvuvv The following are invalid: u, uuv, uuvvuv, uuvvuvvv

Integer arguments can be either decimal or hexidecimal. A 0x prefix indicates a hexidecimal integer. Example: 0x3ed.

In case of a nested command (action is NULL), then this field contains a pointer to the nested EmberCommandEntry array.


Definition at line 198 of file /Users/vihuszar/Git/EmbeddedSoftware/super/protocol/zigbee/app/util/serial/command-interpreter2.h

description#

const char* EmberCommandEntry::description

A description of the command.


Definition at line 203 of file /Users/vihuszar/Git/EmbeddedSoftware/super/protocol/zigbee/app/util/serial/command-interpreter2.h

argumentDescriptions#

const char* const* EmberCommandEntry::argumentDescriptions

An array of strings, with a NULL terminator, indicating what each argument is.


Definition at line 207 of file /Users/vihuszar/Git/EmbeddedSoftware/super/protocol/zigbee/app/util/serial/command-interpreter2.h