diff --git a/CanAutoNode/LogTypes/RPBLogs.hpp b/CanAutoNode/LogTypes/RPBLogs.hpp index 927eee2..85afbcc 100644 --- a/CanAutoNode/LogTypes/RPBLogs.hpp +++ b/CanAutoNode/LogTypes/RPBLogs.hpp @@ -37,6 +37,26 @@ struct RPB_FROM_DAQ_AIR_BRAKES_LEVEL { uint8_t level; }; +struct RPB_CAMERA_SIMULATE_BUTTON_COMMAND { + uint8_t cam; + // 0x00 wifi btn + // 0x01 power btn + // 0x02 mode switch + uint8_t button; +}; + +struct RPB_CAM_TX_CONTROL_COMMAND { + enum SET { + FREQUENCY, + POWER, + ENABLED + } fieldToSet; + uint16_t freq; + uint16_t power; + bool enabled; + +}; + #ifdef PACK_CAN_STRUCTS #pragma pack(pop) #endif @@ -46,7 +66,9 @@ struct RPB_FROM_DAQ_AIR_BRAKES_LEVEL { X(RPB_CAMERA_RECORDING_COMMAND) \ X(RPB_CAMERA_SWITCH_COMMAND) \ X(RPB_AIR_BRAKES_COMMAND) \ - X(RPB_FROM_DAQ_AIR_BRAKES_LEVEL) + X(RPB_FROM_DAQ_AIR_BRAKES_LEVEL) \ + X(RPB_CAMERA_SIMULATE_BUTTON_COMMAND) \ + X(RPB_CAM_TX_CONTROL_COMMAND) #define X(x) sizeof(x), const CanAutoNodeDaughter::LogInit RPB_Init[] = {RPB_CAN_LOGS}; diff --git a/SoarProto/Aegis/CommandMessage.proto b/SoarProto/Aegis/CommandMessage.proto index bd8b5d6..edc9622 100644 --- a/SoarProto/Aegis/CommandMessage.proto +++ b/SoarProto/Aegis/CommandMessage.proto @@ -120,8 +120,10 @@ message FcbCommand { RSC_AIR_BRAKES_ENABLE = 34; RSC_AIR_BRAKES_DISABLE = 35; + RSC_ERASE_FLASH = 36; + //-- TECHNICAL -- - RSC_NONE = 36; // Invalid command, must be last + RSC_NONE = 37; // Invalid command, must be last // TODO NEW : ADD NEW COMMANDS FOR HEATER? OR AIRBRAKES AND STUFF. OR CREATE A NEW MESSAGE TYPE FOR NON-FLIGHT-SEQUENCE COMMANDS? } diff --git a/SoarProto/Aegis/_C++/CommandMessage.hpp b/SoarProto/Aegis/_C++/CommandMessage.hpp index b7f62fa..d7d5244 100644 --- a/SoarProto/Aegis/_C++/CommandMessage.hpp +++ b/SoarProto/Aegis/_C++/CommandMessage.hpp @@ -78,7 +78,8 @@ class FcbCommand final: public ::EmbeddedProto::MessageInterface RSC_CAM3_DISABLE = 33, RSC_AIR_BRAKES_ENABLE = 34, RSC_AIR_BRAKES_DISABLE = 35, - RSC_NONE = 36 + RSC_ERASE_FLASH = 36, + RSC_NONE = 37 }; enum class FieldNumber : uint32_t diff --git a/SoarProto/Aegis/_Python/CommandMessage_pb2.py b/SoarProto/Aegis/_Python/CommandMessage_pb2.py index 3f702bc..deb2ba7 100644 --- a/SoarProto/Aegis/_Python/CommandMessage_pb2.py +++ b/SoarProto/Aegis/_Python/CommandMessage_pb2.py @@ -15,7 +15,7 @@ import CoreProto_pb2 as CoreProto__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14\x43ommandMessage.proto\x12\x05Proto\x1a\x0f\x43oreProto.proto\"\x9a\x02\n\x0e\x43ommandMessage\x12\x1b\n\x06source\x18\x01 \x01(\x0e\x32\x0b.Proto.Node\x12\x1b\n\x06target\x18\x02 \x01(\x0e\x32\x0b.Proto.Node\x12\x1b\n\x13source_sequence_num\x18\x03 \x01(\r\x12(\n\x0b\x66\x63\x62_command\x18\x04 \x01(\x0b\x32\x11.Proto.FcbCommandH\x00\x12(\n\x0bpbb_command\x18\x05 \x01(\x0b\x32\x11.Proto.PbbCommandH\x00\x12(\n\x0b\x66sb_command\x18\x06 \x01(\x0b\x32\x11.Proto.FsbCommandH\x00\x12(\n\x0blrb_command\x18\x07 \x01(\x0b\x32\x11.Proto.LrbCommandH\x00\x42\t\n\x07message\"\xa2\x07\n\nFcbCommand\x12/\n\x0c\x63ommand_enum\x18\x01 \x01(\x0e\x32\x19.Proto.FcbCommand.Command\"\xe2\x06\n\x07\x43ommand\x12\x15\n\x11RSC_FIRST_INVALID\x10\x00\x12\x14\n\x10RSC_ANY_TO_ABORT\x10\x01\x12\x11\n\rRSC_OPEN_VENT\x10\x02\x12\x12\n\x0eRSC_CLOSE_VENT\x10\x03\x12\x12\n\x0eRSC_OPEN_DRAIN\x10\x04\x12\x13\n\x0fRSC_CLOSE_DRAIN\x10\x05\x12\x11\n\rRSC_MEV_CLOSE\x10\x06\x12\x11\n\rRSC_GOTO_FILL\x10\x07\x12\x15\n\x11RSC_ARM_CONFIRM_1\x10\x08\x12\x15\n\x11RSC_ARM_CONFIRM_2\x10\t\x12\x10\n\x0cRSC_GOTO_ARM\x10\n\x12\x16\n\x12RSC_GOTO_PRELAUNCH\x10\x0b\x12\x15\n\x11RSC_GOTO_IGNITION\x10\x0c\x12\x1a\n\x16RSC_IGNITION_TO_LAUNCH\x10\r\x12\x16\n\x12RSC_LAUNCH_TO_BURN\x10\x0e\x12\x15\n\x11RSC_BURN_TO_COAST\x10\x0f\x12\x18\n\x14RSC_COAST_TO_BRAKING\x10\x10\x12\x18\n\x14RSC_COAST_TO_DESCENT\x10\x11\x12\x1a\n\x16RSC_BRAKING_TO_DESCENT\x10\x12\x12\x1c\n\x18RSC_DESCENT_TO_TOUCHDOWN\x10\x13\x12!\n\x1dRSC_MANUAL_IGNITION_CONFIRMED\x10\x14\x12\x11\n\rRSC_GOTO_TEST\x10\x15\x12\x15\n\x11RSC_TEST_MEV_OPEN\x10\x16\x12\x17\n\x13RSC_TEST_MEV_ENABLE\x10\x17\x12\x18\n\x14RSC_TEST_MEV_DISABLE\x10\x18\x12\x16\n\x12RSC_CAMERA1_SWITCH\x10\x19\x12\x16\n\x12RSC_CAMERA2_SWITCH\x10\x1a\x12\x16\n\x12RSC_CAMERA3_SWITCH\x10\x1b\x12\x13\n\x0fRSC_CAM1_ENABLE\x10\x1c\x12\x14\n\x10RSC_CAM1_DISABLE\x10\x1d\x12\x13\n\x0fRSC_CAM2_ENABLE\x10\x1e\x12\x14\n\x10RSC_CAM2_DISABLE\x10\x1f\x12\x13\n\x0fRSC_CAM3_ENABLE\x10 \x12\x14\n\x10RSC_CAM3_DISABLE\x10!\x12\x19\n\x15RSC_AIR_BRAKES_ENABLE\x10\"\x12\x1a\n\x16RSC_AIR_BRAKES_DISABLE\x10#\x12\x0c\n\x08RSC_NONE\x10$\"\xb2\x01\n\nPbbCommand\x12/\n\x0c\x63ommand_enum\x18\x01 \x01(\x0e\x32\x19.Proto.PbbCommand.Command\"s\n\x07\x43ommand\x12\x0c\n\x08PBB_NONE\x10\x00\x12\x10\n\x0cPBB_OPEN_MEV\x10\x01\x12\x11\n\rPBB_CLOSE_MEV\x10\x02\x12\x12\n\x0ePBB_OPEN_DRAIN\x10\x03\x12\x13\n\x0fPBB_CLOSE_DRAIN\x10\x04\x12\x0c\n\x08PBB_LAST\x10\x05\"\xb0\x01\n\nLrbCommand\x12/\n\x0c\x63ommand_enum\x18\x01 \x01(\x0e\x32\x19.Proto.LrbCommand.Command\x12\x15\n\rcommand_param\x18\x02 \x01(\x05\"Z\n\x07\x43ommand\x12\x0c\n\x08LRB_NONE\x10\x00\x12\x16\n\x12LRB_TARE_LOAD_CELL\x10\x01\x12\x1b\n\x17LRB_CALIBRATE_LOAD_CELL\x10\x02\x12\x0c\n\x08LRB_LAST\x10\x03\"\x87\x06\n\nFsbCommand\x12/\n\x0c\x63ommand_enum\x18\x01 \x01(\x0e\x32\x19.Proto.FsbCommand.Command\x12\x15\n\rcommand_param\x18\x02 \x01(\x05\"\xb0\x05\n\x07\x43ommand\x12\x0c\n\x08\x46SB_NONE\x10\x00\x12\x10\n\x0c\x46SB_OPEN_AC1\x10\x03\x12\x11\n\rFSB_CLOSE_AC1\x10\x04\x12\x10\n\x0c\x46SB_OPEN_AC2\x10\x05\x12\x11\n\rFSB_CLOSE_AC2\x10\x06\x12\x11\n\rFSB_OPEN_PBV1\x10\x07\x12\x12\n\x0e\x46SB_CLOSE_PBV1\x10\x08\x12\x11\n\rFSB_OPEN_PBV2\x10\t\x12\x12\n\x0e\x46SB_CLOSE_PBV2\x10\n\x12\x11\n\rFSB_OPEN_PBV3\x10\x0b\x12\x12\n\x0e\x46SB_CLOSE_PBV3\x10\x0c\x12\x11\n\rFSB_OPEN_PBV4\x10\r\x12\x12\n\x0e\x46SB_CLOSE_PBV4\x10\x0e\x12\x11\n\rFSB_OPEN_SOL5\x10\x15\x12\x12\n\x0e\x46SB_CLOSE_SOL5\x10\x16\x12\x11\n\rFSB_OPEN_SOL6\x10\x17\x12\x12\n\x0e\x46SB_CLOSE_SOL6\x10\x18\x12\x11\n\rFSB_OPEN_SOL7\x10\x19\x12\x12\n\x0e\x46SB_CLOSE_SOL7\x10\x1a\x12\x12\n\x0e\x46SB_OPEN_SOL8A\x10\x1b\x12\x13\n\x0f\x46SB_CLOSE_SOL8A\x10\x1c\x12\x12\n\x0e\x46SB_OPEN_SOL8B\x10\x1d\x12\x13\n\x0f\x46SB_CLOSE_SOL8B\x10\x1e\x12\x1b\n\x17\x46SB_TARE_NOS1_LOAD_CELL\x10!\x12\x1b\n\x17\x46SB_TARE_NOS2_LOAD_CELL\x10\"\x12 \n\x1c\x46SB_CALIBRATE_NOS1_LOAD_CELL\x10#\x12 \n\x1c\x46SB_CALIBRATE_NOS2_LOAD_CELL\x10$\x12\x17\n\x13\x46SB_IGNITE_PAD_BOX1\x10\x1f\x12\x17\n\x13\x46SB_IGNITE_PAD_BOX2\x10 \x12\x15\n\x11\x46SB_KILL_PAD_BOX1\x10%\x12\x15\n\x11\x46SB_KILL_PAD_BOX2\x10&\x12\x0c\n\x08\x46SB_LAST\x10\'b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14\x43ommandMessage.proto\x12\x05Proto\x1a\x0f\x43oreProto.proto\"\x9a\x02\n\x0e\x43ommandMessage\x12\x1b\n\x06source\x18\x01 \x01(\x0e\x32\x0b.Proto.Node\x12\x1b\n\x06target\x18\x02 \x01(\x0e\x32\x0b.Proto.Node\x12\x1b\n\x13source_sequence_num\x18\x03 \x01(\r\x12(\n\x0b\x66\x63\x62_command\x18\x04 \x01(\x0b\x32\x11.Proto.FcbCommandH\x00\x12(\n\x0bpbb_command\x18\x05 \x01(\x0b\x32\x11.Proto.PbbCommandH\x00\x12(\n\x0b\x66sb_command\x18\x06 \x01(\x0b\x32\x11.Proto.FsbCommandH\x00\x12(\n\x0blrb_command\x18\x07 \x01(\x0b\x32\x11.Proto.LrbCommandH\x00\x42\t\n\x07message\"\xb7\x07\n\nFcbCommand\x12/\n\x0c\x63ommand_enum\x18\x01 \x01(\x0e\x32\x19.Proto.FcbCommand.Command\"\xf7\x06\n\x07\x43ommand\x12\x15\n\x11RSC_FIRST_INVALID\x10\x00\x12\x14\n\x10RSC_ANY_TO_ABORT\x10\x01\x12\x11\n\rRSC_OPEN_VENT\x10\x02\x12\x12\n\x0eRSC_CLOSE_VENT\x10\x03\x12\x12\n\x0eRSC_OPEN_DRAIN\x10\x04\x12\x13\n\x0fRSC_CLOSE_DRAIN\x10\x05\x12\x11\n\rRSC_MEV_CLOSE\x10\x06\x12\x11\n\rRSC_GOTO_FILL\x10\x07\x12\x15\n\x11RSC_ARM_CONFIRM_1\x10\x08\x12\x15\n\x11RSC_ARM_CONFIRM_2\x10\t\x12\x10\n\x0cRSC_GOTO_ARM\x10\n\x12\x16\n\x12RSC_GOTO_PRELAUNCH\x10\x0b\x12\x15\n\x11RSC_GOTO_IGNITION\x10\x0c\x12\x1a\n\x16RSC_IGNITION_TO_LAUNCH\x10\r\x12\x16\n\x12RSC_LAUNCH_TO_BURN\x10\x0e\x12\x15\n\x11RSC_BURN_TO_COAST\x10\x0f\x12\x18\n\x14RSC_COAST_TO_BRAKING\x10\x10\x12\x18\n\x14RSC_COAST_TO_DESCENT\x10\x11\x12\x1a\n\x16RSC_BRAKING_TO_DESCENT\x10\x12\x12\x1c\n\x18RSC_DESCENT_TO_TOUCHDOWN\x10\x13\x12!\n\x1dRSC_MANUAL_IGNITION_CONFIRMED\x10\x14\x12\x11\n\rRSC_GOTO_TEST\x10\x15\x12\x15\n\x11RSC_TEST_MEV_OPEN\x10\x16\x12\x17\n\x13RSC_TEST_MEV_ENABLE\x10\x17\x12\x18\n\x14RSC_TEST_MEV_DISABLE\x10\x18\x12\x16\n\x12RSC_CAMERA1_SWITCH\x10\x19\x12\x16\n\x12RSC_CAMERA2_SWITCH\x10\x1a\x12\x16\n\x12RSC_CAMERA3_SWITCH\x10\x1b\x12\x13\n\x0fRSC_CAM1_ENABLE\x10\x1c\x12\x14\n\x10RSC_CAM1_DISABLE\x10\x1d\x12\x13\n\x0fRSC_CAM2_ENABLE\x10\x1e\x12\x14\n\x10RSC_CAM2_DISABLE\x10\x1f\x12\x13\n\x0fRSC_CAM3_ENABLE\x10 \x12\x14\n\x10RSC_CAM3_DISABLE\x10!\x12\x19\n\x15RSC_AIR_BRAKES_ENABLE\x10\"\x12\x1a\n\x16RSC_AIR_BRAKES_DISABLE\x10#\x12\x13\n\x0fRSC_ERASE_FLASH\x10$\x12\x0c\n\x08RSC_NONE\x10%\"\xb2\x01\n\nPbbCommand\x12/\n\x0c\x63ommand_enum\x18\x01 \x01(\x0e\x32\x19.Proto.PbbCommand.Command\"s\n\x07\x43ommand\x12\x0c\n\x08PBB_NONE\x10\x00\x12\x10\n\x0cPBB_OPEN_MEV\x10\x01\x12\x11\n\rPBB_CLOSE_MEV\x10\x02\x12\x12\n\x0ePBB_OPEN_DRAIN\x10\x03\x12\x13\n\x0fPBB_CLOSE_DRAIN\x10\x04\x12\x0c\n\x08PBB_LAST\x10\x05\"\xb0\x01\n\nLrbCommand\x12/\n\x0c\x63ommand_enum\x18\x01 \x01(\x0e\x32\x19.Proto.LrbCommand.Command\x12\x15\n\rcommand_param\x18\x02 \x01(\x05\"Z\n\x07\x43ommand\x12\x0c\n\x08LRB_NONE\x10\x00\x12\x16\n\x12LRB_TARE_LOAD_CELL\x10\x01\x12\x1b\n\x17LRB_CALIBRATE_LOAD_CELL\x10\x02\x12\x0c\n\x08LRB_LAST\x10\x03\"\x87\x06\n\nFsbCommand\x12/\n\x0c\x63ommand_enum\x18\x01 \x01(\x0e\x32\x19.Proto.FsbCommand.Command\x12\x15\n\rcommand_param\x18\x02 \x01(\x05\"\xb0\x05\n\x07\x43ommand\x12\x0c\n\x08\x46SB_NONE\x10\x00\x12\x10\n\x0c\x46SB_OPEN_AC1\x10\x03\x12\x11\n\rFSB_CLOSE_AC1\x10\x04\x12\x10\n\x0c\x46SB_OPEN_AC2\x10\x05\x12\x11\n\rFSB_CLOSE_AC2\x10\x06\x12\x11\n\rFSB_OPEN_PBV1\x10\x07\x12\x12\n\x0e\x46SB_CLOSE_PBV1\x10\x08\x12\x11\n\rFSB_OPEN_PBV2\x10\t\x12\x12\n\x0e\x46SB_CLOSE_PBV2\x10\n\x12\x11\n\rFSB_OPEN_PBV3\x10\x0b\x12\x12\n\x0e\x46SB_CLOSE_PBV3\x10\x0c\x12\x11\n\rFSB_OPEN_PBV4\x10\r\x12\x12\n\x0e\x46SB_CLOSE_PBV4\x10\x0e\x12\x11\n\rFSB_OPEN_SOL5\x10\x15\x12\x12\n\x0e\x46SB_CLOSE_SOL5\x10\x16\x12\x11\n\rFSB_OPEN_SOL6\x10\x17\x12\x12\n\x0e\x46SB_CLOSE_SOL6\x10\x18\x12\x11\n\rFSB_OPEN_SOL7\x10\x19\x12\x12\n\x0e\x46SB_CLOSE_SOL7\x10\x1a\x12\x12\n\x0e\x46SB_OPEN_SOL8A\x10\x1b\x12\x13\n\x0f\x46SB_CLOSE_SOL8A\x10\x1c\x12\x12\n\x0e\x46SB_OPEN_SOL8B\x10\x1d\x12\x13\n\x0f\x46SB_CLOSE_SOL8B\x10\x1e\x12\x1b\n\x17\x46SB_TARE_NOS1_LOAD_CELL\x10!\x12\x1b\n\x17\x46SB_TARE_NOS2_LOAD_CELL\x10\"\x12 \n\x1c\x46SB_CALIBRATE_NOS1_LOAD_CELL\x10#\x12 \n\x1c\x46SB_CALIBRATE_NOS2_LOAD_CELL\x10$\x12\x17\n\x13\x46SB_IGNITE_PAD_BOX1\x10\x1f\x12\x17\n\x13\x46SB_IGNITE_PAD_BOX2\x10 \x12\x15\n\x11\x46SB_KILL_PAD_BOX1\x10%\x12\x15\n\x11\x46SB_KILL_PAD_BOX2\x10&\x12\x0c\n\x08\x46SB_LAST\x10\'b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -25,19 +25,19 @@ _globals['_COMMANDMESSAGE']._serialized_start=49 _globals['_COMMANDMESSAGE']._serialized_end=331 _globals['_FCBCOMMAND']._serialized_start=334 - _globals['_FCBCOMMAND']._serialized_end=1264 + _globals['_FCBCOMMAND']._serialized_end=1285 _globals['_FCBCOMMAND_COMMAND']._serialized_start=398 - _globals['_FCBCOMMAND_COMMAND']._serialized_end=1264 - _globals['_PBBCOMMAND']._serialized_start=1267 - _globals['_PBBCOMMAND']._serialized_end=1445 - _globals['_PBBCOMMAND_COMMAND']._serialized_start=1330 - _globals['_PBBCOMMAND_COMMAND']._serialized_end=1445 - _globals['_LRBCOMMAND']._serialized_start=1448 - _globals['_LRBCOMMAND']._serialized_end=1624 - _globals['_LRBCOMMAND_COMMAND']._serialized_start=1534 - _globals['_LRBCOMMAND_COMMAND']._serialized_end=1624 - _globals['_FSBCOMMAND']._serialized_start=1627 - _globals['_FSBCOMMAND']._serialized_end=2402 - _globals['_FSBCOMMAND_COMMAND']._serialized_start=1714 - _globals['_FSBCOMMAND_COMMAND']._serialized_end=2402 + _globals['_FCBCOMMAND_COMMAND']._serialized_end=1285 + _globals['_PBBCOMMAND']._serialized_start=1288 + _globals['_PBBCOMMAND']._serialized_end=1466 + _globals['_PBBCOMMAND_COMMAND']._serialized_start=1351 + _globals['_PBBCOMMAND_COMMAND']._serialized_end=1466 + _globals['_LRBCOMMAND']._serialized_start=1469 + _globals['_LRBCOMMAND']._serialized_end=1645 + _globals['_LRBCOMMAND_COMMAND']._serialized_start=1555 + _globals['_LRBCOMMAND_COMMAND']._serialized_end=1645 + _globals['_FSBCOMMAND']._serialized_start=1648 + _globals['_FSBCOMMAND']._serialized_end=2423 + _globals['_FSBCOMMAND_COMMAND']._serialized_start=1735 + _globals['_FSBCOMMAND_COMMAND']._serialized_end=2423 # @@protoc_insertion_point(module_scope) diff --git a/SoarProto/Aegis/_Python/CommandMessage_pb2.pyi b/SoarProto/Aegis/_Python/CommandMessage_pb2.pyi index 93c648d..7c5d8f2 100644 --- a/SoarProto/Aegis/_Python/CommandMessage_pb2.pyi +++ b/SoarProto/Aegis/_Python/CommandMessage_pb2.pyi @@ -64,6 +64,7 @@ class FcbCommand(_message.Message): RSC_CAM3_DISABLE: _ClassVar[FcbCommand.Command] RSC_AIR_BRAKES_ENABLE: _ClassVar[FcbCommand.Command] RSC_AIR_BRAKES_DISABLE: _ClassVar[FcbCommand.Command] + RSC_ERASE_FLASH: _ClassVar[FcbCommand.Command] RSC_NONE: _ClassVar[FcbCommand.Command] RSC_FIRST_INVALID: FcbCommand.Command RSC_ANY_TO_ABORT: FcbCommand.Command @@ -101,6 +102,7 @@ class FcbCommand(_message.Message): RSC_CAM3_DISABLE: FcbCommand.Command RSC_AIR_BRAKES_ENABLE: FcbCommand.Command RSC_AIR_BRAKES_DISABLE: FcbCommand.Command + RSC_ERASE_FLASH: FcbCommand.Command RSC_NONE: FcbCommand.Command COMMAND_ENUM_FIELD_NUMBER: _ClassVar[int] command_enum: FcbCommand.Command