Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Fork of Robocode by
Diff: source/Main.cpp
- Revision:
- 38:3526c36e4c73
- Parent:
- 37:20e0e2487efc
- Child:
- 39:92723f7ea54f
--- a/source/Main.cpp Tue Apr 04 11:58:34 2017 +0000
+++ b/source/Main.cpp Tue Apr 04 15:01:59 2017 +0000
@@ -1,6 +1,4 @@
-#include "mbed.h"
-#include "Pathfinding.h"
-#include "Robot.h"
+#include "Main.h"
int state = 200;
@@ -22,19 +20,17 @@
//This functions will be called every cycle, use for safety and sensor functipons
//*******************************************************************************
- /* safty() {
-
- }
+ safety();
- scanning() {
- }
- */
+ //scanning();
+
+
if(positioning_state) {
- // positioning();
+ positioning();
}
if(mapping_state) {
- // mapping();
+ mapping();
}
//*******************************************************************************
@@ -46,124 +42,129 @@
//State and Transition Table can be found in the State_Machine.xlsx
//*******************************************************************************
switch (state) {
- /* case 0:
- state = emergency_shutdown();
- break;
- case 1:
- state = colision_detected();
- break;
- case 2:
- state = current_to_high();
- break;
- case 3:
- state = overheating();
- break;
+ case 0:
+ state = emergency_shutdown();
+ break;
+ case 1:
+ state = colision_detected();
+ break;
+ case 2:
+ state = current_to_high();
+ break;
+ case 3:
+ state = overheating();
+ break;
- case 10:
- state = idel();
- break;
- case 11:
- state = idel2();
- break;
+ case 10:
+ state = idel();
+ break;
+ case 11:
+ state = idel2();
+ break;
+
+
+ case 15:
+ state = initialisation();
+ break;
+ case 16:
+ state = engage_motors();
+ break;
+ case 17:
+ state = test_servos();
+ break;
+ case 18:
+ state = inital_positioning();
+ break;
- case 15:
- state = initialisation();
- break;
- case 16:
- state = engage_motors();
- break;
- case 17:
- state = test_servos();
- break;
- case 18:
- state = inital_positioning();
- break;
+ case 25:
+ state = start_positioning();
+ positioning_state = 1;
+ break;
+ case 26:
+ state = start_mapping();
+ mapping_state = 1;
+ break;
+ case 27:
+ state = initial_turn();
+ break;
+
+/*
+ case 35:
+ state = select_target();
+ break;
+ case 36:
+ state = pathfinding();
+ break;
+ case 37:
+ state = remove_target();
+ break;
+*/
- case 25:
- state = start_positioning();
- break;
- case 26:
- state = start_mapping();
- break;
- case 27:
- state = initial_turn();
- break;
+ case 40:
+ state = moving();
+ break;
+ case 41:
+ state = moving_forward_for_distance();
+ break;
+ case 42:
+ state = moving_backward_for_distance();
+ break;
+ case 43:
+ state = turn_left_for_deg();
+ break;
+ case 44:
+ state = turn_right_for_deg();
+ break;
+
+ case 46:
+ state = move_to_next_coord();
+ break;
+ case 47:
+ state = move_in_search_for_brick();
+ break;
- case 35:
- state = select_target();
- break;
- case 36:
- state = pathfinding();
- break;
- case 37:
- state = remove_target();
- break;
+ case 50:
+ state = grabbing();
+ break;
+ case 51:
+ state = arm_position_move();
+ break;
+ case 52:
+ state = arm_position_grabbing();
+ break;
+ case 53:
+ state = arm_position_release();
+ break;
+
+ case 55:
+ state = oben_grabber();
+ break;
+ case 56:
+ state = close_grabber();
+ break;
+ case 57:
+ state = test_color();
+
+ case 99:
+ sate = init();
+ break;
+ case 100:
+ state = turn_left(30);
+ break;
+ case 101:
+ state = turn_right_for_brick;
+ break;
+ case 102:
+ state = move_to_brick;
- case 40:
- state = moving();
- break;
- case 41:
- state = moving_forward_for_distance();
- break;
- case 42:
- state = moving_backward_for_distance();
- break;
- case 43:
- state = turn_left_for_deg();
- break;
- case 44:
- state = turn_right_for_deg();
- break;
-
- case 46:
- state = move_to_next_coord();
- break;
- case 47:
- state = move_in_search_for_brick();
- break;
-
-
- case 50:
- state = grabbing();
- break;
- case 51:
- state = arm_position_move();
- break;
- case 52:
- state = arm_position_grabbing();
- break;
- case 53:
- state = arm_position_release();
- break;
-
- case 55:
- state = oben_grabber();
- break;
- case 56:
- state = close_grabber();
- break;
- case 57:
- state = test_color();
-
- case 99:
- sate = init();
- break;
- case 100:
- state = turn_left(30);
- break;
- case 101:
- state = turn_right_for_brick;
- break;
- case 102:
- state = move_to_brick;
-
- */ case 200:
+//test states
+ case 200:
state = IMU();
break;
default:
@@ -185,6 +186,8 @@
Robot_init_all();
return 100;
}
+
+
/*
int turn_left(float deg)
{
