documentation/graphs/fsm_slave_conf.dot
author Patrick Bruenn <p.bruenn@beckhoff.com>
Thu, 05 Nov 2015 16:54:49 +0100
branchstable-1.5
changeset 2638 5995331a55fe
parent 2513 e60c68f33e4f
permissions -rw-r--r--
update ccat driver to v0.14
- fix ccat startup stall and 64 bit address usage
- limit rx processing to one frame per poll
- print registered gpio base to kernel log
- fix constness for *_driver objects
- refactor dma fifo initialization
- refactor rx/tx fifo code and structures

/* $Id$ */

digraph slaveconf {
    node [fontname="Helvetica"]
    edge [fontname="Helvetica", fontsize="12"]

    start
    start -> enter_init [weight=10]

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

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

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

    clear_fmmus
    clear_fmmus -> enter_clear_sync [weight=10]

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

    clear_sync
    clear_sync -> enter_dc_clear_assign [weight=10]

    enter_dc_clear_assign [shape=point, label=""]
    enter_dc_clear_assign -> enter_mbox_sync [label="No DC\nsupport"]
    enter_dc_clear_assign -> dc_clear_assign [weight=10]

    dc_clear_assign
    dc_clear_assign -> dc_read_offset [weight=10]

    dc_read_offset
    dc_read_offset -> dc_write_offset [weight=10]

    dc_write_offset
    dc_write_offset -> enter_mbox_sync [weight=10]

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

    mbox_sync
    mbox_sync -> enter_boot_preop [weight=10]

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

    boot_preop [style="bold"]
    boot_preop -> end [label="PREOP\nor BOOT\nrequested"]
    boot_preop -> enter_sdo_conf [weight=10]

    enter_sdo_conf [shape=point, label=""]
    enter_sdo_conf -> enter_pdo_sync [label="No config\nattached"]
    enter_sdo_conf -> enter_pdo_conf [label="No SDOs\nconfigured"]
    enter_sdo_conf -> sdo_conf [weight=10]

    sdo_conf
    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
    pdo_conf -> reconfigure
    pdo_conf -> enter_pdo_sync [weight=10]

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

    pdo_sync
    pdo_sync -> enter_fmmu [weight=10]

    enter_fmmu [shape=point,label=""]
    enter_fmmu -> enter_safeop [label="No config\nattached"]
    enter_fmmu -> enter_dc_cycle [label="No FMMUs\nconfigured"]
    enter_fmmu -> fmmu [weight=10]

    fmmu
    fmmu -> enter_dc_cycle [weight=10]

    enter_dc_cycle [shape=point,label=""]
    enter_dc_cycle -> reconfigure
    enter_dc_cycle -> dc_cycle [weight=10]
    enter_dc_cycle -> enter_safeop [label="DC not\nconfigured"]

    dc_cycle
    dc_cycle -> reconfigure
    dc_cycle -> dc_start [weight=10]

    dc_start
    dc_start -> reconfigure
    dc_start -> dc_assign [weight=10]

    dc_assign
    dc_assign -> enter_safeop [weight=10]

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

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

    op [style="bold"]
    op -> end

    end
}