diff --git a/rm_msgs/msg/referee/BulletAllowance.msg b/rm_msgs/msg/referee/BulletAllowance.msg index ef09835a..ef488e51 100644 --- a/rm_msgs/msg/referee/BulletAllowance.msg +++ b/rm_msgs/msg/referee/BulletAllowance.msg @@ -1,5 +1,6 @@ uint16 bullet_allowance_num_17_mm uint16 bullet_allowance_num_42_mm uint16 coin_remaining_num +uint16 projectile_allowance_fortress time stamp diff --git a/rm_msgs/msg/referee/EventData.msg b/rm_msgs/msg/referee/EventData.msg index ec1a84d7..f79e8acc 100644 --- a/rm_msgs/msg/referee/EventData.msg +++ b/rm_msgs/msg/referee/EventData.msg @@ -8,5 +8,6 @@ uint8 trapezoidal_elevated_ground_state uint16 be_hit_time uint8 be_hit_target uint8 central_point_state +uint8 own_fortress_state time stamp diff --git a/rm_msgs/msg/referee/RfidStatus.msg b/rm_msgs/msg/referee/RfidStatus.msg index 0a984c0a..bbd20e49 100644 --- a/rm_msgs/msg/referee/RfidStatus.msg +++ b/rm_msgs/msg/referee/RfidStatus.msg @@ -22,5 +22,6 @@ bool overlapping_supplier_zone bool own_large_resource_island_point bool enemy_large_resource_island_point bool central_buff_point +bool enemy_fortress_buff_point time stamp diff --git a/rm_referee/include/rm_referee/common/protocol.h b/rm_referee/include/rm_referee/common/protocol.h index 48a95324..d933c523 100644 --- a/rm_referee/include/rm_referee/common/protocol.h +++ b/rm_referee/include/rm_referee/common/protocol.h @@ -295,7 +295,8 @@ typedef struct uint16_t be_hit_time : 9; uint8_t be_hit_target : 3; uint8_t central_point_state : 2; - uint16_t reserved : 9; + uint8_t own_fortress_state : 2; + uint8_t reserved : 7; } __packed EventData; typedef struct @@ -388,6 +389,7 @@ typedef struct uint16_t bullet_allowance_num_17_mm; uint16_t bullet_allowance_num_42_mm; uint16_t coin_remaining_num; + uint16_t projectile_allowance_fortress; } __packed BulletAllowance; typedef struct @@ -416,7 +418,8 @@ typedef struct uint8_t own_large_resource_island_point : 1; uint8_t enemy_large_resource_island_point : 1; uint8_t central_buff_point : 1; - uint32_t reversed : 8; + uint8_t enemy_fortress_buff_point : 1; + uint8_t reversed : 7; } __packed RfidStatus; typedef struct diff --git a/rm_referee/src/referee.cpp b/rm_referee/src/referee.cpp index 7aa8cb95..e674b257 100644 --- a/rm_referee/src/referee.cpp +++ b/rm_referee/src/referee.cpp @@ -204,6 +204,7 @@ int Referee::unpack(uint8_t* rx_data) event_data.be_hit_time = event_ref.be_hit_time; event_data.be_hit_target = event_ref.be_hit_target; event_data.central_point_state = event_ref.central_point_state; + event_data.own_fortress_state = event_ref.own_fortress_state; event_data.stamp = last_get_data_time_; event_data_pub_.publish(event_data); @@ -369,6 +370,7 @@ int Referee::unpack(uint8_t* rx_data) bullet_allowance_data.bullet_allowance_num_17_mm = bullet_allowance_ref.bullet_allowance_num_17_mm; bullet_allowance_data.bullet_allowance_num_42_mm = bullet_allowance_ref.bullet_allowance_num_42_mm; bullet_allowance_data.coin_remaining_num = bullet_allowance_ref.coin_remaining_num; + bullet_allowance_data.projectile_allowance_fortress = bullet_allowance_ref.projectile_allowance_fortress; bullet_allowance_data.stamp = last_get_data_time_; referee_ui_.bulletRemainDataCallBack(bullet_allowance_data, last_get_data_time_); @@ -419,6 +421,7 @@ int Referee::unpack(uint8_t* rx_data) rfid_status_data.own_large_resource_island_point = rfid_status_ref.own_large_resource_island_point; rfid_status_data.enemy_large_resource_island_point = rfid_status_ref.enemy_large_resource_island_point; rfid_status_data.central_buff_point = rfid_status_ref.central_buff_point; + rfid_status_data.enemy_fortress_buff_point = rfid_status_ref.enemy_fortress_buff_point; rfid_status_data.stamp = last_get_data_time_; rfid_status_pub_.publish(rfid_status_data);