documentation/graphs/fsm_slave_conf.dot
author Florian Pose <fp@igh-essen.com>
Fri, 17 Oct 2008 09:13:52 +0000
branchstable-1.4
changeset 1647 dd648d1786e9
parent 1630 ffa89570d84f
child 1318 76b4014391bd
permissions -rw-r--r--
Fixed race concerning ec_slave_config_state->operational.

/* $Id$ */

digraph slaveconf {
    size="3,5"

    start [fontname="Helvetica"]
    start -> init [weight=10]

    init [fontname="Helvetica"]
    init -> enter_mbox_sync [fontname="Helvetica", label="No FMMUs"]
    init -> clear_fmmus [weight=10]

    clear_fmmus [fontname="Helvetica"]
    clear_fmmus -> enter_mbox_sync [weight=10]

    enter_mbox_sync [shape=point, label=""]
    enter_mbox_sync -> end [fontname="Helvetica", label="INIT\nrequested"]
    enter_mbox_sync -> preop [fontname="Helvetica", label="No mailboxes"]
    enter_mbox_sync -> mbox_sync [weight=10]

    mbox_sync [fontname="Helvetica"]
    mbox_sync -> preop [weight=10]

    preop [fontname="Helvetica"]
    preop -> end [fontname="Helvetica", label="PREOP\nrequested"]
    preop -> enter_safeop [fontname="Helvetica", label="No slave\nconfig attached"]
    preop -> enter_sdo_conf [weight=10]

    enter_sdo_conf [shape=point, label=""]
    enter_sdo_conf -> enter_pdo_conf [fontname="Helvetica", label="No Sdos\nconfigured"]
    enter_sdo_conf -> sdo_conf [weight=10]

    sdo_conf [fontname="Helvetica"]
    sdo_conf -> enter_pdo_conf [weight=10]

    enter_pdo_conf [shape=point, label=""]
    enter_pdo_conf -> pdo_conf [weight=10]

    pdo_conf [fontname="Helvetica"]
    pdo_conf -> enter_pdo_sync [weight=10]

    enter_pdo_sync [shape=point, label=""]
    enter_pdo_sync -> enter_fmmu [fontname="Helvetica", label="No Pdo SMs"]
    enter_pdo_sync -> pdo_sync [weight=10]

    pdo_sync [fontname="Helvetica"]
    pdo_sync -> enter_fmmu [weight=10]

    enter_fmmu [shape=point,label=""]
    enter_fmmu -> enter_safeop [fontname="Helvetica", label="No FMMUs\nconfigured"]
    enter_fmmu -> fmmu [weight=10]

    fmmu [fontname="Helvetica"]
    fmmu -> enter_safeop [weight=10]

    enter_safeop [shape=point,label=""]
    enter_safeop -> safeop [weight=10]

    safeop [fontname="Helvetica"]
    safeop -> end [fontname="Helvetica", label="SAFEOP\nrequested"]
    safeop -> op [weight=10]

    op [fontname="Helvetica"]
    op -> end// [weight=10]

    end [fontname="Helvetica"]
}