mirror of
https://github.com/TomNisbet/TommyPROM.git
synced 2024-12-27 10:30:20 +00:00
44 lines
1.0 KiB
C++
44 lines
1.0 KiB
C++
/**
|
|
* Command Status class
|
|
*
|
|
* Creates an object that holds an error message and a number of
|
|
* optional numeric values. Each value has a format (hex,
|
|
* decimal) and a label. The printStatus call formats all of
|
|
* the data in the command status and prints it out to the
|
|
* serial port.
|
|
*/
|
|
class CmdStatus
|
|
{
|
|
public:
|
|
CmdStatus();
|
|
void clear();
|
|
void info(const char * msg);
|
|
void error(const char * msg);
|
|
void setValueDec(int index, const char * label, long value);
|
|
void setValueHex(int index, const char * label, long value);
|
|
|
|
bool isClear();
|
|
void printStatus();
|
|
|
|
private:
|
|
enum
|
|
{
|
|
MAX_VALUES = 5
|
|
};
|
|
enum StatusLevel { SL_NONE, SL_INFO, SL_ERROR };
|
|
enum ValueType { VT_NONE, VT_DEC, VT_HEX };
|
|
|
|
struct StatusValue
|
|
{
|
|
const char * label;
|
|
ValueType valType;
|
|
long value;
|
|
};
|
|
|
|
StatusLevel level;
|
|
const char * message;
|
|
StatusValue values[MAX_VALUES];
|
|
|
|
void setLongValue(int index, const char * label, long value, ValueType vt);
|
|
};
|