Skip to content
Snippets Groups Projects
Commit 23b72b8c authored by Florian Pose's avatar Florian Pose
Browse files

Improved master state machine.

parent 936dc136
No related branches found
No related tags found
No related merge requests found
......@@ -20,10 +20,11 @@ Version 1.4.0:
portability.
* Remove ecdb.h and let lsec output PDO information 'cut-and-pastable' for
applications.
* Scanning of Sdo dictionary / writing EEPROM in OPERATION state.
* Remove the end state of the master state machine.
* SDO write access in sysfs.
* Update documentation.
* Supply new ec_master_state_t.
* Scanning of Sdo dictionary / writing EEPROM in OPERATION state.
* Adapt remaining examples.
* READMEs for examples.
* Separate Pdo and Pdo entry classes.
......@@ -31,12 +32,11 @@ Version 1.4.0:
* Wait for bus scanning, even when link is not up at ecrt_request_master().
* Implement ecrt_slave_config_state().
* Add something like lsec -n to show numeric vendor IDs.
* Remove the end state of the master state machine.
* Check the position of the acknowledge state.
* Remove the xmldev files.
* Separate CoE debugging.
* Make ecrt_master_slave_config() return no error when slave is not present
or invalid.
* Evaluate EEPROM contents after writing.
Future issues:
......@@ -45,7 +45,6 @@ Future issues:
kernel threads to user space daemon with a TCP interface replacing the
cdev).
* Mailbox gateway.
* Slave-to-slave communication.
* Redundancy with 2 network adapters.
* Interface/buffers for asynchronous domain IO.
......@@ -54,14 +53,9 @@ Smaller issues:
* Evaluate SII Size field (0x003E) to determine maximum SII memory size.
* Unite fsm_pdo_mapping, fsm_pdo_config and fsm_coe_map.
* Clear sync managers in INIT.
* Simplify FSMs with <state>_enter() functions.
* Read out CRC counters.
* Optimize alignment of process data.
* Evaluate EEPROM contents after writing.
* Configure slave ports to automatically open on link detection.
* Interrupt master state machines state scan for other jobs.
* Master state machine, slave configuration: Do not check every slave on
a cycle.
* Only execute one EoE handler per EoE cycle.
Less important issues:
......
......@@ -6,62 +6,64 @@ digraph master {
center=1
ratio=fill
action_process_sii [shape=point,label=""]
action_process_sdo [shape=point,label=""]
action_configure [shape=point,label=""]
action_next_slave_state [shape=point,label=""]
action_process_states [shape=point,label=""]
start [fontname="Helvetica"]
start -> broadcast [weight=10]
//broadcast -> error
broadcast [fontname="Helvetica"]
broadcast -> end
broadcast -> clear_addresses
broadcast -> read_states [weight=10]
broadcast -> read_state [weight=10]
action_process_sii [shape=point,label=""]
action_process_sii -> write_sii
action_process_sdo [shape=point,label=""]
action_process_sdo -> sdo_request
action_configure -> configure_slave
action_idle [shape=point,label=""]
action_idle -> action_process_sdo
action_idle -> sdo_dictionary
action_idle -> action_process_sii
action_idle -> end
action_process_states -> action_configure
action_process_states -> action_process_sdo
action_process_states -> sdo_dictionary
action_process_states -> action_process_sii
action_process_states -> end
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_next_slave_state -> read_states
action_next_slave_state -> action_process_states
action_acknowledge [shape=point,label=""]
action_acknowledge -> acknowledge [weight=10]
action_acknowledge -> action_configure
action_acknowledge -> action_next_slave_state
//read_states -> error
read_states -> action_next_slave_state
read_states -> acknowledge
read_state [fontname="Helvetica"]
read_state -> action_acknowledge [weight=10]
//acknowledge -> error
acknowledge -> action_next_slave_state
acknowledge [fontname="Helvetica"]
acknowledge -> action_configure [weight=10]
//clear_addresses -> error
clear_addresses -> scan_slaves
clear_addresses [fontname="Helvetica"]
clear_addresses -> scan_slave [weight=10]
scan_slaves -> scan_slaves
scan_slaves -> end
scan_slave [fontname="Helvetica"]
scan_slave -> end
configure_slave -> action_configure
configure_slave -> end
configure_slave [fontname="Helvetica"]
configure_slave -> action_next_slave_state [weight=10]
//write_sii -> error
write_sii [fontname="Helvetica"]
write_sii -> action_process_sii
write_sii -> end
//sdo_dictionary -> error
sdo_dictionary [fontname="Helvetica"]
sdo_dictionary -> end
//sdo_request -> error
sdo_request [fontname="Helvetica"]
sdo_request -> action_process_sdo
sdo_request -> end
//error -> start
//end -> start
end [fontname="Helvetica"]
}
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment