I created a quick draft about how I imagine an error I-O component would work.
If anyone has feedback about the intended function I would love to hear and adjust if necessary.
It sounds a bit complex to write myself, so I am looking also for help. If anyone is up to the job I would like to hire someone for it.
General:
Currently there is no error management implemented in LinuxCNC. I would like to have a component that simplifies that and makes it easy to react on a number of error signals from modern drives.
Example of the general function:
A servo drives sends out the error integer "2" via Modbus = Current overload. The components reads this error message in error stream 4 (One device= One Stream). Integer 2 is available as an error and will be processed in the component and therefore there is an output pin: ES4.2 (this output pin can trigger a message of the GUI e.g. "Drive A current overload").
Furthermore this error under this error stream is connected to a reaction pin e.g. "machine stop"
The reaction pins can be shared for various errors all connected via or.
One input is the number of error streams e.g. 0-32
One input is the range of each error stream e.g. 0-1000
One input should mask the available errors e.g. 1,2,3,10,111 (from the range above 0-1000), these numbers will be available as output pins (of the same number)
One input should define the number of "reaction-outputs" e.g. 0-2 (machine stop, motion-inhibit, pause)
One input should assign the errors (1,2,3,10,111) a "reaction-output" e.g. 2,1,1,1,0
Would love to hear feedback on that or PM me if you are interested in the job.