From 9d3573134462335051e46b990e97e1d32bef4b29 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Mon, 31 Mar 2008 13:03:47 +0200 Subject: * digital/io/src: - adapted FSM to AVR program. --- digital/io/src/getsamples.fsm | 47 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 digital/io/src/getsamples.fsm (limited to 'digital/io/src/getsamples.fsm') diff --git a/digital/io/src/getsamples.fsm b/digital/io/src/getsamples.fsm new file mode 100644 index 00000000..3f7266d0 --- /dev/null +++ b/digital/io/src/getsamples.fsm @@ -0,0 +1,47 @@ +#FSM get samples +get_samples + +States: + START + GO_TO_POSITION + PREPARE_ARM + FORWARD_CONTROL + TAKE_SAMPLES + BACKWARD + END + +Events: + ok + position_reached + position_failed + arm_moved + sample_took + classifier_ready + +START: + ok -> GO_TO_POSITION + Go to the distributor. The distributor to reach shall be setted in the fsm structure. + +GO_TO_POSITION: + 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. + 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: + position_reached -> TAKE_SAMPLES + End the position to the distributor. + +TAKE_SAMPLES: + sample_took: more -> . + Continue to take samples and classify the next sample. + sample_took: no_more -> BACKWARD + If the quantity of samples are tooked, then go backeward and conitnue classifying the samples. + +BACKWARD: + position_reached -> END + Ending this state machine. -- cgit v1.2.3