mirror of
https://github.com/usatiuk/EggbotWireless.git
synced 2025-10-26 16:57:48 +01:00
62 lines
1.1 KiB
C
62 lines
1.1 KiB
C
#ifndef COMMANDS_H
|
|
#define COMMANDS_H
|
|
|
|
enum bcAxis {
|
|
X = 1,
|
|
Y = 2,
|
|
Z = 3,
|
|
};
|
|
|
|
enum class I2CStatusMsg {
|
|
WAIT = 0,
|
|
NEXT,
|
|
};
|
|
|
|
enum PosMsg {
|
|
servoRot,
|
|
eggRot,
|
|
servoPos,
|
|
eggPos,
|
|
penPos,
|
|
};
|
|
|
|
enum class CommandType {
|
|
unk = 0,
|
|
G00,
|
|
G01,
|
|
M99,
|
|
};
|
|
|
|
struct Command {
|
|
CommandType type = CommandType::unk;
|
|
float arg1 = NAN;
|
|
float arg2 = NAN;
|
|
float arg3 = NAN;
|
|
float arg4 = NAN;
|
|
float arg5 = NAN;
|
|
float arg6 = NAN;
|
|
|
|
Command(CommandType type = CommandType::unk, float arg1 = NAN,
|
|
float arg2 = NAN, float arg3 = NAN, float arg4 = NAN,
|
|
float arg5 = NAN, float arg6 = NAN)
|
|
: type(type),
|
|
arg1(arg1),
|
|
arg2(arg2),
|
|
arg3(arg3),
|
|
arg4(arg4),
|
|
arg5(arg5),
|
|
arg6(arg6){};
|
|
|
|
Command(float *floats);
|
|
int fromFloats(float *floats);
|
|
int toFloats(float *floats);
|
|
|
|
Command(byte *bytes);
|
|
int fromBytes(byte *bytes);
|
|
int toBytes(byte *bytes);
|
|
};
|
|
|
|
void bytesToFloat(float *target, byte *val);
|
|
void floatToBytes(byte *target, float val);
|
|
|
|
#endif |