documentation/graphs/fsm_master.dot
author Patrick Bruenn <p.bruenn@beckhoff.com>
Tue, 12 Apr 2016 11:17:36 +0200
branchstable-1.5
changeset 2654 b3f6b3e5ef29
parent 2421 bc2d4bf9cbe5
permissions -rw-r--r--
devices/ccat: revert "limit rx processing to one frame per poll"

revert "limit rx processing to one frame per poll", which caused etherlab
frame timeouts in setups with more than one frame per cycle.

/* $Id$ */

digraph master {
    size="7,9"
    center=1
    ratio=fill
    node [fontname="Helvetica"]

    start -> broadcast [weight=10]

    broadcast -> start
    broadcast -> clear_addresses
    broadcast -> read_state
    broadcast -> write_system_times

    action_process_sii [shape=point,label=""]
    action_process_sii -> write_sii

    action_process_sdo [shape=point,label=""]
    action_process_sdo -> sdo_request

    action_process_register [shape=point,label=""]
    action_process_register -> reg_request

    action_idle [shape=point,label=""]
    action_idle -> action_process_sdo
    action_idle -> sdo_dictionary
    action_idle -> action_process_sii
    action_idle -> action_process_register
    action_idle -> start

    action_next_slave_state [shape=point,label=""]
    action_next_slave_state -> read_state
    action_next_slave_state -> action_idle [weight=10]

    action_configure [shape=point,label=""]
    action_configure -> configure_slave [weight=10]
    action_configure -> action_next_slave_state
    action_configure -> write_system_times

    read_state -> acknowledge [weight=10]
    read_state -> action_configure
    read_state -> action_next_slave_state

    acknowledge -> action_configure [weight=10]

    clear_addresses -> dc_measure_delays [weight=10]

    dc_measure_delays -> scan_slave [weight=10]

    scan_slave -> write_system_times

    write_system_times -> start
    write_system_times -> dc_read_offset

    dc_read_offset -> write_system_times
    dc_read_offset -> dc_write_offset

    dc_write_offset -> write_system_times

    configure_slave -> action_next_slave_state

    write_sii -> action_process_sii
    write_sii -> start

    sdo_dictionary -> start

    sdo_request -> action_process_sdo
    sdo_request -> start

    reg_request -> action_process_register
    reg_request -> start
}