Based on the comments I have received and distributed to date, for which I thank you all, I have taken a stab at updating the draft VSI-S in accordance with my best judgement of concensus. The updated draft is attached in both ps and pdf format. In summary, I feel that this draft presents a communications model which is both more robust and more internally consistent than the original draft, though it has become a bit lengthier than I originally imagined. Following is a list of the some of the issues and how I addressed them in the update. I invite you to read this updated draft carefully and, as usual, offer constructive criticism and point out errors, omissions, etc.
Regards and thanks, Alan
1. Target of VSI-S
Issue: Should VSI-S be targeted only at machine-to-machine control of the DTS, or should it include a user interface?
Recommendation: Based on the comments I received, I judge that VSI-S should be targeted at machine-to-machine communications. The inclusion of check codes and sequence numbers, which I think are good ideas, simply do not lend themselves to simple user interaction. It is certainly possible that a similar user interface could be created which would allow simple operation from a dumb terminal (by dropping checksums, sequence#'s, etc), and VSI-S could make some non-binding recommendations. So, the bottom line is that VSI-S is targeted at machine-to-machine communications. With this decision, some of the other problems, such as typability, simple disappear
2. Checksums, sequence numbers, timeouts, retries
Recommendation: Adopt Crestech suggestions. Time-out is 0.5 seconds (except special cases), max 2 retries. Time-sensitive commands are exempt from retries.
3. Handling of Unsolicited responses
Recommendation: Allow system to be used in either half-duplex or full-duplex mode. For half-duplex, adopt Crestech/Ferris recommendations for special status command to retrieve unsolicited messages. Full-duplex system has no problem with unsolicited messages.
4. Additional commands
Recommendation: You will note several additional commands and queries have been added, in accordance with suggestions by several people. The DTS can now be queried for DTS ident, media ID, station ID, source ID, software version#; and a diagnostic self-test can be requested.
5. Ethernet port number
Recommendation: A particular Ethernet port number is suggested as a 'standard' registered port number, in the range 1024-49151. though we don't yet have the number. (Anyone want to volunteer to register a port number for VSI-S?)
6. Comments and informational commands
Recommendation: Non-operational commands are called 'informational commands' and can have special interactions with P/QDATA. A comment is just an informational command.
7. Multiple commands
Recommendation: With the new packet structure and sequencing, multiple commands creat an unnecessary complication. Drop them.
Recommendation: For consistency, only VSI-S-defined commands (in VSI-S packet form) are allowed on P/QDATA lines. Various options exist for passing ignoring or acknowledging PDATA command packets, and for generating QDATA command packets.