summaryrefslogtreecommitdiff
path: root/digital
diff options
context:
space:
mode:
authorNélio Laranjeiro2008-03-22 16:10:29 +0100
committerNélio Laranjeiro2008-03-22 16:10:29 +0100
commitd33d50de945f17027ca4164eff05c089b264d7d6 (patch)
treeb8442cc5a046d439db80b754618c299ccbda7db3 /digital
parentce78d1798884aa59df3fb820ed9406e111f7ce2c (diff)
Removed the loadsample fsm, it is integretated with the getsamples FSM.
Diffstat (limited to 'digital')
-rw-r--r--digital/io/src/getsamples/getSamplesFsm.fsm44
-rw-r--r--digital/io/src/loadsamples/Makefile23
-rw-r--r--digital/io/src/loadsamples/loadsamples.conf5
-rw-r--r--digital/io/src/loadsamples/loadsamples.fsm24
4 files changed, 26 insertions, 70 deletions
diff --git a/digital/io/src/getsamples/getSamplesFsm.fsm b/digital/io/src/getsamples/getSamplesFsm.fsm
index 3ffc8377..e0862263 100644
--- a/digital/io/src/getsamples/getSamplesFsm.fsm
+++ b/digital/io/src/getsamples/getSamplesFsm.fsm
@@ -5,30 +5,38 @@ States:
GO_TO_POSITION
PREPARE_ARM
FORWARD_CONTROL
- PREPARE_CLASSIFIER
- LOAD_SAMPLES
+ TAKE_SAMPLES
+ CLASSIFY
+ BACKWARD
+ END
Events:
- move_finished
- move_blocked
- arm_prepared
- ready_to_load
- classifer_prepared
- sample_loaded
+ position_reached
+ position_failed
+ arm_moved
+ sample_took
+ classifier_ready
GO_TO_POSITION:
- move_finished -> FORWARD_CONTROL
+ position_reached -> PREPARE_ARM
Go to the position desired, it is very near the position of the distributor in case it is a ice distributor or sample distributor.
- move_blocked -> .
+ position_failed -> GO_TO_POSITION
+ Go to another point before trying to go to this one again.
+
+PREPARE_ARM:
+ arm_moved -> FORWARD_CONTROL
+ Prepare the arm to the correct position.
FORWARD_CONTROL:
- move_finished -> PREPARE_ARM
- The position is reached the arm shall be seted to the position disired.
+ position_reached -> TAKE_SAMPLES
+ End the position to the distributor.
-PREPARE_ARM:
- arm_prepared -> PREPARE_CLASSIFIER
- Prepare the arm to load the samples.
+TAKE_SAMPLES:
+ sample_took: nb_samples < quantity -> .
+ Continue to take samples and classify the next sample.
+ sample_took: nb_samples == quantity -> BACKWARD
+ If the quantity of samples are tooked, then go backeward and conitnue classifying the samples.
-PREPARE_CLASSIFIER:
- classifer_prepared -> LOAD_SAMPLES
- Load some samples.
+BACKWARD:
+ position_reached -> END
+ Ending this state machine.
diff --git a/digital/io/src/loadsamples/Makefile b/digital/io/src/loadsamples/Makefile
deleted file mode 100644
index 8a2fba73..00000000
--- a/digital/io/src/loadsamples/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-CFLAGS = -O2 -Wall
-
-all: loadsamples loadsamples.png
-
-loadsamples: loadsamples.o loadsamples.o
-
-loadsamples.c: loadsamples.fsm loadsamples.conf
- python ../../../../tools/dfagen/dfagen.py -o c -d loadsamples.fsm -c loadsamples.conf -p loadsamples
-
-loadsamples.h loadsamples.cb_skel.c loadsamples.cb.h: loadsamples.c
-
-loadsamples.o: loadsamples.cb.h loadsamples.h
-loadsamples_cb.o: loadsamples.cb.h loadsamples.h
-
-%.dot: %.fsm
- python ../../../../tools/dfagen/dfagen.py -o dot -d $< -p $(@:%.dot=%)
-
-%.png: %.dot
- dot -Tpng $< -o $@
-
-clean:
- rm -f loadsamples loadsamples.o loadballs_cb.o loadsamples.c loadsamples.h loadsamples_cb_skel.c loadsamples_cb.h loadsamples_cb.c
- rm -f loadsamples.dot loadsamples.png
diff --git a/digital/io/src/loadsamples/loadsamples.conf b/digital/io/src/loadsamples/loadsamples.conf
deleted file mode 100644
index 74c0a579..00000000
--- a/digital/io/src/loadsamples/loadsamples.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-[user]
-type = loadsamples_t
-type-forward-decl = typedef struct loadsamples_t loadsamples_t;
-type-decl = struct loadsamples_t { loadsamples_state_t fsm; };
-field = fsm
diff --git a/digital/io/src/loadsamples/loadsamples.fsm b/digital/io/src/loadsamples/loadsamples.fsm
deleted file mode 100644
index f7686bce..00000000
--- a/digital/io/src/loadsamples/loadsamples.fsm
+++ /dev/null
@@ -1,24 +0,0 @@
-#The loadsamples state.
-loadsamples
-
-States:
- ROTATE_ARM
- GO_BACKWARD
- ARM_INIT
-
-Events:
- arm_stopped
- move_finished
- move_blocked
-
-ROTATE_ARM:
- arm_stopped -> GO_BACKWARD
- Request the robot to go backward.
-
-GO_BACKWARD:
- move_finished -> ARM_INIT
- When the move is finished the ARM shall be reset to its init position.
-
-ARM_INIT:
- move_finished -> .
- This procedure is finish.