16static constexpr size_t MaxStringArgumentLen = 32;
20 static constexpr uint8_t maxArgumentCount = 8;
22 bsp::text_in::Inputs::Command buffer {};
24 uint8_t commandOffset = 0;
25 std::array<uint8_t, maxArgumentCount> argumentOffsets {};
26 uint8_t argumentCount = 0;
29 const char*
name()
const;
32 const char*
argument(
const size_t index)
const;
48bool parse_text(
const ParsedCommand& command,
const size_t index, std::array<char, MaxStringArgumentLen>& value);
55ParsedCommand parseCommand(
const bsp::text_in::Inputs::Command& input);
bool parse_text(const ParsedCommand &command, const size_t index, std::array< char, MaxStringArgumentLen > &value)
Parse an argument as a char array.
Definition: cmd_parser.cpp:95
bool parse_uint8(const ParsedCommand &command, const size_t index, uint8_t &value)
Parse an argument as a 8 bit unsigned number.
Definition: cmd_parser.cpp:67
bool parse_uint16(const ParsedCommand &command, const size_t index, uint16_t &value)
Parse an argument as a 16 bit unsigned number.
Definition: cmd_parser.cpp:81
Program scope.
Definition: control_fixed_modes.hpp:12
Definition: cmd_parser.h:19
const char * argument(const size_t index) const
Return the argument at the desired index, or nullptr if it do not exist.
Definition: cmd_parser.cpp:22
const char * name() const
Return the name of the command.
Definition: cmd_parser.cpp:20
ParsedCommand shift_to_first_parameter() const
Create a new command shifted by one argument.
Definition: cmd_parser.cpp:30