aboutsummaryrefslogtreecommitdiff
path: root/shared
diff options
context:
space:
mode:
Diffstat (limited to 'shared')
-rw-r--r--shared/protocol-tests/ping.binbin0 -> 4 bytes
-rw-r--r--shared/protocol.h12
-rw-r--r--shared/protocol.md36
-rw-r--r--shared/serial_parse.h9
4 files changed, 9 insertions, 48 deletions
diff --git a/shared/protocol-tests/ping.bin b/shared/protocol-tests/ping.bin
new file mode 100644
index 0000000..2b8491c
--- /dev/null
+++ b/shared/protocol-tests/ping.bin
Binary files differ
diff --git a/shared/protocol.h b/shared/protocol.h
index c2001cf..7f06a52 100644
--- a/shared/protocol.h
+++ b/shared/protocol.h
@@ -62,9 +62,6 @@ typedef struct {
cd_cmd_bool_t join; /** @brief `true` to join network, `false` to leave network */
} cd_s_cmd_post_net;
-typedef struct {
-} cd_s_cmd_response_ping;
-
/** @brief protocol node */
typedef struct {
cd_uuid_t uuid; /** @brief node network uuid */
@@ -81,15 +78,6 @@ typedef struct {
} cd_s_cmd_response_get_node;
typedef struct {
-} cd_s_cmd_response_post_led;
-
-typedef struct {
-} cd_s_cmd_response_post_link;
-
-typedef struct {
-} cd_s_cmd_response_post_net;
-
-typedef struct {
cd_cmd_opcode_t opcode; /** @brief cmd opcode */
cd_cmd_id_t id; /** @brief response message id */
cd_cmd_bool_t success; /** @brief `true` if some error occurred */
diff --git a/shared/protocol.md b/shared/protocol.md
index 62caded..c3c229f 100644
--- a/shared/protocol.md
+++ b/shared/protocol.md
@@ -13,39 +13,3 @@ and the starting byte don't count towards message length.
opcodes are picked sequentially, and are stored as enum constants inside
shared/protocol.h for code readability.
-|code|name|implemented|directions|full name|
-|--:|---|:-:|:-:|---|
-|`0x00`|[PING](#ping)|yes|`r <=> c`|<u>ping</u>
-|`0x02`|[EXPT](#expt)|yes|`r --> c`|<u>ex</u>ce<u>pt</u>ion
-
-### PING
-
-#### ping (`r <=> c`) (2 bytes)
-
-|type|description|
-|-:|-|
-|`uint8_t`|opcode (`0x00 + 0` or `0x00 + 1`)|
-|`uint8_t`|ping id|
-
-**ping** sends back an identical message either way with the **same** direction
-bit. _ping id_ is a random 8-bit value that identifies the ping message. this
-is the only command that makes either the robot or client send a message with
-an opcode not matching the respective sender. the direction bit indicates which
-device initiated the ping message.
-
-### EXPT
-
-#### exception (`r --> c`) (3+ bytes)
-
-|type|description|
-|-:|-|
-|`uint8_t`|opcode (`0x02 + 1`)|
-|`uint8_t`|error code|
-|`uint8_t`|length|
-|`uint8_t[length]`|message contents|
-
-the **exception** instruction is used by the robot to send errors, warnings,
-and other messages back to the client. an error can also optionally contain a
-message between 0 and 255 characters long. message length is sent before the
-message, and can be 0 in case of no message.
-
diff --git a/shared/serial_parse.h b/shared/serial_parse.h
index 1efedc1..1e9c404 100644
--- a/shared/serial_parse.h
+++ b/shared/serial_parse.h
@@ -10,8 +10,17 @@
#define CD_SERIAL_READ_SUCCESS true
#define CD_SERIAL_READ_FAILURE false
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* parse serial data byte by byte
* @return true if read success, false if read fails
*/
bool cd_serial_parse(uint8_t byte);
+
+#ifdef __cplusplus
+}
+#endif
+