
I don’t necessarily want to create all these classes at once, some have higher priorities than others. I also don’t want to work myself back into a corner making it too much work to add/change some of the underlying classes.
I will use loading an s19 file from the GUI to the Device to iterate though the diagram.
1. the user loads the application creating within it an instance of the Communications/Operations class.
2. the user selects properer comms method and protocol(rs232 and serial monitor)- this could be the default
3. The user clicks connect and depending on their settings the Communications/Operations initializes within it self the a Data-I/0 class with the specified parameters. In this example Data-I/O will use the serial monitor over RS232.
4. The user clicks load and chooses an s19 file from the file menu.
5. The Communications/Operations class receives a file name parameter and a "load" command after which it reads out the file and gets/checks the payload data via the functions in this s19 lib.
6. CO class feeds data to the Data-I/O object who checks for proper acks etc depending on the transport protocol and set options.
7. After the operation has completed the user has the option to reset the device state and disconnect etc.
I think what would be a big help is to define what each part should and should not do before writing any new code.
-sean