aboutsummaryrefslogtreecommitdiffstats
path: root/system/doc/design_principles/fsm.xml
diff options
context:
space:
mode:
authorFredrik Gustafsson <[email protected]>2013-03-08 11:26:58 +0100
committerFredrik Gustafsson <[email protected]>2013-03-08 11:26:58 +0100
commit02ee25e3cde4e1bec0b3724e28c2831508c98e6f (patch)
tree64adbb2563731f374f69b0f47440da3e49730940 /system/doc/design_principles/fsm.xml
parenta9712e121e9bea8906a54b3016cb41ebf1c115f2 (diff)
parent0792d2102908a1008b08c37e1015ba5e6cb88882 (diff)
downloadotp-02ee25e3cde4e1bec0b3724e28c2831508c98e6f.tar.gz
otp-02ee25e3cde4e1bec0b3724e28c2831508c98e6f.tar.bz2
otp-02ee25e3cde4e1bec0b3724e28c2831508c98e6f.zip
Merge branch 'ta/docs-16b' into maint
* ta/docs-16b: Fix gen_fsm example code Fix doc typos for R16B01
Diffstat (limited to 'system/doc/design_principles/fsm.xml')
-rw-r--r--system/doc/design_principles/fsm.xml13
1 files changed, 7 insertions, 6 deletions
diff --git a/system/doc/design_principles/fsm.xml b/system/doc/design_principles/fsm.xml
index edb2e20605..7decbb48cd 100644
--- a/system/doc/design_principles/fsm.xml
+++ b/system/doc/design_principles/fsm.xml
@@ -75,7 +75,7 @@ StateName(Event, StateData) ->
-export([init/1, locked/2, open/2]).
start_link(Code) ->
- gen_fsm:start_link({local, code_lock}, code_lock, Code, []).
+ gen_fsm:start_link({local, code_lock}, code_lock, lists:reverse(Code, []).
button(Digit) ->
gen_fsm:send_event(code_lock, {button, Digit}).
@@ -87,7 +87,7 @@ locked({button, Digit}, {SoFar, Code}) ->
case [Digit|SoFar] of
Code ->
do_unlock(),
- {next_state, open, {[], Code}, 3000};
+ {next_state, open, {[], Code}, 30000};
Incomplete when length(Incomplete)<length(Code) ->
{next_state, locked, {Incomplete, Code}};
_Wrong ->
@@ -106,7 +106,8 @@ open(timeout, State) ->
calling <c>code_lock:start_link(Code)</c>:</p>
<code type="none">
start_link(Code) ->
- gen_fsm:start_link({local, code_lock}, code_lock, Code, []).</code>
+ gen_fsm:start_link({local, code_lock}, code_lock, lists:reverse(Code), []).
+ </code>
<p><c>start_link</c> calls the function <c>gen_fsm:start_link/4</c>.
This function spawns and links to a new process, a gen_fsm.</p>
<list type="bulleted">
@@ -130,8 +131,8 @@ start_link(Code) ->
corresponding to one process contained in one module.</p>
</item>
<item>
- <p>The third argument, <c>Code</c>, is a term which is passed
- as-is to the callback function <c>init</c>. Here, <c>init</c>
+ <p>The third argument, <c>Code</c>, is a list of digits which is passed
+ reversed to the callback function <c>init</c>. Here, <c>init</c>
gets the correct code for the lock as indata.</p>
</item>
<item>
@@ -203,7 +204,7 @@ open(timeout, State) ->
<section>
<title>Timeouts</title>
- <p>When a correct code has been givened, the door is unlocked and
+ <p>When a correct code has been given, the door is unlocked and
the following tuple is returned from <c>locked/2</c>:</p>
<code type="none">
{next_state, open, {[], Code}, 30000};</code>