From 770a13c3b48415ee4fce00089122d309b43c84e1 Mon Sep 17 00:00:00 2001 From: Michal Sojka Date: Sat, 1 May 2010 11:45:24 +0200 Subject: [PATCH] robomon: Add color chooser --- src/robomon/RobomonAtlantis.cpp | 12 ++++++++++-- src/robomon/RobomonAtlantis.h | 3 ++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/robomon/RobomonAtlantis.cpp b/src/robomon/RobomonAtlantis.cpp index 176bb33a..cbc835b3 100644 --- a/src/robomon/RobomonAtlantis.cpp +++ b/src/robomon/RobomonAtlantis.cpp @@ -176,8 +176,8 @@ void RobomonAtlantis::createMiscGroupBox() startPlug = new QCheckBox("Start plug"); layout->addWidget(startPlug); - puckInside = new QCheckBox("Puck inside"); - layout->addWidget(puckInside); + colorChoser = new QCheckBox("Team color"); + layout->addWidget(colorChoser); miscGroupBox->setLayout(layout); } @@ -369,6 +369,7 @@ void RobomonAtlantis::createActions() // this, SLOT(stopMotors())); connect(startPlug, SIGNAL(stateChanged(int)), this, SLOT(sendStart(int))); + connect(colorChoser, SIGNAL(stateChanged(int)), this, SLOT(setTeamColor(int))); /* obstacle simulation */ simulationEnabled = 0; @@ -780,6 +781,7 @@ void RobomonAtlantis::createOrte() robottype_publisher_pwr_ctrl_create(&orte, dummy_publisher_callback, NULL); robottype_publisher_robot_cmd_create(&orte, NULL, &orte); + robottype_publisher_robot_switches_create(&orte, dummy_publisher_callback, &orte); /* subscribers */ robottype_subscriber_pwr_voltage_create(&orte, @@ -967,6 +969,12 @@ void RobomonAtlantis::sendStart(int plug) ORTEPublicationSend(orte.publication_robot_cmd); } +void RobomonAtlantis::setTeamColor(int plug) +{ + orte.robot_switches.team_color = plug ? 1 : 0; + ORTEPublicationSend(orte.publication_robot_switches); +} + void RobomonAtlantis::resetTrails() { trailRefPos->reset(); diff --git a/src/robomon/RobomonAtlantis.h b/src/robomon/RobomonAtlantis.h index dca085fc..8a762c70 100644 --- a/src/robomon/RobomonAtlantis.h +++ b/src/robomon/RobomonAtlantis.h @@ -77,6 +77,7 @@ private slots: void simulateObstaclesHokuyo(); void changeObstacle(QPointF position); void sendStart(int plug); + void setTeamColor(int plug); /************************************************************ * ORTE @@ -157,7 +158,7 @@ private: QLabel *fsm_act_state; QLabel *fsm_motion_state; QCheckBox *startPlug; - QCheckBox *puckInside; + QCheckBox *colorChoser; public: /* robot */ Robot *robotRefPos; -- 2.39.2