AgIsoStack-plus-plus
AgIsoStack-plus-plus copied to clipboard
Add safe state recognision for the VT client
Whenever an unexpected shutdown occurs on an established connection between a VT and a client (working set master). The standard requires us to enter a so called safe state, i.e. all functions dependant on the VT operator interface are put into a known state that will not put the operator or machine at risk.
Any ideas on how to implement this properly? I think we can implement this inside the VirtualTerminalClient class and obligate any application to implement this functionality by implementing a callback. That should be pretty robust and at least made the user aware of the necessity.
Something I am thinking of is that ISB (the ISOBUS shortcut button) and probably other eventual ISO11783-7 things also require recognition of a "safe state", so whatever we come up with, we might want to consider if it can be generic for the whole CAN channel or something, so that such a state can be "shared" or at least triggered by many of our interfaces. This sounds tricky, but just thinking out loud.