summaryrefslogtreecommitdiffstats
path: root/source/Concept/Framework/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/Concept/Framework/main.c')
-rwxr-xr-xsource/Concept/Framework/main.c86
1 files changed, 61 insertions, 25 deletions
diff --git a/source/Concept/Framework/main.c b/source/Concept/Framework/main.c
index b0fc96b..1875847 100755
--- a/source/Concept/Framework/main.c
+++ b/source/Concept/Framework/main.c
@@ -39,6 +39,22 @@ int main()
newKicker = NULL;
}
+ //Init Aktuator
+ for(uint8 i = IO_AKTUATOR_START; i < IO_AKTUATOR_END; i++)
+ {
+ Aktuator* newAktuator = new Aktuator(i);
+ localRobot->AddModule(newAktuator);
+ newAktuator = NULL;
+ }
+
+ //Init Wireless
+ for(uint8 i = IO_WIRELESS_START; i < IO_WIRELESS_END; i++)
+ {
+ Wireless* newWireless = new Wireless(i);
+ localRobot->AddModule(newWireless);
+ newWireless = NULL;
+ }
+
//Init Sensors
for(uint8 i = IO_SENSOR_START; i < IO_SENSOR_END; i++)
{
@@ -130,6 +146,14 @@ int main()
newNavigator = NULL;
}
+ //Init Logics
+ for(uint8 i = IO_LOGIC_START; i < IO_LOGIC_END; i++)
+ {
+ Logic* newLogic = new Logic(i);
+ localRobot->AddModule(newLogic);
+ newLogic = NULL;
+ }
+
sleep(1);
//Debug code
@@ -146,8 +170,14 @@ int main()
uint32 i = 1;
Navigator* ourNavigator = localRobot->GetModule<Navigator>(IO_NAVIGATOR_MAIN);
Position_Tracker* ourPosition_Tracker = localRobot->GetModule<Position_Tracker>(IO_POSITION_TRACKER_MAIN);
+ Ball_Tracker* ourBallTracker = localRobot->GetModule<Ball_Tracker>(IO_BALL_TRACKER_MAIN);
+ Dribbler* ourDribbler = localRobot->GetModule<Dribbler>(IO_DRIBBLER_MAIN);
+ ourDribbler->SetSpeed(1);
+ ourDribbler->SetEnabled(true);
+ Aktuator* ourAktuator = localRobot->GetModule<Aktuator>(IO_AKTUATOR_MAIN);
float rotation = 0;
+ float speed = 200;
//Mouse_Sensor* mouse_left = localRobot->GetModule<Mouse_Sensor>(IO_SENSOR_MOUSE_LEFT);
//Mouse_Sensor* mouse_right = localRobot->GetModule<Mouse_Sensor>(IO_SENSOR_MOUSE_RIGHT);
@@ -157,19 +187,26 @@ int main()
while(true)
{
ourDisplay->Print(i++,1,1);
+
+ msleep(100);
- if(!(i % 200))
+ if(!(i % 1))
{
ourDisplay->Clear();
- ourDisplay->PrintFloat(ourPosition_Tracker->GetPositionX(),1,2);
- ourDisplay->PrintFloat(ourPosition_Tracker->GetPositionY(),1,3);
- ourDisplay->PrintFloat(ourPosition_Tracker->GetOrientation() * 180.0f / PI,1,4);
+ //ourDisplay->Print(ourPosition_Tracker->GetPositionX(),1,2);
+ //ourDisplay->Print(ourPosition_Tracker->GetPositionY(),1,3);
+ //ourDisplay->Print(ourPosition_Tracker->GetOrientation() * 180.0f / PI,1,4);
+ }
+
+ if(!(i % 50))
+ {
+ ourAktuator->Kick();
}
- /*distanceSensor = localRobot->GetModule<Distance_Sensor>(IO_SENSOR_DISTANCE_0_DEG);
+ distanceSensor = localRobot->GetModule<Distance_Sensor>(IO_SENSOR_DISTANCE_0_DEG);
value = distanceSensor->GetDistance();
- ourDisplay->Print(value, 1, 4);
+ ourDisplay->Print(value, 1, 2);
ourDisplay->Print(";");
distanceSensor = localRobot->GetModule<Distance_Sensor>(IO_SENSOR_DISTANCE_90_DEG);
value = distanceSensor->GetDistance();
@@ -177,12 +214,12 @@ int main()
ourDisplay->Print(";");
distanceSensor = localRobot->GetModule<Distance_Sensor>(IO_SENSOR_DISTANCE_180_DEG);
value = distanceSensor->GetDistance();
- ourDisplay->Print(value);
+ ourDisplay->Print(value, 1, 3);
ourDisplay->Print(";");
distanceSensor = localRobot->GetModule<Distance_Sensor>(IO_SENSOR_DISTANCE_270_DEG);
value = distanceSensor->GetDistance();
ourDisplay->Print(value);
- ourDisplay->Print(";"); */
+ ourDisplay->Print(";");
uint8 someInput = ourKeyboard->GetInput();
//ourDisplay->Print("Ready to accept...", 1, 2);
@@ -190,46 +227,45 @@ int main()
{
case 0:
ourNavigator->Stop();
+ return 0;
break;
case 1:
- ourNavigator->Drive(225, rotation, 100, rotation);
+ ourNavigator->Drive(225, rotation, speed, rotation);
break;
case 2:
- ourNavigator->Drive(180, rotation, 100, rotation);
+ ourNavigator->Drive(180, rotation, speed, rotation);
break;
case 3:
- ourNavigator->Drive(135, rotation, 100, rotation);
+ ourNavigator->Drive(135, rotation, speed, rotation);
break;
case 4:
- ourNavigator->Drive(270, rotation, 100, rotation);
+ ourNavigator->Drive(270, rotation, speed, rotation);
break;
case 5:
ourNavigator->Drive(0, rotation, 0, rotation);
break;
case 6:
- ourNavigator->Drive(90, rotation, 100, rotation);
+ ourNavigator->Drive(90, rotation, speed, rotation);
break;
case 7:
- ourNavigator->Drive(315, rotation, 100, rotation);
+ ourNavigator->Drive(315, rotation, speed, rotation);
break;
case 8:
- ourNavigator->Drive(0, rotation, 100, rotation);
+ ourNavigator->Drive(0, rotation, speed, rotation);
break;
case 9:
- ourNavigator->Drive(45, rotation, 100, rotation);
+ ourNavigator->Drive(45, rotation, speed, rotation);
break;
case 10:
- rotation += 10;
+ ourPosition_Tracker->SetPosition(0,0,0); // Reset Position_Tracker
break;
case 12:
- rotation -= 10;
+ ourPosition_Tracker->SetPosition(0,0,0); // Reset Position_Tracker
break;
}
- /*
//ourDisplay->Clear();
- ourDisplay->Print(i++,1,1);
- ourSensor = localRobot->GetModule<IR_Sensor>(IO_SENSOR_IR_0_DEG);
+ /*ourSensor = localRobot->GetModule<IR_Sensor>(IO_SENSOR_IR_0_DEG);
value = ourSensor->GetIRIntensity();
ourDisplay->Print(value, 1, 2);
ourDisplay->Print(";");
@@ -260,13 +296,13 @@ int main()
ourSensor = localRobot->GetModule<IR_Sensor>(IO_SENSOR_IR_330_DEG);
value = ourSensor->GetIRIntensity();
ourDisplay->Print(value);
- ourDisplay->Print(";");
+ ourDisplay->Print(";");*/
- msleep(500);
- */
localRobot->Update();
- //ourDisplay->PrintFloat(ourBallTracker->GetBallDirection(), 1, 4);
+ //ourDisplay->Print(ourBallTracker->GetBallDirection() * 180.0f / PI, 1, 4);
+
+ //ourNavigator->Drive(ourBallTracker->GetBallDirection() * 180.0f / PI, 0, 255, 0);
}
//Cleanup