8#include "std_msgs/String.h"
16 std::deque<Graph>* graph_queue, std::deque<Graph>* character_queue)
17 :
UiBase(rpc_value, base, graph_queue, character_queue)
19 if (graph_name ==
"chassis")
24 virtual void updateConfig(uint8_t main_mode,
bool main_flag, uint8_t sub_mode = 0,
bool sub_flag =
false){};
34 std::deque<Graph>* graph_queue, std::deque<Graph>* character_queue)
35 :
GroupUiBase(rpc_value, base, graph_queue, character_queue)
39 virtual void updateConfig(uint8_t main_mode,
bool main_flag, uint8_t sub_mode = 0,
bool sub_flag =
false){};
52 std::deque<Graph>* character_queue)
53 :
TriggerChangeUi(rpc_value, base,
"chassis", graph_queue, character_queue)
60 if (rpc_value.hasMember(
"mode_change_threshold"))
61 mode_change_threshold_ =
static_cast<double>(rpc_value[
"mode_change_threshold"]);
63 mode_change_threshold_ = 0.7;
72 void update()
override;
73 void updateConfig(uint8_t main_mode,
bool main_flag, uint8_t sub_mode = 0,
bool sub_flag =
false,
74 bool extra_flag =
false);
75 void displayInCapacity();
76 std::string getChassisState(uint8_t mode);
77 uint8_t chassis_mode_, power_limit_state_, s_l_, s_r_, key_ctrl_, key_shift_, key_b_;
78 double mode_change_threshold_;
85 std::deque<Graph>* character_queue)
86 :
TriggerChangeUi(rpc_value, base,
"hero_leg_mode", graph_queue, character_queue)
94 void update()
override;
95 void updateConfig(uint8_t main_mode,
bool main_flag, uint8_t sub_mode = 0,
bool sub_flag =
false)
override;
96 std::string getHeroLegState(uint8_t mode);
104 std::deque<Graph>* character_queue)
105 :
TriggerChangeUi(rpc_value, base,
"shooter", graph_queue, character_queue)
113 void update()
override;
114 void updateConfig(uint8_t main_mode,
bool main_flag, uint8_t sub_mode = 0,
bool sub_flag =
false)
override;
115 std::string getShooterState(uint8_t mode);
116 uint8_t shooter_mode_, shoot_frequency_;
123 std::deque<Graph>* character_queue)
124 :
TriggerChangeUi(rpc_value, base,
"gimbal", graph_queue, character_queue)
132 void update()
override;
133 void updateConfig(uint8_t main_mode,
bool main_flag, uint8_t sub_mode = 0,
bool sub_flag =
false)
override;
134 std::string getGimbalState(uint8_t mode);
135 uint8_t gimbal_mode_, gimbal_eject_;
142 std::deque<Graph>* character_queue)
143 :
TriggerChangeUi(rpc_value, base,
"target", graph_queue, character_queue)
155 void update()
override;
156 void updateConfig(uint8_t main_mode,
bool main_flag, uint8_t sub_mode = 0,
bool sub_flag =
false)
override;
157 std::string getTargetState(uint8_t target, uint8_t armor_target);
158 uint8_t det_target_, shoot_frequency_, det_armor_target_, det_color_, gimbal_eject_;
165 std::deque<Graph>* character_queue)
166 :
TriggerChangeUi(rpc_value, base,
"target_scale", graph_queue, character_queue)
172 void update()
override;
173 void updateConfig(uint8_t main_mode,
bool main_flag, uint8_t sub_mode = 0,
bool sub_flag =
false)
override;
181 std::deque<Graph>* character_queue)
184 ROS_ASSERT(rpc_value.hasMember(
"points"));
185 XmlRpc::XmlRpcValue config;
187 config[
"type"] =
"line";
189 if (rpc_value[
"graph_config"].hasMember(
"color"))
190 config[
"color"] = rpc_value[
"graph_config"][
"color"];
192 config[
"color"] =
"cyan";
193 if (rpc_value[
"graph_config"].hasMember(
"width"))
194 config[
"width"] = rpc_value[
"graph_config"][
"width"];
197 XmlRpc::XmlRpcValue points = rpc_value[
"points"];
198 config[
"start_position"].setSize(2);
199 config[
"end_position"].setSize(2);
200 for (
int i = 1; i <= points.size(); i++)
202 if (i != points.size())
204 config[
"start_position"][0] = points[i - 1][0];
205 config[
"start_position"][1] = points[i - 1][1];
206 config[
"end_position"][0] = points[i][0];
207 config[
"end_position"][1] = points[i][1];
212 config[
"start_position"][0] = points[i - 1][0];
213 config[
"start_position"][1] = points[i - 1][1];
214 config[
"end_position"][0] = points[0][0];
215 config[
"end_position"][1] = points[0][1];
218 std::make_pair<std::string, Graph*>(
"graph_" + std::to_string(i),
new Graph(config,
base_,
id_++)));
228 std::deque<Graph>* character_queue)
229 :
TriggerChangeUi(rpc_value, base,
"camera", graph_queue, character_queue)
231 if (rpc_value.hasMember(
"camera_name"))
233 XmlRpc::XmlRpcValue& data = rpc_value[
"camera_name"];
234 camera1_name_ = static_cast<std::string>(data[
"camera1_name"]);
235 camera2_name_ = static_cast<std::string>(data[
"camera2_name"]);
238 ROS_WARN(
"Camera config 's member 'camera_name' not defined.");
244 void update()
override;
245 void updateConfig(uint8_t main_mode = 0,
bool main_flag =
false, uint8_t sub_mode = 0,
bool sub_flag =
false)
override;
246 std::string current_camera_{}, camera1_name_{}, camera2_name_{};
253 std::deque<Graph>* graph_queue, std::deque<Graph>* character_queue)
254 :
TriggerChangeUi(rpc_value, base, name, graph_queue, character_queue){};
258 void update()
override;
266 std::deque<Graph>* character_queue)
267 :
TriggerChangeUi(rpc_value, base,
"friction_speed", graph_queue, character_queue){};
271 void update()
override;
279 std::deque<Graph>* graph_queue, std::deque<Graph>* character_queue)
282 if (rpc_value.hasMember(
"data"))
284 XmlRpc::XmlRpcValue& data = rpc_value[
"data"];
285 for (int i = 0; i < static_cast<int>(rpc_value[
"data"].size()); i++)
287 graph_vector_.insert(
288 std::pair<std::string, Graph*>(std::to_string(i), new Graph(data[i][
"config"], base_, id_++)));
292 void updateUiColor(
const std::vector<bool>& data);
295 void update()
override;
std::string robot_color_
Definition data.h:127
int robot_id_
Definition data.h:125
Definition trigger_change_ui.h:225
void updateCameraName(const std_msgs::StringConstPtr &data)
Definition trigger_change_ui.cpp:440
CameraTriggerChangeUi(XmlRpc::XmlRpcValue &rpc_value, Base &base, std::deque< Graph > *graph_queue, std::deque< Graph > *character_queue)
Definition trigger_change_ui.h:227
Definition trigger_change_ui.h:49
void updateDbusData(const rm_msgs::DbusData::ConstPtr &data)
Definition trigger_change_ui.cpp:218
void checkModeChange()
Definition trigger_change_ui.cpp:107
ChassisTriggerChangeUi(XmlRpc::XmlRpcValue &rpc_value, Base &base, std::deque< Graph > *graph_queue, std::deque< Graph > *character_queue)
Definition trigger_change_ui.h:51
void updateChassisCmdData(const rm_msgs::ChassisCmd::ConstPtr &data)
Definition trigger_change_ui.cpp:207
void updateCapacityResetStatus()
Definition trigger_change_ui.cpp:227
void updateManualCmdData(const rm_msgs::ManualToReferee::ConstPtr data) override
Definition trigger_change_ui.cpp:213
Definition trigger_change_ui.h:263
FrictionSpeedTriggerChangeUi(XmlRpc::XmlRpcValue &rpc_value, Base &base, std::deque< Graph > *graph_queue, std::deque< Graph > *character_queue)
Definition trigger_change_ui.h:265
void updateFrictionSpeedUiData(const rm_msgs::ShootCmdConstPtr &data)
Definition trigger_change_ui.cpp:478
Definition trigger_change_ui.h:120
void updateManualCmdData(const rm_msgs::ManualToReferee::ConstPtr data) override
Definition trigger_change_ui.cpp:342
void updateGimbalCmdData(const rm_msgs::GimbalCmd ::ConstPtr &data)
Definition trigger_change_ui.cpp:336
GimbalTriggerChangeUi(XmlRpc::XmlRpcValue &rpc_value, Base &base, std::deque< Graph > *graph_queue, std::deque< Graph > *character_queue)
Definition trigger_change_ui.h:122
void setColor(const rm_referee::GraphColor &color)
Definition graph.h:34
void setContent(const std::string &content)
Definition graph.h:38
std::map< std::string, Graph * > graph_vector_
Definition ui_base.h:93
Definition trigger_change_ui.h:82
void updateMode(uint8_t mode)
Definition trigger_change_ui.cpp:232
HeroLegTriggerChangeUi(XmlRpc::XmlRpcValue &rpc_value, Base &base, std::deque< Graph > *graph_queue, std::deque< Graph > *character_queue)
Definition trigger_change_ui.h:84
Definition trigger_change_ui.h:178
PolygonTriggerChangeGroupUi(XmlRpc::XmlRpcValue &rpc_value, Base &base, std::deque< Graph > *graph_queue, std::deque< Graph > *character_queue)
Definition trigger_change_ui.h:180
void update() override
Definition trigger_change_ui.cpp:433
Definition trigger_change_ui.h:101
ShooterTriggerChangeUi(XmlRpc::XmlRpcValue &rpc_value, Base &base, std::deque< Graph > *graph_queue, std::deque< Graph > *character_queue)
Definition trigger_change_ui.h:103
void updateShootStateData(const rm_msgs::ShootState::ConstPtr &data)
Definition trigger_change_ui.cpp:296
void updateManualCmdData(const rm_msgs::ManualToReferee::ConstPtr data) override
Definition trigger_change_ui.cpp:302
Definition trigger_change_ui.h:250
void updateStringUiData(const std::string &data)
Definition trigger_change_ui.cpp:464
StringTriggerChangeUi(XmlRpc::XmlRpcValue &rpc_value, Base &base, const std::string &name, std::deque< Graph > *graph_queue, std::deque< Graph > *character_queue)
Definition trigger_change_ui.h:252
Definition trigger_change_ui.h:139
void updateManualCmdData(const rm_msgs::ManualToReferee::ConstPtr data) override
Definition trigger_change_ui.cpp:398
void updateShootStateData(const rm_msgs::ShootState::ConstPtr &data)
Definition trigger_change_ui.cpp:407
TargetTriggerChangeUi(XmlRpc::XmlRpcValue &rpc_value, Base &base, std::deque< Graph > *graph_queue, std::deque< Graph > *character_queue)
Definition trigger_change_ui.h:141
Definition trigger_change_ui.h:162
void updateTrackID(int id)
Definition trigger_change_ui.cpp:427
TargetViewAngleTriggerChangeUi(XmlRpc::XmlRpcValue &rpc_value, Base &base, std::deque< Graph > *graph_queue, std::deque< Graph > *character_queue)
Definition trigger_change_ui.h:164
Definition trigger_change_ui.h:31
TriggerChangeGroupUi(XmlRpc::XmlRpcValue &rpc_value, Base &base, const std::string &graph_name, std::deque< Graph > *graph_queue, std::deque< Graph > *character_queue)
Definition trigger_change_ui.h:33
void updateTwiceForQueue(bool check_repeat=true)
Definition trigger_change_ui.cpp:60
void updateForQueue() override
Definition trigger_change_ui.cpp:33
std::string graph_name_
Definition trigger_change_ui.h:45
virtual void updateConfig(uint8_t main_mode, bool main_flag, uint8_t sub_mode=0, bool sub_flag=false)
Definition trigger_change_ui.h:39
Definition trigger_change_ui.h:13
TriggerChangeUi(XmlRpc::XmlRpcValue &rpc_value, Base &base, const std::string &graph_name, std::deque< Graph > *graph_queue, std::deque< Graph > *character_queue)
Definition trigger_change_ui.h:15
void updateTwiceForQueue(bool check_repeat=true)
Definition trigger_change_ui.cpp:23
virtual void updateConfig(uint8_t main_mode, bool main_flag, uint8_t sub_mode=0, bool sub_flag=false)
Definition trigger_change_ui.h:24
void updateForQueue() override
Definition trigger_change_ui.cpp:9
Graph * graph_
Definition ui_base.h:59
static int id_
Definition ui_base.h:60
Base & base_
Definition ui_base.h:58
Definition trigger_change_ui.h:276
VisualizeStateTriggerChangeUi(XmlRpc::XmlRpcValue &rpc_value, Base &base, const std::string &name, std::deque< Graph > *graph_queue, std::deque< Graph > *character_queue)
Definition trigger_change_ui.h:278
@ PINK
Definition protocol.h:166
@ YELLOW
Definition protocol.h:162
@ CYAN
Definition protocol.h:167
@ BLUE_ENGINEER
Definition protocol.h:124
@ RED_ENGINEER
Definition protocol.h:114