Reading the FT-847's receiver frequency originally caused me some frustration. I had included a delay after each read and write command because the FT-847 doesn't return a command acknowledgement. While writing this reply I realised that instead of a delay I shroud be waiting for the serial port to receive five bytes from the radio.
This has turned out to be more reliable but I still get occasional read errors and I feel that it's due to the USB to serial converter. When an incorrect frequency value is read, at one second intervals, the same value is reread from the serial port buffer each second until the tuning knob is moved again. Maybe the read command is working correctly and instead it's the write command that instructs the radio to output it's frequency that's not working reliably.
I remember reading about some sort of delay that the FT-847 requires but I cannot remember what it was all about. It could be important.
Don't know if you're a "linux guy" or not, but the "snooper" package available on Debian Linux and derivatives, and certainly available upstream somewhere in source format for compiling on any other Linux system is a nifty tool for debugging such things.
Figured I'd share. I ran across it in the package list one day quite literally by accident, (I was looking for other "snooping" tools like tcpdump and similar) and realized it was the perfect tool to allow me to become my own worst protocol analyzer. :-)
It's kinda addictive to hook it up between serial devices you're not debugging and watch what's going on, too.
Great tool. Simple, effective, and free.
(By the way, it's not installed on the machine below, thus the "unsatisfied" dependency... this is just a text capture of the package manager tool (aptitude) on one of my Debian machines, showing the full description. Ignore the other cruft...)
--\ snooper < none> 19991202-4 Description: Captures communication between two external serial devices Snooper passes data transparently between two serial (RS232C) devices, capturing and logging the data and occasional comments you want to insert into the logs.
It is useful for debugging or analyzing the communications protocol between two devices that would normally be connected directly to each other, e.g. a digital camera and a personal computer. By sitting "in the middle" (after you connect the two devices to serial ports on your Linux machine) snooper is able to capture data traveling in either direction while also passing it unmodified to the other device.
It is also possible to operate with a single serial device, using your console and keyboard as the second device.
Tags: admin::hardware, interface::text-mode, role::program, scope::utility, uitoolkit::ncurses Priority: optional Section: comm Maintainer: David Coe [email protected] Compressed size: 16.6k Uncompressed size: 42.0k Source Package: snooper --\ Depends --- libc6 (>= 2.3.5-1) --- liblockdev1 (UNSATISFIED) --- libncurses5 (>= 5.4-5) --- Packages which depend on snooper --\ Versions p 19991202-4
-- Nate Duehr [email protected]