DGI.Simpl.DgiCommunicationsAdapter 1.0.1
SIMPL Communication Adapter
This library helps adapt a DGI Framework drivers that have a IDgiCommunication interface to a SIMPL+ module for interfacing with SIMPL communication symbols, like the TCP/IP Client, UDP/IP Communications or the a Serial Driver.
How to use
Refer to the SimplRossTalkDriver for an example:
A DGI SIMPL device driver, just like with the DGI Framework, should be unaware of the physical method of communication. In the DGI Framework that is easily accomplish by injecting a communication driver that implements the IDgiCommunications interface. However, this is not as easily achieved in SIMPL environment.
This adapter helps mediate communications between the device driver and the SIMPL+ module that will ultimately connect to one of the SIMPL communication symbols.
In order to do so a SIMPL# Library Device Driver should be created. This library will use this SimplDgiCommunicationsAdapter that implements IDgiCommunications and will be injected into the device driver. SimplDgiCommunicationsAdapter will then expose some public members that will be used to interface with the SIMPL+ module.
A Class UML example of the implementation is shown below:

Methods and Events
The list of all exposed methods and events are shown below:
Inputs :
ExternalConnectFeedback: Method to call from Simpl+ when a connection has been established by the external communications symbol. Outside of the Simpl+ module, this method will be connected to the communication symbolConnect-F(for example a TCP/IP client). In connection-less protocols (such as UDP or Serial) this join should be always driven high always.ExternalStatus: Method to call from Simpl+ when the status of the external communications symbol has changed. Outside of the Simpl+ module, this method will be connected to the communication symbolstatus(for example a TCP/IP client). In connection-less protocols (such as UDP or Serial) this join should be driven with analog 2 (Connected).ExternalReceive: Signals dependent IDgiCommunications Driver data data has been received. Outside of the Simpl+ module, this method will be connected to the communication symbolRX$(for example a TCP/IP client)
Outputs
ExternalConnectChanged: Event that the Simpl+ module should listen to that will signal when a connection to the external communications symbol is needed. Outside of the Simpl+ module, this method will be connected to the communication symbolConnect(for example a TCP/IP client) In connection-less protocols (such as UDP or Serial) this join can be commented out.ExternalTransmitChanged: Event that the Simpl+ module should listen to that will signal when data is ready to be Transmitted. Outside of the Simpl+ module, this method will be connected to the communication symbolTX$(for example a TCP/IP client)
A sequence diagram of the methods and events can be shown below:

No packages depend on DGI.Simpl.DgiCommunicationsAdapter.