documentation/graphs/fsm_slave_conf.dot
author Florian Pose <fp@igh-essen.com>
Mon, 20 Apr 2009 11:53:17 +0000
changeset 1406 8686c5b3d14b
parent 1405 2b5b6ccc00a0
child 1409 eb1e2540cb02
permissions -rw-r--r--
Clear DC assignment after going to INIT.

/* $Id$ */

digraph slaveconf {
    size="3,5"

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

    enter_init [shape=point, label=""]
    enter_init -> init [weight=10]

    reconfigure [shape=point, label=""]
    reconfigure -> enter_init [fontname="Helvetica", label="Config\ndetached"]

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

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

    enter_clear_sync [shape=point, label=""]
    enter_clear_sync -> enter_clear_dc_assign [fontname="Helvetica", label="No SMs"]
    enter_clear_sync -> clear_sync [weight=10]

    clear_sync [fontname="Helvetica"]
    clear_sync -> enter_clear_dc_assign [weight=10]

    enter_clear_dc_assign [shape=point, label=""]
    enter_clear_dc_assign -> enter_mbox_sync [fontname="Helvetica", label="No DC\nsupport"]
    enter_clear_dc_assign -> clear_dc_assign [weight=10]

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

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

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

    enter_boot_preop [shape=point, label=""]
    enter_boot_preop -> boot_preop [weight=10]

    boot_preop [fontname="Helvetica", style="bold"]
    boot_preop -> end [fontname="Helvetica", label="PREOP\nor BOOT\nrequested"]
    boot_preop -> enter_safeop [fontname="Helvetica", label="No slave\nconfig attached"]
    boot_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 -> reconfigure
    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 -> reconfigure
    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 -> reconfigure
    pdo_sync -> enter_fmmu [weight=10]

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

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

    enter_dc_read [shape=point,label=""]
    enter_dc_read -> dc_read [weight=10]
    enter_dc_read -> enter_safeop [fontname="Helvetica", label="DC not\nsupported"]

    dc_read [fontname="Helvetica"]
    dc_read -> dc_offset [weight=10]

    dc_offset [fontname="Helvetica"]
    dc_offset -> dc_cycle [weight=10]
    dc_offset -> enter_safeop [fontname="Helvetica", label="DC\nunused"]

    dc_cycle [fontname="Helvetica"]
    dc_cycle -> dc_start [weight=10]

    dc_start [fontname="Helvetica"]
    dc_start -> dc_assign [weight=10]

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

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

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

    op [fontname="Helvetica", style="bold"]
    op -> end

    end [fontname="Helvetica"]
}