This is a GSD/Ruby project aimed at making interfacing with advanced Generic Serial Devices easier.
The goals of this project are:
To 'handle' messaging between DCE and GSD for you in a threaded manner. To allow multiple commands to be executed WHILE waiting for responses.
I use many terms throughout my code:
- GSD (Generic Serial Device)
- DCE (Data Commands Events aka dcerouter)
- 'Command' is the creation of a message from one source to the other. (either DCE to GSD or GSD to DCE)
- 'Response' is the response from the other device (if any)
- Both GSD and DCE can send and receive data.
- Both GSD and DCE can create a 'Command'
- Both GSD and DCE can respond to a previous command with a 'Response'
- A Command may or may not require a Response.
- One Command can 'Accept' multiple responses.
- One Command can Spawn a new Command