rm_control
Loading...
Searching...
No Matches
protocol.h
Go to the documentation of this file.
1/*******************************************************************************
2 * BSD 3-Clause License
3 *
4 * Copyright (c) 2021, Qiayuan Liao
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are met:
9 *
10 * * Redistributions of source code must retain the above copyright notice, this
11 * list of conditions and the following disclaimer.
12 *
13 * * Redistributions in binary form must reproduce the above copyright notice,
14 * this list of conditions and the following disclaimer in the documentation
15 * and/or other materials provided with the distribution.
16 *
17 * * Neither the name of the copyright holder nor the names of its
18 * contributors may be used to endorse or promote products derived from
19 * this software without specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE
25 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
26 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 *******************************************************************************/
33
34//
35// Created by peter on 2021/5/17.
36//
37
38#pragma once
39#define __packed __attribute__((packed))
40
41#include <cstdint>
42
43namespace rm_referee
44{
45typedef enum
46{
53 DART_INFO_CMD = 0x0105,
56 ROBOT_POS_CMD = 0x0203,
57 BUFF_CMD = 0x0204,
74 CUSTOM_CONTROLLER_CMD = 0x0302, // controller
77 KEYBOARD_MOUSE_CMD = 0x0306, // 2026 table 1-42
79 MAP_SENTRY_CMD = 0x0307, // send sentry->aerial
80 CUSTOM_INFO_CMD = 0x0308, // robot -> custom controller text/info
84 CUSTOM_TO_ROBOT_CMD = CUSTOM_INFO_CMD, // legacy misnomer alias kept for compatibility
93
94typedef enum
95{
104 SENTRY_CMD = 0x0120,
105 RADAR_CMD = 0x0121,
106 BULLET_NUM_SHARE_CMD = 0x0200, // send robot->aerial
107 SENTRY_TO_RADAR_CMD = 0x0201, // send sentry->radar
108 RADAR_TO_SENTRY_CMD = 0x0202 // send radar->sentry
110
134
151
152typedef enum
153{
154 ADD = 1,
156 DELETE = 3
158
159typedef enum
160{
163 GREEN = 2,
166 PINK = 5,
167 CYAN = 6,
168 BLACK = 7,
169 WHITE = 8
171
183
184typedef enum
185{
188 MOVE_TO = 3
190
191typedef enum
192{
194 BOOST = 1,
196 ALL_OFF = 3
198
206
217
224
225/*****************************/
226
227typedef struct
228{
229 uint8_t sof;
230 uint16_t data_length;
231 uint8_t seq;
232 uint8_t crc_8;
233} __packed FrameHeader;
234
235typedef struct
236{
237 uint8_t game_type : 4;
238 uint8_t game_progress : 4;
241} __packed GameStatus;
242
243typedef struct
244{
245 uint8_t winner;
246} __packed GameResult;
247
248typedef struct
249{
254 uint16_t reserved;
257 uint16_t ally_base_hp;
258} __packed GameRobotHp;
259
260typedef struct
261{
262 uint8_t dart_belong;
264} __packed DartStatus;
265
266typedef struct
267{
268 uint8_t f_1_zone_status : 1;
270 uint8_t f_2_zone_status : 1;
272 uint8_t f_3_zone_status : 1;
274 uint8_t f_4_zone_status : 1;
276 uint8_t f_5_zone_status : 1;
278 uint8_t f_6_zone_status : 1;
284} __packed IcraBuffDebuffZoneStatus;
285
286typedef union
287{
288 uint32_t event_data;
289 struct
290 {
291 uint32_t supply_zone_state : 1;
292 uint32_t reserved_1 : 1;
298 uint32_t be_hit_time : 9;
299 uint32_t be_hit_target : 3;
303 uint32_t base_point_state : 1;
304 uint32_t reserved_2 : 2;
305 };
306} __packed EventData;
307
308typedef struct
309{
310 uint8_t reserved;
314} __packed SupplyProjectileAction;
315
316typedef struct
317{
318 uint8_t level;
320 uint8_t count;
321} __packed RefereeWarning;
322
323typedef struct
324{
329 uint8_t reserved;
330} __packed DartInfo;
331
332typedef struct
333{
334 uint8_t robot_id;
335 uint8_t robot_level;
336 uint16_t remain_hp;
337 uint16_t max_hp;
344} __packed GameRobotStatus;
345
346typedef struct
347{
348 uint16_t reserved_1;
349 uint16_t reserved_2;
354} __packed PowerHeatData;
355
356typedef struct
357{
358 float x;
359 float y;
360 float yaw;
361} __packed GameRobotPos;
362
363typedef struct
364{
366 uint16_t cooling_buff;
369 uint16_t attack_buff;
371} __packed Buff;
372
373typedef struct
374{
375 uint8_t attack_time;
376} __packed AerialRobotEnergy;
377
378typedef struct
379{
380 uint8_t armor_id : 4;
381 uint8_t hurt_type : 4;
382} __packed RobotHurt;
383
384typedef struct
385{
386 uint8_t bullet_type;
387 uint8_t shooter_id;
388 uint8_t bullet_freq;
390} __packed ShootData;
391
392typedef struct
393{
398} __packed BulletAllowance;
399
400typedef struct
401{
402 uint32_t rfid_status;
404} __packed RfidStatus;
405
406typedef struct
407{
409 uint8_t reserved;
412} __packed DartClientCmd;
413
414/*********************** Interactive data between robots----0x0301 ********************/
415typedef struct
416{
417 uint16_t data_cmd_id;
418 uint16_t sender_id;
419 uint16_t receiver_id;
420} __packed InteractiveDataHeader;
421
423{
424 uint8_t graphic_id[3];
425 uint32_t operate_type : 3;
426 uint32_t graphic_type : 3;
427 uint32_t layer : 4;
428 uint32_t color : 4;
429 uint32_t start_angle : 9;
430 uint32_t end_angle : 9;
431 uint32_t width : 10;
432 uint32_t start_x : 11;
433 uint32_t start_y : 11;
434 uint32_t radius : 10;
435 uint32_t end_x : 11;
436 uint32_t end_y : 11;
437 bool operator==(const GraphConfig& config)
438 {
439 return (graphic_id[0] == (uint32_t)config.graphic_id[0] && graphic_id[1] == (uint32_t)config.graphic_id[1] &&
440 graphic_id[2] == (uint32_t)config.graphic_id[2] && operate_type == (uint32_t)config.operate_type &&
441 graphic_type == (uint32_t)config.graphic_type && layer == (uint32_t)config.layer &&
442 color == (uint32_t)config.color && start_angle == (uint32_t)config.start_angle &&
443 end_angle == (uint32_t)config.end_angle && width == (uint32_t)config.width &&
444 start_x == (uint32_t)config.start_x && start_y == (uint32_t)config.start_y &&
445 radius == (uint32_t)config.radius && end_x == (uint32_t)config.end_x && end_y == (uint32_t)config.end_y);
446 }
448 {
449 graphic_id[0] = (uint32_t)config.graphic_id[0];
450 graphic_id[1] = (uint32_t)config.graphic_id[1];
451 graphic_id[2] = (uint32_t)config.graphic_id[2];
452 operate_type = (uint32_t)config.operate_type;
453 graphic_type = (uint32_t)config.graphic_type;
454 layer = (uint32_t)config.layer;
455 color = (uint32_t)config.color;
456 start_angle = (uint32_t)config.start_angle;
457 end_angle = (uint32_t)config.end_angle;
458 width = (uint32_t)config.width;
459 start_x = (uint32_t)config.start_x;
460 start_y = (uint32_t)config.start_y;
461 radius = (uint32_t)config.radius;
462 end_x = (uint32_t)config.end_x;
463 end_y = (uint32_t)config.end_y;
464 return *this;
465 }
467
468typedef struct
469{
470 float hero_x;
471 float hero_y;
480} __packed RobotsPositionData;
481
482typedef union
483{
485 struct
486 {
499 uint16_t reserved : 4;
500 };
501} __packed RadarMarkData;
502
503typedef struct
504{
505 InteractiveDataHeader header;
507 uint8_t content[30];
508} __packed CharacterData;
509
510typedef struct
511{
512 InteractiveDataHeader header;
513 GraphConfig config;
514} __packed SingleGraphData;
515
516typedef struct
517{
518 InteractiveDataHeader header;
519 GraphConfig config[2];
520} __packed DoubleGraphData;
521
522typedef struct
523{
524 InteractiveDataHeader header;
525 GraphConfig config[5];
526} __packed FiveGraphData;
527
528typedef struct
529{
530 InteractiveDataHeader header;
531 GraphConfig config[7];
532} __packed SevenGraphData;
533
534typedef struct
535{
536 InteractiveDataHeader header_data;
537 uint8_t data;
538} __packed InteractiveData;
539
540typedef union
541{
542 uint32_t sentry_cmd;
543 struct
544 {
545 uint32_t confirm_respawn : 1;
550 uint32_t posture_cmd : 2;
552 uint32_t reserved : 8;
553 };
554} __packed SentryCmd;
555
556typedef struct
557{
558 InteractiveDataHeader header;
559 SentryCmd sentry_cmd;
560} __packed SentryCmdInteractiveData;
561
562typedef union
563{
564 uint8_t radar_info;
565 struct
566 {
570 uint8_t can_modify_key : 1;
571 uint8_t reserved : 2;
572 };
573} __packed RadarInfo;
574
575typedef struct
576{
577 InteractiveDataHeader header;
578 RadarInfo radar_info;
579} __packed RadarInfoInteractiveData;
580
581typedef struct
582{
583 uint8_t radar_cmd;
585 uint8_t password_1;
586 uint8_t password_2;
587 uint8_t password_3;
588 uint8_t password_4;
589 uint8_t password_5;
590 uint8_t password_6;
591} __packed RadarCmd;
592
593typedef struct
594{
595 InteractiveDataHeader header;
596 RadarCmd radar_cmd;
597} __packed RadarCmdInteractiveData;
598
599typedef struct
600{
601 uint8_t data[30];
602} __packed CustomControllerData;
603
604typedef struct
605{
606 union
607 {
608 uint32_t sentry_info;
609 struct
610 {
616 uint32_t instant_respawn_cost : 10;
617 uint32_t reserved : 1;
618 };
619 };
620 union
621 {
623 struct
624 {
625 uint16_t is_out_of_war : 1;
627 uint16_t sentry_mode : 2;
629 uint16_t reserved_1 : 1;
630 };
631 };
632} __packed SentryInfo;
633
634typedef struct
635{
640 uint16_t cmd_source;
641} __packed ClientMapSendData;
642
643typedef struct
644{
669} __packed ClientMapReceiveData;
670
671typedef struct
672{
685} __packed RadarWirelessEnemyRobotPos;
686
687typedef struct
688{
689 uint16_t hero_hp;
690 uint16_t engineer_hp;
693 uint16_t reserved;
694 uint16_t sentry_hp;
695} __packed RadarWirelessEnemyRobotHp;
696
697typedef struct
698{
704} __packed RadarWirelessEnemyProjectileAllowance;
705
706typedef struct
707{
709 uint16_t total_coin;
710 uint32_t field_status;
711} __packed RadarWirelessEnemyCoinAndFieldStatus;
712
713typedef struct
714{
741} __packed RadarWirelessEnemyRobotBuff;
742
743typedef struct
744{
745 uint8_t ascii_data[6];
746} __packed RadarWirelessEnemyCallSign;
747
748typedef struct
749{
750 InteractiveDataHeader header_data;
751 uint8_t target_robot_ID;
752 float target_position_x;
753 float target_position_y;
754} __packed SentryAttackingTargetData;
755
756typedef struct
757{
758 InteractiveDataHeader header_data;
759 uint8_t robot_ID;
763} __packed RadarToSentryData;
764
765typedef struct
766{
767 int16_t mouse_x;
768 int16_t mouse_y;
769 int16_t mouse_z;
773 uint16_t reserved;
774} __packed RobotCommandData;
775
776typedef struct
777{
778 uint8_t intention;
781 int8_t delta_x[49];
782 int8_t delta_y[49];
783 uint16_t sender_id;
784} __packed MapSentryData;
785
786typedef struct
787{
788 InteractiveDataHeader header_data;
791} __packed BulletNumData;
792
793typedef struct
794{
795 uint16_t sender_id;
796 uint16_t receiver_id;
797 uint8_t user_data[30];
798} __packed CustomInfo;
799
800typedef struct
801{
814} __packed PowerManagementSampleAndStatusData;
815
816typedef struct
817{
819 char string[31];
820} __packed PowerManagementInitializationExceptionData;
821
822typedef struct
823{
824 uint32_t r_0;
825 uint32_t r_1;
826 uint32_t r_2;
827 uint32_t r_3;
828 uint32_t r_12;
829 uint32_t LR;
830 uint32_t PC;
831 uint32_t PSR;
832} __packed PowerManagementSystemExceptionData;
833
834typedef struct
835{
836 char process_name[32];
837} __packed PowerManagementProcessStackOverflowData;
838
839typedef struct
840{
844} __packed PowerManagementUnknownExceptionData;
845
846/***********************Frame tail(CRC8_CRC16)********************************************/
847const uint8_t kCrc8Init = 0xff;
848const uint8_t kCrc8Table[256] = {
849 0x00, 0x5e, 0xbc, 0xe2, 0x61, 0x3f, 0xdd, 0x83, 0xc2, 0x9c, 0x7e, 0x20, 0xa3, 0xfd, 0x1f, 0x41, 0x9d, 0xc3, 0x21,
850 0x7f, 0xfc, 0xa2, 0x40, 0x1e, 0x5f, 0x01, 0xe3, 0xbd, 0x3e, 0x60, 0x82, 0xdc, 0x23, 0x7d, 0x9f, 0xc1, 0x42, 0x1c,
851 0xfe, 0xa0, 0xe1, 0xbf, 0x5d, 0x03, 0x80, 0xde, 0x3c, 0x62, 0xbe, 0xe0, 0x02, 0x5c, 0xdf, 0x81, 0x63, 0x3d, 0x7c,
852 0x22, 0xc0, 0x9e, 0x1d, 0x43, 0xa1, 0xff, 0x46, 0x18, 0xfa, 0xa4, 0x27, 0x79, 0x9b, 0xc5, 0x84, 0xda, 0x38, 0x66,
853 0xe5, 0xbb, 0x59, 0x07, 0xdb, 0x85, 0x67, 0x39, 0xba, 0xe4, 0x06, 0x58, 0x19, 0x47, 0xa5, 0xfb, 0x78, 0x26, 0xc4,
854 0x9a, 0x65, 0x3b, 0xd9, 0x87, 0x04, 0x5a, 0xb8, 0xe6, 0xa7, 0xf9, 0x1b, 0x45, 0xc6, 0x98, 0x7a, 0x24, 0xf8, 0xa6,
855 0x44, 0x1a, 0x99, 0xc7, 0x25, 0x7b, 0x3a, 0x64, 0x86, 0xd8, 0x5b, 0x05, 0xe7, 0xb9, 0x8c, 0xd2, 0x30, 0x6e, 0xed,
856 0xb3, 0x51, 0x0f, 0x4e, 0x10, 0xf2, 0xac, 0x2f, 0x71, 0x93, 0xcd, 0x11, 0x4f, 0xad, 0xf3, 0x70, 0x2e, 0xcc, 0x92,
857 0xd3, 0x8d, 0x6f, 0x31, 0xb2, 0xec, 0x0e, 0x50, 0xaf, 0xf1, 0x13, 0x4d, 0xce, 0x90, 0x72, 0x2c, 0x6d, 0x33, 0xd1,
858 0x8f, 0x0c, 0x52, 0xb0, 0xee, 0x32, 0x6c, 0x8e, 0xd0, 0x53, 0x0d, 0xef, 0xb1, 0xf0, 0xae, 0x4c, 0x12, 0x91, 0xcf,
859 0x2d, 0x73, 0xca, 0x94, 0x76, 0x28, 0xab, 0xf5, 0x17, 0x49, 0x08, 0x56, 0xb4, 0xea, 0x69, 0x37, 0xd5, 0x8b, 0x57,
860 0x09, 0xeb, 0xb5, 0x36, 0x68, 0x8a, 0xd4, 0x95, 0xcb, 0x29, 0x77, 0xf4, 0xaa, 0x48, 0x16, 0xe9, 0xb7, 0x55, 0x0b,
861 0x88, 0xd6, 0x34, 0x6a, 0x2b, 0x75, 0x97, 0xc9, 0x4a, 0x14, 0xf6, 0xa8, 0x74, 0x2a, 0xc8, 0x96, 0x15, 0x4b, 0xa9,
862 0xf7, 0xb6, 0xe8, 0x0a, 0x54, 0xd7, 0x89, 0x6b, 0x35,
863};
864const uint16_t kCrc16Init = 0xffff;
865const uint16_t wCRC_table[256] = {
866 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf, 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5,
867 0xe97e, 0xf8f7, 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e, 0x9cc9, 0x8d40, 0xbfdb, 0xae52,
868 0xdaed, 0xcb64, 0xf9ff, 0xe876, 0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd, 0xad4a, 0xbcc3,
869 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5, 0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,
870 0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974, 0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9,
871 0x2732, 0x36bb, 0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3, 0x5285, 0x430c, 0x7197, 0x601e,
872 0x14a1, 0x0528, 0x37b3, 0x263a, 0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72, 0x6306, 0x728f,
873 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9, 0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1,
874 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738, 0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862,
875 0x9af9, 0x8b70, 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7, 0x0840, 0x19c9, 0x2b52, 0x3adb,
876 0x4e64, 0x5fed, 0x6d76, 0x7cff, 0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036, 0x18c1, 0x0948,
877 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e, 0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5,
878 0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd, 0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226,
879 0xd0bd, 0xc134, 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c, 0xc60c, 0xd785, 0xe51e, 0xf497,
880 0x8028, 0x91a1, 0xa33a, 0xb2b3, 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb, 0xd68d, 0xc704,
881 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232, 0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,
882 0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1, 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb,
883 0x0e70, 0x1ff9, 0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330, 0x7bc7, 0x6a4e, 0x58d5, 0x495c,
884 0x3de3, 0x2c6a, 0x1ef1, 0x0f78
885};
886} // namespace rm_referee
Definition data.h:108
PowerManagementStateMachine
Definition protocol.h:192
@ CHARGE
Definition protocol.h:193
@ BOOST
Definition protocol.h:194
@ ALL_OFF
Definition protocol.h:196
@ NORMAL
Definition protocol.h:195
const uint8_t kCrc8Init
Definition protocol.h:847
GraphType
Definition protocol.h:173
@ STRING
Definition protocol.h:181
@ RECTANGLE
Definition protocol.h:175
@ CIRCLE
Definition protocol.h:176
@ ARC
Definition protocol.h:178
@ LINE
Definition protocol.h:174
@ ELLIPSE
Definition protocol.h:177
@ INT_NUM
Definition protocol.h:180
@ FLOAT_NUM
Definition protocol.h:179
RefereeCmdId
Definition protocol.h:46
@ BULLET_REMAINING_CMD
Definition protocol.h:60
@ INTERACTIVE_DATA_CMD
Definition protocol.h:73
@ ROBOT_HURT_CMD
Definition protocol.h:58
@ SHOOT_DATA_CMD
Definition protocol.h:59
@ SENTRY_INFO_CMD
Definition protocol.h:65
@ ROBOT_POS_CMD
Definition protocol.h:56
@ MAP_SENTRY_CMD
Definition protocol.h:79
@ CUSTOM_CLIENT_CMD
Definition protocol.h:78
@ CLIENT_MAP_CMD
Definition protocol.h:76
@ CUSTOM_CLIENT_TO_ROBOT_CMD
Definition protocol.h:83
@ POWER_MANAGEMENT_UNKNOWN_EXCEPTION_CMD
Definition protocol.h:91
@ RADAR_WIRELESS_ENEMY_ROBOT_BUFF_CMD
Definition protocol.h:71
@ BUFF_CMD
Definition protocol.h:57
@ ROBOTS_POS_CMD
Definition protocol.h:63
@ POWER_MANAGEMENT_INITIALIZATION_EXCEPTION_CMD
Definition protocol.h:88
@ ROBOT_TO_CUSTOM_CONTROLLER_CMD
Definition protocol.h:81
@ DART_INFO_CMD
Definition protocol.h:53
@ ROBOT_RFID_STATUS_CMD
Definition protocol.h:61
@ ROBOT_TO_CUSTOM_CMD
Definition protocol.h:85
@ KEYBOARD_MOUSE_CMD
Definition protocol.h:77
@ RADAR_MARK_CMD
Definition protocol.h:64
@ FIELD_EVENTS_CMD
Definition protocol.h:50
@ SUPPLY_PROJECTILE_ACTION_CMD
Definition protocol.h:51
@ RADAR_WIRELESS_ENEMY_COIN_AND_FIELD_STATUS_CMD
Definition protocol.h:70
@ CUSTOM_INFO_CMD
Definition protocol.h:80
@ REFEREE_WARNING_CMD
Definition protocol.h:52
@ GAME_RESULT_CMD
Definition protocol.h:48
@ POWER_MANAGEMENT_SYSTEM_EXCEPTION_CMD
Definition protocol.h:89
@ TARGET_POS_CMD
Definition protocol.h:75
@ POWER_MANAGEMENT_PROCESS_STACK_OVERFLOW_CMD
Definition protocol.h:90
@ RADAR_WIRELESS_ENEMY_ROBOT_POS_CMD
Definition protocol.h:67
@ CUSTOM_CONTROLLER_CMD
Definition protocol.h:74
@ CUSTOM_TO_ROBOT_CMD
Definition protocol.h:84
@ GAME_ROBOT_HP_CMD
Definition protocol.h:49
@ ROBOT_TO_CUSTOM_CLIENT_CMD
Definition protocol.h:82
@ RADAR_WIRELESS_ENEMY_ROBOT_HP_CMD
Definition protocol.h:68
@ RADAR_INFO_CMD
Definition protocol.h:66
@ RADAR_WIRELESS_ENEMY_PROJECTILE_ALLOWANCE_CMD
Definition protocol.h:69
@ ROBOT_TO_CUSTOM_CMD_2
Definition protocol.h:86
@ POWER_HEAT_DATA_CMD
Definition protocol.h:55
@ GAME_STATUS_CMD
Definition protocol.h:47
@ RADAR_WIRELESS_ENEMY_CALL_SIGN_CMD
Definition protocol.h:72
@ DART_CLIENT_CMD
Definition protocol.h:62
@ POWER_MANAGEMENT_SAMPLE_AND_STATUS_DATA_CMD
Definition protocol.h:87
@ ROBOT_STATUS_CMD
Definition protocol.h:54
DataCmdId
Definition protocol.h:95
@ SENTRY_TO_RADAR_CMD
Definition protocol.h:107
@ CLIENT_GRAPH_DELETE_CMD
Definition protocol.h:98
@ CLIENT_GRAPH_SEVEN_CMD
Definition protocol.h:102
@ CLIENT_GRAPH_SINGLE_CMD
Definition protocol.h:99
@ SENTRY_CMD
Definition protocol.h:104
@ RADAR_CMD
Definition protocol.h:105
@ RADAR_TO_SENTRY_CMD
Definition protocol.h:108
@ ROBOT_INTERACTIVE_CMD_MAX
Definition protocol.h:97
@ BULLET_NUM_SHARE_CMD
Definition protocol.h:106
@ ROBOT_INTERACTIVE_CMD_MIN
Definition protocol.h:96
@ CLIENT_CHARACTER_CMD
Definition protocol.h:103
@ CLIENT_GRAPH_FIVE_CMD
Definition protocol.h:101
@ CLIENT_GRAPH_DOUBLE_CMD
Definition protocol.h:100
const uint8_t kCrc8Table[256]
Definition protocol.h:848
struct rm_referee::GraphConfig __packed
SentryIntention
Definition protocol.h:185
@ MOVE_TO
Definition protocol.h:188
@ ATTACK_IN
Definition protocol.h:186
@ DEFEND_IN
Definition protocol.h:187
GraphColor
Definition protocol.h:160
@ PINK
Definition protocol.h:166
@ WHITE
Definition protocol.h:169
@ YELLOW
Definition protocol.h:162
@ BLACK
Definition protocol.h:168
@ ORANGE
Definition protocol.h:164
@ PURPLE
Definition protocol.h:165
@ MAIN_COLOR
Definition protocol.h:161
@ CYAN
Definition protocol.h:167
@ GREEN
Definition protocol.h:163
const uint16_t kCrc16Init
Definition protocol.h:864
PowerManagementProtectionInfo
Definition protocol.h:200
@ NO_PROBLEM
Definition protocol.h:201
@ REFEREE_DISCONNECT
Definition protocol.h:204
@ REFEREE_POWER_DOWN
Definition protocol.h:203
@ HIGH_CURRENT
Definition protocol.h:202
RobotId
Definition protocol.h:112
@ BLUE_RADAR
Definition protocol.h:130
@ BLUE_STANDARD_4
Definition protocol.h:126
@ BLUE_ENGINEER
Definition protocol.h:124
@ RED_BASE
Definition protocol.h:122
@ RED_STANDARD_4
Definition protocol.h:116
@ BLUE_SENTRY
Definition protocol.h:129
@ RED_SENTRY
Definition protocol.h:119
@ RED_STANDARD_5
Definition protocol.h:117
@ BLUE_STANDARD_3
Definition protocol.h:125
@ BLUE_BASE
Definition protocol.h:132
@ BLUE_OUTPOST
Definition protocol.h:131
@ RED_STANDARD_3
Definition protocol.h:115
@ RED_AERIAL
Definition protocol.h:118
@ RED_ENGINEER
Definition protocol.h:114
@ RED_OUTPOST
Definition protocol.h:121
@ BLUE_HERO
Definition protocol.h:123
@ BLUE_AERIAL
Definition protocol.h:128
@ BLUE_STANDARD_5
Definition protocol.h:127
@ RED_RADAR
Definition protocol.h:120
@ RED_HERO
Definition protocol.h:113
const uint16_t wCRC_table[256]
Definition protocol.h:865
PowerManagementTopology
Definition protocol.h:219
@ CHARGE_AND_BOOST
Definition protocol.h:221
@ PASS_THROUGH
Definition protocol.h:220
@ SWITCHES_ALL_OFF
Definition protocol.h:222
ClientId
Definition protocol.h:136
@ RED_ENGINEER_CLIENT
Definition protocol.h:138
@ REFEREE_SERVER
Definition protocol.h:149
@ BLUE_STANDARD_5_CLIENT
Definition protocol.h:147
@ RED_HERO_CLIENT
Definition protocol.h:137
@ BLUE_STANDARD_4_CLIENT
Definition protocol.h:146
@ RED_AERIAL_CLIENT
Definition protocol.h:142
@ RED_STANDARD_4_CLIENT
Definition protocol.h:140
@ BLUE_AERIAL_CLIENT
Definition protocol.h:148
@ BLUE_STANDARD_3_CLIENT
Definition protocol.h:145
@ RED_STANDARD_3_CLIENT
Definition protocol.h:139
@ BLUE_HERO_CLIENT
Definition protocol.h:143
@ RED_STANDARD_5_CLIENT
Definition protocol.h:141
@ BLUE_ENGINEER_CLIENT
Definition protocol.h:144
PowerManagementResetReason
Definition protocol.h:208
@ UNKNOWN
Definition protocol.h:215
@ LOW_VOLTAGE
Definition protocol.h:214
@ INDEPENDENT_WATCHDOG
Definition protocol.h:212
@ EXTERNAL_BUTTON
Definition protocol.h:210
@ POWER_ON
Definition protocol.h:209
@ WINDOW_WATCHDOG
Definition protocol.h:213
@ SOFT
Definition protocol.h:211
GraphOperation
Definition protocol.h:153
@ DELETE
Definition protocol.h:156
@ UPDATE
Definition protocol.h:155
@ ADD
Definition protocol.h:154
Definition protocol.h:840
int8_t error_code
Definition protocol.h:818
uint16_t chassis_power_buffer
Definition protocol.h:351
uint32_t r_0
Definition protocol.h:824
float engineer_x
Definition protocol.h:472
uint32_t can_exchange_instant_respawn
Definition protocol.h:615
uint8_t infantry_4_negative_defense_buff
Definition protocol.h:733
uint8_t remaining_energy
Definition protocol.h:370
uint8_t enemy_in_double_vulnerability
Definition protocol.h:568
float x
Definition protocol.h:358
uint16_t infantry_3_hp
Definition protocol.h:691
uint8_t engineer_negative_defense_buff
Definition protocol.h:723
uint8_t sentry_defense_buff
Definition protocol.h:737
uint16_t bullet_allowance_num_17_mm
Definition protocol.h:394
uint8_t capacity_recent_charge_power_low_8_bit
Definition protocol.h:807
uint16_t coin_remaining_num
Definition protocol.h:396
uint16_t ally_1_robot_hp
Definition protocol.h:250
uint16_t ally_2_robot_hp
Definition protocol.h:251
uint8_t intention
Definition protocol.h:778
uint16_t data_cmd_id
Definition protocol.h:417
uint16_t sentry_position_y
Definition protocol.h:684
uint16_t own_sentry_special_mark
Definition protocol.h:498
uint16_t enemy_aerial_special_mark
Definition protocol.h:491
uint16_t max_hp
Definition protocol.h:337
uint16_t opponent_infantry_3_position_y
Definition protocol.h:650
uint8_t capacity_recent_charge_power_high_8_bit
Definition protocol.h:806
GraphConfig config
Definition protocol.h:506
uint16_t sentry_projectile_allowance
Definition protocol.h:703
uint32_t LR
Definition protocol.h:829
uint32_t r_2
Definition protocol.h:826
uint8_t state_machine_running_state
Definition protocol.h:813
float yaw
Definition protocol.h:360
uint8_t robot_id
Definition protocol.h:334
uint8_t capacity_remain_charge_low_8_bit
Definition protocol.h:809
uint8_t data
Definition protocol.h:537
uint8_t state_machine_before_reset_mode
Definition protocol.h:843
uint8_t supply_projectile_num
Definition protocol.h:313
uint16_t cmd_source
Definition protocol.h:640
uint8_t winner
Definition protocol.h:245
uint8_t f_3_zone_status
Definition protocol.h:272
uint16_t blue_2_bullet_left
Definition protocol.h:283
uint16_t enemy_engineer_vulnerable
Definition protocol.h:488
uint16_t ally_sentry_position_y
Definition protocol.h:668
uint16_t hero_projectile_allowance
Definition protocol.h:699
uint16_t hero_cooling_buff
Definition protocol.h:716
uint16_t ally_sentry_position_x
Definition protocol.h:667
uint16_t is_out_of_war
Definition protocol.h:625
uint8_t count
Definition protocol.h:320
uint16_t can_activate_energy_mechanism
Definition protocol.h:628
uint8_t robot_ID
Definition protocol.h:759
uint8_t password_3
Definition protocol.h:587
uint32_t reserved_2
Definition protocol.h:304
uint16_t sentry_hp
Definition protocol.h:694
uint32_t rfid_status
Definition protocol.h:402
uint16_t infantry_4_position_x
Definition protocol.h:679
uint8_t bullet_42_mm_num
Definition protocol.h:789
uint16_t mark_progress
Definition protocol.h:484
uint8_t password_4
Definition protocol.h:588
uint8_t dart_current_target
Definition protocol.h:328
bool engineer_marked
Definition protocol.h:762
uint8_t game_type
Definition protocol.h:237
uint16_t infantry_3_attack_buff
Definition protocol.h:729
uint8_t mains_power_gimbal_output
Definition protocol.h:341
uint8_t f_1_zone_status
Definition protocol.h:268
uint8_t f_6_zone_buff_debuff_status
Definition protocol.h:279
uint8_t rfid_status_2
Definition protocol.h:403
uint16_t red_1_bullet_left
Definition protocol.h:280
uint32_t sentry_info
Definition protocol.h:608
uint8_t game_progress
Definition protocol.h:238
uint16_t infantry_3_cooling_buff
Definition protocol.h:726
uint32_t sentry_cmd
Definition protocol.h:542
uint16_t shooter_id_1_17_mm_cooling_heat
Definition protocol.h:352
uint8_t chassis_power_low_8_bit
Definition protocol.h:803
uint16_t enemy_sentry_vulnerable
Definition protocol.h:492
float target_position_x
Definition protocol.h:636
uint32_t PSR
Definition protocol.h:831
uint16_t latest_launch_cmd_time
Definition protocol.h:411
uint8_t capacity_expect_charge_power
Definition protocol.h:810
uint16_t ally_infantry_4_position_y
Definition protocol.h:664
uint32_t confirm_respawn
Definition protocol.h:545
uint16_t own_hero_special_mark
Definition protocol.h:493
uint8_t hero_recovery_buff
Definition protocol.h:715
uint8_t infantry_3_negative_defense_buff
Definition protocol.h:728
uint16_t remain_hp
Definition protocol.h:336
uint8_t password_1
Definition protocol.h:585
uint32_t event_data
Definition protocol.h:288
uint32_t r_3
Definition protocol.h:827
uint8_t infantry_3_recovery_buff
Definition protocol.h:725
uint8_t power_management_topology
Definition protocol.h:811
uint8_t f_4_zone_buff_debuff_status
Definition protocol.h:275
uint8_t hurt_type
Definition protocol.h:381
uint8_t infantry_3_defense_buff
Definition protocol.h:727
uint8_t chassis_power_high_8_bit
Definition protocol.h:802
uint16_t ally_infantry_4_position_x
Definition protocol.h:663
uint8_t recovery_buff
Definition protocol.h:365
float hero_x
Definition protocol.h:470
int16_t mouse_x
Definition protocol.h:767
uint16_t red_2_bullet_left
Definition protocol.h:281
float reserved_1
Definition protocol.h:478
uint8_t abnormal_reset_reason
Definition protocol.h:841
uint8_t supply_projectile_step
Definition protocol.h:312
uint16_t opponent_aerial_position_y
Definition protocol.h:654
uint16_t ally_4_robot_hp
Definition protocol.h:253
uint16_t infantry_4_position_y
Definition protocol.h:680
uint8_t dart_launch_opening_status
Definition protocol.h:408
uint32_t large_power_rune_state
Definition protocol.h:295
uint32_t confirm_instant_respawn
Definition protocol.h:546
uint16_t opponent_infantry_4_position_x
Definition protocol.h:651
uint8_t f_3_zone_buff_debuff_status
Definition protocol.h:273
uint16_t hero_position_x
Definition protocol.h:673
float reserved_2
Definition protocol.h:479
uint32_t can_confirm_free_respawn
Definition protocol.h:614
uint8_t command_keyboard
Definition protocol.h:638
float engineer_y
Definition protocol.h:473
uint16_t chassis_power_limit
Definition protocol.h:340
int16_t mouse_z
Definition protocol.h:769
uint8_t crc_8
Definition protocol.h:232
uint8_t f_6_zone_status
Definition protocol.h:278
uint8_t defence_buff
Definition protocol.h:367
uint8_t bullet_17_mm_num
Definition protocol.h:790
uint64_t sync_time_stamp
Definition protocol.h:240
uint16_t own_standard_3_special_mark
Definition protocol.h:495
uint16_t bullet_allowance_num_42_mm
Definition protocol.h:395
uint16_t shooter_cooling_limit
Definition protocol.h:339
RadarCmd radar_cmd
Definition protocol.h:596
uint8_t shooter_id
Definition protocol.h:387
uint32_t reserved
Definition protocol.h:552
uint8_t mains_power_shooter_output
Definition protocol.h:343
uint8_t f_2_zone_status
Definition protocol.h:270
uint16_t ally_base_hp
Definition protocol.h:257
uint16_t engineer_attack_buff
Definition protocol.h:724
uint8_t power_management_protection_info
Definition protocol.h:812
uint8_t f_4_zone_status
Definition protocol.h:274
uint16_t keyboard_value
Definition protocol.h:772
uint8_t enemy_total_hit_received
Definition protocol.h:327
uint16_t hero_position_y
Definition protocol.h:674
uint8_t f_2_zone_buff_debuff_status
Definition protocol.h:271
uint16_t enemy_standard_3_vulnerable
Definition protocol.h:489
uint8_t bullet_freq
Definition protocol.h:388
uint32_t trapezoidal_elevated_ground_state
Definition protocol.h:297
uint8_t infantry_4_defense_buff
Definition protocol.h:732
uint16_t opponent_sentry_position_x
Definition protocol.h:655
uint32_t small_power_rune_state
Definition protocol.h:294
uint8_t sof
Definition protocol.h:229
uint32_t instant_respawn_cost
Definition protocol.h:616
uint16_t enemy_hero_vulnerable
Definition protocol.h:487
uint16_t ally_aerial_position_y
Definition protocol.h:666
uint16_t ally_outpost_hp
Definition protocol.h:256
uint16_t ally_infantry_3_position_y
Definition protocol.h:662
float standard_4_x
Definition protocol.h:476
uint32_t be_hit_target
Definition protocol.h:299
uint8_t own_encryption_level
Definition protocol.h:569
uint8_t sentry_recovery_buff
Definition protocol.h:735
uint32_t remote_hp_exchange_success_cnt
Definition protocol.h:613
uint8_t infantry_4_recovery_buff
Definition protocol.h:730
uint16_t attack_buff
Definition protocol.h:369
uint8_t hero_negative_defense_buff
Definition protocol.h:718
uint32_t reserved_1
Definition protocol.h:292
uint16_t aerial_position_y
Definition protocol.h:682
uint32_t exchanged_bullet_allowance
Definition protocol.h:611
uint8_t password_2
Definition protocol.h:586
uint8_t engineer_recovery_buff
Definition protocol.h:720
uint16_t sentry_cooling_buff
Definition protocol.h:736
uint8_t seq
Definition protocol.h:231
uint32_t PC
Definition protocol.h:830
uint32_t confirm_rune_activating
Definition protocol.h:551
uint16_t infantry_4_attack_buff
Definition protocol.h:734
uint8_t chassis_expect_power_high_8_bit
Definition protocol.h:804
float hero_y
Definition protocol.h:471
uint8_t can_modify_key
Definition protocol.h:570
uint8_t dart_last_aim_state
Definition protocol.h:326
SentryCmd sentry_cmd
Definition protocol.h:559
uint16_t stage_remaining_time
Definition protocol.h:263
uint8_t level
Definition protocol.h:318
uint8_t sentry_negative_defense_buff
Definition protocol.h:738
uint16_t opponent_infantry_3_position_x
Definition protocol.h:649
uint16_t infantry_4_cooling_buff
Definition protocol.h:731
uint16_t infantry_3_projectile_allowance
Definition protocol.h:700
uint16_t ally_7_robot_hp
Definition protocol.h:255
uint8_t capacity_remain_charge_high_8_bit
Definition protocol.h:808
float standard_3_x
Definition protocol.h:474
uint16_t remaining_bullets_can_supply
Definition protocol.h:626
uint16_t own_aerial_special_mark
Definition protocol.h:497
uint16_t data_length
Definition protocol.h:230
uint16_t sentry_info_2
Definition protocol.h:622
uint16_t infantry_4_projectile_allowance
Definition protocol.h:701
float standard_3_y
Definition protocol.h:475
uint16_t aerial_position_x
Definition protocol.h:681
uint16_t ally_engineer_position_x
Definition protocol.h:659
uint16_t ally_engineer_position_y
Definition protocol.h:660
uint16_t projectile_allowance_fortress
Definition protocol.h:397
uint16_t shooter_id_1_42_mm_cooling_heat
Definition protocol.h:353
uint16_t remaining_coin
Definition protocol.h:708
uint16_t ally_aerial_position_x
Definition protocol.h:665
uint16_t start_position_x
Definition protocol.h:779
uint16_t sentry_attack_buff
Definition protocol.h:739
uint16_t ally_3_robot_hp
Definition protocol.h:252
uint32_t supply_zone_state_rmul
Definition protocol.h:293
uint16_t opponent_hero_position_y
Definition protocol.h:646
uint32_t posture_cmd
Definition protocol.h:550
uint16_t reserved
Definition protocol.h:254
uint16_t infantry_3_position_y
Definition protocol.h:678
uint32_t field_status
Definition protocol.h:710
uint32_t fortress_point_state
Definition protocol.h:301
uint16_t hero_hp
Definition protocol.h:689
uint16_t cooling_buff
Definition protocol.h:366
uint16_t receiver_id
Definition protocol.h:419
int8_t right_button_down
Definition protocol.h:771
uint32_t remote_hp_exchange_req_cnt
Definition protocol.h:549
uint16_t opponent_sentry_position_y
Definition protocol.h:656
uint8_t f_5_zone_buff_debuff_status
Definition protocol.h:277
uint8_t robot_level
Definition protocol.h:335
uint16_t sentry_position_x
Definition protocol.h:683
uint8_t chassis_expect_power_low_8_bit
Definition protocol.h:805
uint8_t password_5
Definition protocol.h:589
uint16_t opponent_engineer_position_y
Definition protocol.h:648
int16_t mouse_y
Definition protocol.h:768
uint16_t own_standard_4_special_mark
Definition protocol.h:496
uint8_t armor_id
Definition protocol.h:380
uint16_t enemy_standard_4_vulnerable
Definition protocol.h:490
int8_t left_button_down
Definition protocol.h:770
uint16_t shooter_cooling_rate
Definition protocol.h:338
uint16_t aerial_projectile_allowance
Definition protocol.h:702
float reserved_3
Definition protocol.h:350
uint32_t bullet_exchange_target
Definition protocol.h:547
InteractiveDataHeader header
Definition protocol.h:505
uint8_t password_cmd
Definition protocol.h:584
uint8_t radar_info
Definition protocol.h:564
uint8_t hero_defense_buff
Definition protocol.h:717
uint16_t engineer_hp
Definition protocol.h:690
uint8_t supply_robot_id
Definition protocol.h:311
uint16_t opponent_aerial_position_x
Definition protocol.h:653
uint16_t opponent_engineer_position_x
Definition protocol.h:647
uint16_t ally_hero_position_y
Definition protocol.h:658
uint16_t infantry_3_position_x
Definition protocol.h:677
uint16_t engineer_position_y
Definition protocol.h:676
uint16_t hero_attack_buff
Definition protocol.h:719
uint8_t f_1_zone_buff_debuff_status
Definition protocol.h:269
uint8_t power_management_before_reset_topology
Definition protocol.h:842
uint16_t engineer_position_x
Definition protocol.h:675
uint32_t r_1
Definition protocol.h:825
uint8_t engineer_defense_buff
Definition protocol.h:722
uint32_t base_point_state
Definition protocol.h:303
uint32_t outpost_point_state
Definition protocol.h:302
uint16_t sentry_mode
Definition protocol.h:627
uint32_t supply_zone_state
Definition protocol.h:291
uint16_t ally_hero_position_x
Definition protocol.h:657
float y
Definition protocol.h:359
float target_position_y
Definition protocol.h:637
uint16_t opponent_infantry_4_position_y
Definition protocol.h:652
uint32_t remote_bullet_exchange_success_cnt
Definition protocol.h:612
uint16_t total_coin
Definition protocol.h:709
uint8_t attack_time
Definition protocol.h:375
uint16_t start_position_y
Definition protocol.h:780
uint32_t be_hit_time
Definition protocol.h:298
float position_x
Definition protocol.h:760
uint16_t blue_1_bullet_left
Definition protocol.h:282
uint16_t own_engineer_special_mark
Definition protocol.h:494
uint32_t r_12
Definition protocol.h:828
float bullet_speed
Definition protocol.h:389
uint8_t dart_remaining_time
Definition protocol.h:325
uint32_t central_elevated_ground_state
Definition protocol.h:296
RadarInfo radar_info
Definition protocol.h:578
uint16_t opponent_hero_position_x
Definition protocol.h:645
uint8_t target_robot_ID
Definition protocol.h:639
uint8_t bullet_type
Definition protocol.h:386
uint8_t dart_belong
Definition protocol.h:262
uint16_t infantry_4_hp
Definition protocol.h:692
uint8_t password_6
Definition protocol.h:590
uint8_t double_vulnerability_chances
Definition protocol.h:567
uint32_t central_point_state
Definition protocol.h:300
uint8_t sentry_posture
Definition protocol.h:740
uint8_t mains_power_chassis_output
Definition protocol.h:342
uint8_t vulnerability_buff
Definition protocol.h:368
uint16_t sender_id
Definition protocol.h:418
uint8_t radar_cmd
Definition protocol.h:583
uint16_t target_change_time
Definition protocol.h:410
uint8_t foul_robot_id
Definition protocol.h:319
float position_y
Definition protocol.h:761
uint16_t reserved_2
Definition protocol.h:349
uint8_t f_5_zone_status
Definition protocol.h:276
InteractiveDataHeader header_data
Definition protocol.h:536
uint16_t ally_infantry_3_position_x
Definition protocol.h:661
uint8_t reserved
Definition protocol.h:310
uint16_t reserved_1
Definition protocol.h:348
uint16_t stage_remain_time
Definition protocol.h:239
float standard_4_y
Definition protocol.h:477
uint16_t engineer_cooling_buff
Definition protocol.h:721
uint32_t remote_bullet_exchange_req_cnt
Definition protocol.h:548
Definition protocol.h:423
uint32_t start_x
Definition protocol.h:432
uint32_t start_angle
Definition protocol.h:429
uint32_t radius
Definition protocol.h:434
uint32_t color
Definition protocol.h:428
uint8_t graphic_id[3]
Definition protocol.h:424
bool operator==(const GraphConfig &config)
Definition protocol.h:437
uint32_t end_x
Definition protocol.h:435
uint32_t width
Definition protocol.h:431
uint32_t end_y
Definition protocol.h:436
uint32_t graphic_type
Definition protocol.h:426
uint32_t start_y
Definition protocol.h:433
uint32_t end_angle
Definition protocol.h:430
uint32_t operate_type
Definition protocol.h:425
GraphConfig & operator=(const GraphConfig &config)
Definition protocol.h:447
uint32_t layer
Definition protocol.h:427