]> rtime.felk.cvut.cz Git - eurobot/public.git/commitdiff
robomon: Add color chooser
authorMichal Sojka <sojkam1@fel.cvut.cz>
Sat, 1 May 2010 09:45:24 +0000 (11:45 +0200)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Sat, 1 May 2010 09:45:24 +0000 (11:45 +0200)
src/robomon/RobomonAtlantis.cpp
src/robomon/RobomonAtlantis.h

index 176bb33a9a3849b5c06a4ef6357ca7cad70a9819..cbc835b3bc64b107dba2d2f6dc03e5d5e8977a20 100644 (file)
@@ -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();
index dca085fc8830087aeb28a7e4b1a6a76fd089b603..8a762c70362157ca2819f3d5f241d9295db24551 100644 (file)
@@ -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;