Implemented RX on Node

This commit is contained in:
AlexanderHD27
2025-01-06 03:28:10 +01:00
parent caf7586b5b
commit 1e317adedd
29 changed files with 1646 additions and 2298 deletions

View File

@@ -0,0 +1,33 @@
#pragma once
#include <stdint.h>
#include <strings.h>
enum GobotRPCNumber {
VACUM = 0x8
};
enum GobotRPCTypes {
REQUEST = 0b00,
RESPONSE = 0b01,
ERROR = 0b10
};
struct GobotRPCPackage_Req_Vacum {
uint8_t enable : 8;
};
#define GobotRPC_Package_DATA_OFFSET 2
#define CALC_SIZE_GobotRPC_PACKAGE(data_len) (data_len + GobotRPC_Package_DATA_OFFSET + 2)
struct GobotRPCHeaderInfo {
public:
GobotRPCNumber number;
GobotRPCTypes type;
size_t len;
};
void assembleGobotRPCHeader(char * buffer, GobotRPCNumber number, GobotRPCTypes data_size, size_t);
void assembleCRC(char * buffer, size_t data_len);
bool checkCRC(char * buffer, size_t data_len);
GobotRPCHeaderInfo extractGobotRPCHeader(char * buffer);