Skip to content

Commit 4fa8402

Browse files
authored
Merge pull request #282 from 321Aurora/wireless-ui
Add wireless ui
2 parents ff6b2ae + 16cddee commit 4fa8402

File tree

6 files changed

+37
-0
lines changed

6 files changed

+37
-0
lines changed

rm_common/include/rm_common/decision/command_sender.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,10 @@ class ChassisCommandSender : public TimeStampCommandSenderBase<rm_msgs::ChassisC
269269
{
270270
msg_.follow_vel_des = follow_vel_des;
271271
}
272+
void setWirelessState(bool state)
273+
{
274+
msg_.wireless_state = state;
275+
}
272276
void sendChassisCommand(const ros::Time& time, bool is_gyro)
273277
{
274278
power_limit_->setLimitPower(msg_, is_gyro);

rm_msgs/msg/ChassisCmd.msg

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@ float64 power_limit
1111
float64 follow_vel_des
1212
string follow_source_frame
1313
string command_source_frame
14+
bool wireless_state
1415
time stamp

rm_referee/include/rm_referee/referee_base.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ class RefereeBase
136136
CoverFlashUi* cover_flash_ui_{};
137137
SpinFlashUi* spin_flash_ui_{};
138138
DeployFlashUi* deploy_flash_ui_{};
139+
WirelessFlashUi* wireless_flash_ui_{};
139140
HeroHitFlashUi* hero_hit_flash_ui_{};
140141
ExceedBulletSpeedFlashUi* exceed_bullet_speed_flash_ui_{};
141142
CustomizeDisplayFlashUi* customize_display_flash_ui_{};

rm_referee/include/rm_referee/ui/flash_ui.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,19 @@ class DeployFlashUi : public FlashUi
106106
double angular_z_{ 0. };
107107
};
108108

109+
class WirelessFlashUi : public FlashUi
110+
{
111+
public:
112+
explicit WirelessFlashUi(XmlRpc::XmlRpcValue& rpc_value, Base& base, std::deque<Graph>* graph_queue,
113+
std::deque<Graph>* character_queue)
114+
: FlashUi(rpc_value, base, "wireless", graph_queue, character_queue){};
115+
void updateChassisCmdData(const rm_msgs::ChassisCmd::ConstPtr& data, const ros::Time& last_get_data_time);
116+
117+
private:
118+
void display(const ros::Time& time) override;
119+
bool wireless_state_;
120+
};
121+
109122
class HeroHitFlashUi : public FlashGroupUi
110123
{
111124
public:

rm_referee/src/referee_base.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,8 @@ RefereeBase::RefereeBase(ros::NodeHandle& nh, Base& base) : base_(base), nh_(nh)
161161
spin_flash_ui_ = new SpinFlashUi(rpc_value[i], base_, &graph_queue_, &character_queue_);
162162
if (rpc_value[i]["name"] == "deploy")
163163
deploy_flash_ui_ = new DeployFlashUi(rpc_value[i], base_, &graph_queue_, &character_queue_);
164+
if (rpc_value[i]["name"] == "wireless")
165+
wireless_flash_ui_ = new WirelessFlashUi(rpc_value[i], base_, &graph_queue_, &character_queue_);
164166
if (rpc_value[i]["name"] == "hero_hit")
165167
hero_hit_flash_ui_ = new HeroHitFlashUi(rpc_value[i], base_, &graph_queue_, &character_queue_);
166168
if (rpc_value[i]["name"] == "exceed_bullet_speed")
@@ -457,6 +459,8 @@ void RefereeBase::chassisCmdDataCallback(const rm_msgs::ChassisCmd::ConstPtr& da
457459
spin_flash_ui_->updateChassisCmdData(data, ros::Time::now());
458460
if (deploy_flash_ui_ && !is_adding_)
459461
deploy_flash_ui_->updateChassisCmdData(data, ros::Time::now());
462+
if (wireless_flash_ui_ && !is_adding_)
463+
wireless_flash_ui_->updateChassisCmdData(data, ros::Time::now());
460464
if (rotation_time_change_ui_ && !is_adding_)
461465
rotation_time_change_ui_->updateChassisCmdData(data);
462466
}

rm_referee/src/ui/flash_ui.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,20 @@ void DeployFlashUi::updateChassisVelData(const geometry_msgs::Twist::ConstPtr& d
184184
angular_z_ = data->angular.z;
185185
}
186186

187+
void WirelessFlashUi::display(const ros::Time& time)
188+
{
189+
if (!(wireless_state_))
190+
graph_->setOperation(rm_referee::GraphOperation::DELETE);
191+
FlashUi::updateFlashUiForQueue(time, (wireless_state_), false);
192+
}
193+
194+
void WirelessFlashUi::updateChassisCmdData(const rm_msgs::ChassisCmd::ConstPtr& data,
195+
const ros::Time& last_get_data_time)
196+
{
197+
wireless_state_ = data->wireless_state;
198+
display(last_get_data_time);
199+
}
200+
187201
void HeroHitFlashUi::updateHittingConfig(const rm_msgs::GameRobotHp& msg)
188202
{
189203
if (base_.robot_id_ > 100)

0 commit comments

Comments
 (0)