summaryrefslogtreecommitdiff
path: root/firmware/inc/cmd.h
diff options
context:
space:
mode:
authordmlunar <root@lunar.sh>2025-01-22 16:47:21 +0200
committerdmlunar <root@lunar.sh>2025-10-15 23:42:50 +0200
commit729f2a2c3ebfb2612d873caf453a1d7ca02180d9 (patch)
tree7bab2fcc0c7f50eab3013348697bc06ddd71d551 /firmware/inc/cmd.h
downloadvarpa-729f2a2c3ebfb2612d873caf453a1d7ca02180d9.tar.gz
varpa-729f2a2c3ebfb2612d873caf453a1d7ca02180d9.zip
varpa: initial public commit
Diffstat (limited to 'firmware/inc/cmd.h')
-rw-r--r--firmware/inc/cmd.h74
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