| Orion's Serial Interface
Some interesting features came to light when I was working with the serial port and the 'octl' program.. This is with firmware version 1.369, supported by version 1.2 of the Programmer's Reference Guide.
-
Command/response is not standardized for all commands. There are various “special” commands: “XX”, “?V”, “/”, etc. that don't fit into a standard format.
-
Most control commands generate response only on error. It would be more positive if there was an ACK/NAK response to every command. As it is, the only way you can test for a command's success is by waiting for an input timeout.
-
Queries are not standardized. "?CV" returns a variable length string, while "?TP" return a fixed zero-padded string.
-
"?S" - on transmit, the VSWR is not formatted as shown in the Guide. The response is a 3 digit number, which is equal to 256 x the VSWR reading, as far as can be told.
-
AGC and Step size for the subreceiver are not returned by the advertised queries. Instead, you get the main receiver data.
-
Serial port service is degraded when the control processor gets busy - e.g., by rapid multiple spins of the VFO knob. The external computer needs a way to detect firmware "overload" to suspend query & control operations.
-
Glitches have been observed. E.g., a "?BF" command (following an ?AF) can produce a "@AFxxx" response, depending on system history and load. Sometimes a query produces no response at all.
-
Even with 57 kb/s serial I/O, it takes ~1.2 seconds to completely read out the data provided on the LCD panel. The control protocol and the CPU probably both limit the responsiveness.
-
It would be efficient to have a command that would dump larger blocks of data in one transaction.
- Front panel functions that aren't provided to the serial port: NB, NR, NOTCH, AM. RIT/XIT “activated” LED/button, MAIN/SUB RX activated, Lock/unlock status, Main/sub AF “mute” status, spectrum analyzer status (or results!).
-AA6E, 2/28/04 I'd be happy to have your comments or suggestions: email to martin /at/ aa6e.net.
[Return to Orion log] |