summaryrefslogtreecommitdiffhomepage
path: root/digital/io/src/top.fsm
diff options
context:
space:
mode:
authorNélio Laranjeiro2008-04-12 02:03:38 +0200
committerNélio Laranjeiro2008-04-12 02:03:38 +0200
commit3c7512d1619b2e73424790f157aec3926e39e838 (patch)
treece237207867f09cc64e262db198a7d307358bd7e /digital/io/src/top.fsm
parent1dd17a56e081e19dd1f8de9ea2035a6f4d83d1db (diff)
Update the fsms.
Diffstat (limited to 'digital/io/src/top.fsm')
-rw-r--r--digital/io/src/top.fsm39
1 files changed, 17 insertions, 22 deletions
diff --git a/digital/io/src/top.fsm b/digital/io/src/top.fsm
index 1da78745..21a6923f 100644
--- a/digital/io/src/top.fsm
+++ b/digital/io/src/top.fsm
@@ -4,9 +4,10 @@ top
States:
START
GET_SAMPLES
- GET_ICE
GO_TO_GOAL
+ GET_ICE
GET_ADV_ICE
+ BACKWARD
Events:
ok
@@ -14,39 +15,33 @@ Events:
collector_full
ice_took
samples_deposed
- samples_took_ice_distributor_empty_not_enough_time
- samples_took_ice_distributor_empty_enough_time
- samples_deposed_ice_distributor_empty
- ice_took_collector_full
- not_enough_time
- ice_took_collector_not_full
+ ice_dist_empty
+ ended
START:
ok -> GET_SAMPLES
Go to take some samples. The sequence shall be adapt to take the correct number of samples.
GET_SAMPLES:
- samples_took -> GET_ICE
+ samples_took -> BACKWARD
The samples had been took and now the ice is missing.
- samples_took_ice_distributor_empty_not_enough_time -> GO_TO_GOAL
- Some samples had been took and there is not enough time to get some ice.
- samples_took_ice_distributor_empty_enough_time -> GET_ADV_ICE
- Go to take ice in the adversary distributor because the one in our part of the table is empty.
- collector_full -> GO_TO_GOAL
- All the room in the robot are full.
GET_ICE:
- ice_took -> GO_TO_GOAL
- The ice had been taken and the collector is full. The robot shall go to depose it into the goal.
+ ice_took -> BACKWARD
+ Go backward to end the take balls.
GO_TO_GOAL:
samples_deposed -> GET_SAMPLES
The samples had been deposed, it shall try to get more samples. This state will call the getsamples FSM and the moveFSM.
- samples_deposed_ice_distributor_empty -> GET_ADV_ICE
- Go to get some adversary ice because our distributor is empty.
GET_ADV_ICE:
- ice_took -> GO_TO_GOAL
- The ice has been taken, now the robot shall depose it.
- ice_took_collector_not_full -> GET_SAMPLES
- There is enough time to get some samples and go to the goal.
+ ice_took -> BACKWARD
+ The ice has been taken.
+
+BACKWARD:
+ ended -> GET_ICE
+ Get ICE to end the sequence.
+ collector_full -> GO_TO_GOAL
+ Go the goal to depose the samples.
+ ice_dist_empty -> GET_ADV_ICE
+ Go to take the ice in the adversary distributor because our is empty.