diff options
| author | dmlunar <root@lunar.sh> | 2025-01-22 16:47:21 +0200 |
|---|---|---|
| committer | dmlunar <root@lunar.sh> | 2025-10-15 23:42:50 +0200 |
| commit | 729f2a2c3ebfb2612d873caf453a1d7ca02180d9 (patch) | |
| tree | 7bab2fcc0c7f50eab3013348697bc06ddd71d551 /firmware/inc/cmd.h | |
| download | varpa-729f2a2c3ebfb2612d873caf453a1d7ca02180d9.tar.gz varpa-729f2a2c3ebfb2612d873caf453a1d7ca02180d9.zip | |
varpa: initial public commit
Diffstat (limited to 'firmware/inc/cmd.h')
| -rw-r--r-- | firmware/inc/cmd.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/firmware/inc/cmd.h b/firmware/inc/cmd.h new file mode 100644 index 0000000..11d25e0 --- /dev/null +++ b/firmware/inc/cmd.h @@ -0,0 +1,74 @@ +/** + * + * Author: Dylan Muller + * Copyright (c) 2025 + * All rights reserved. + * + * - Commercial/IP use prohibited. + * - Attribution required. + * See License.txt + * + */ + +#ifndef CMD_H_ +#define CMD_H_ + +#include <avr/pgmspace.h> + +#define CMD_MAX_ARGS 5 +#define CMD_NEWLINE "\n" + +#define CMD_DEF_ARG(x) x +#define CMD_DEF_SINGLE(x) x CMD_NEWLINE + +#define CMD_ERROR(x) printf("ERROR %s\n", x) +#define CMD_PRINT(x) printf("INFO %s\n", x) +#define CMD_PRINT_FMT(x, y) printf("INFO " x CMD_NEWLINE, y) +#define CMD_SWITCH(x, y) !strcmp(x, y) + +#define CMD_POWER_GET_STR "POWER?" +#define CMD_POWER_GET_DESC "QUERY RF POWER" + +#define CMD_POWER_SET_STR "POWER" +#define CMD_POWER_SET_DESC "SET RF POWER" + +#define CMD_TX_STR "TX" +#define CMD_TX_DESC "SWITCH TO TX MODE" + +#define CMD_RX_STR "RX" +#define CMD_RX_DESC "SWITCH TO RX MODE" + +#define CMD_DRAIN_SET_STR "DRAIN" +#define CMD_DRAIN_SET_DESC "SET DRAIN COUNTER" + +#define CMD_PROBE_STR "PROBE" +#define CMD_PROBE_DESC "START GATE PROBE" + +#define CMD_RESET_STR "RESET" +#define CMD_RESET_DESC "EXECUTE SOFT RESET" + +#define CMD_REPORT_STR "REPORT" +#define CMD_REPORT_DESC "DUMP SYSTEM REPORT" + +#define CMD_HELP_STR "HELP" +#define CMD_HELP_DESC "DUMP COMMAND LIST" + +#define CMD_LINK_REPLY_STR "REPLY" + +#define CMD_SIZE 9 +#define CMD_ENTRY_SIZE 2 + +#define CMD_POWER_GET CMD_DEF_SINGLE(CMD_POWER_GET_STR) +#define CMD_POWER_SET CMD_DEF_ARG(CMD_POWER_SET_STR) +#define CMD_TX CMD_DEF_SINGLE(CMD_TX_STR) +#define CMD_RX CMD_DEF_SINGLE(CMD_RX_STR) +#define CMD_DRAIN_SET CMD_DEF_ARG(CMD_DRAIN_SET_STR) +#define CMD_PROBE CMD_DEF_SINGLE(CMD_PROBE_STR) +#define CMD_RESET CMD_DEF_SINGLE(CMD_RESET_STR) +#define CMD_REPORT CMD_DEF_SINGLE(CMD_REPORT_STR) +#define CMD_HELP CMD_DEF_SINGLE(CMD_HELP_STR) +#define CMD_LINK_REPLY CMD_DEF_SINGLE(CMD_LINK_REPLY_STR) + +extern const char* const cmd_lut[][2]; + +#endif |
