开云体育

ctrl + shift + ? for shortcuts
© 2025 开云体育

Re: Serial cable question


 

开云体育

?
?
?
?Hi Stu,
? ? ? ? ? ?Yes the 8 bits part is correct but more importantly you need 2 stop bits.?

? I’m just surmising here but I believe early Yaesu radios did not have full synchronous protocols. It meant you can only send data commands to the radio and not receive them. You can send for example a change of VFO frequency but if you manually changed VFO by hand then the PC (or controlling equipment) would not know you did that. Later, I’m lead to believe that this changed so that commands could be sent to recover modes and VFO with just 5 instructions.

? It is possible you have an older radio (you state 1999) that doesn’t have asynchronous data capabilities! or there is something simple as only using 1 stop bit. As the parity bit and stop bit are next to each other then you are effectively shedding a bit and the data set move along 1 bit looking for the stop bit.?

? I don’t expect most to understand the next few comments but it would be really good if people read over the hamlib code (again you don’t need to understand it) and look at what CAT commands can actually work.

? Constraints and a serious flaw in Yaesus thinking which is causing huge issues with GreenCube satellite is not being able to TX and RX on the same frequency through both VFO’s.

? Trying to full duplex on the same band will of course lead to loop back into the front end and kill it but we see the protocol prevents accessing VFO B from CAT. Having just one serial interpreter (no tuner and CAT together), 10hz tuning steps from CAT where the FT847 is capable of 0.1hz from memory (I believe this is to do with the length of bits and not enough to send the whole frequency
?but the command structure uses 5 bits to enter an instruction.)

Example:
100mhz/10mhz is bit 1
1mhz/100khz is bit 2
10mhz/1khz is bit 3
100hz/10hz is bit 4
OP code or Mode is bit 5 (LSB, FM or whatever).?

So we can see there aren’t enough bits to go beyond 10hz.

? Here is a snippet from the HamLib library which shows what instructions are used to read the radio frequency.

? { 1, { 0x00, 0x00, 0x00, 0x00, 0xe7 } }, /* get RX status ?*/

? { 1, { 0x00, 0x00, 0x00, 0x00, 0xf7 } }, /* get TX status ?*/

? { 1, { 0x00, 0x00, 0x00, 0x00, 0x03 } }, /* get FREQ and MODE status, main ?*/

? { 1, { 0x00, 0x00, 0x00, 0x00, 0x13 } }, /* get FREQ and MODE status, sat rx ?*/

? { 1, { 0x00, 0x00, 0x00, 0x00, 0x23 } }, /* get FREQ and MODE status, sat tx ?*/


? That’s it!!! Just 5 instructions to read back what the radio is doing. Compared to the 40 or so instructions that’s send instructions to the radio.

? More importantly we can see control over VFO B outside of SAT mode is impossible. SAT mode also inhibits same band TX in full duplex (again to prevent RF looping into the front end and RX and TX on the same physical socket of course).

? Ok, why have I explained this! Because I’ve been working with Yaesu’s quite “unique” CAT commands system for a long time. I’ve built Bluetooth CAT interfaces for the FT847, I’ve built 2.4ghz ISM CAT controllers and I was pretty dissatisfied with the FT991 not having any thought for satellite communications. When it works then it’s actually a very robust system but complex in its implementation.?

?With this knowledge you can no go ahead and open a terminal program and send instructions to the radio. I’ve pasted the instruction to turn on and off CAT control.

{ 1, { 0x00, 0x00, 0x00, 0x00, 0x00 } }, /* CAT = On */
? { 1, { 0x00, 0x00, 0x00, 0x00, 0x80 } }, /* CAT = Off */

Naturally ignore the 1 as your only interested in the?
0x00 0x00 0x00 0x00 0x00 and 0x00 0x00 0x00 0x00 0x80 parts.

? Of course if you can turn the CAT indicator on and off you can send other instructions. Once that’s established you can go ahead and try to read back the frequency and mode of the radio. If that doesn’t work then I believe you have an older synchronous and a non asynchronous version (this is often referred as bidirectional in some literature).

? It is also important to observe that Yaesu fill dummy characters prior to the last bit (the fifth bit) if they are not needed. So turning on CAT could be 0x12 0x34 0x56 0x78 0x00 for example. So long as the last bit or bit number 5 or the OP code isn’t expecting the previous bits to be readable. 0x00 and 0x80 are the only significant bits and will turn CAT On and Off accordingly. Yaesu use some weird asterisk looking thingy to show dummy characters in their CAT command.

? Lastly, here is a thread that you will find interesting on the whole Bidirectional (sorry if I’m calling is asynchronous but that’s how I consider it). You can also determine radio year from this thread.

? Overall it’s a lot to take in and this is just my opinion so don’t shoot the messenger if I made some mistakes, however, you're armed with enough information to not only check the radio but no reason you can’t control it from bespoke hardware like an Arduino Mega2560 in the future.

Good luck,

De Spence G5STO



?

This makes good reading for anyone wishing to explore the HamLib library.


Yaesu’s CAT command structure in their terms!



Sent while portable! please excuse typos.

On 29 Jul 2024, at 01:55, Stu Olson via groups.io <stuolson8430@...> wrote:

?
Sorry I didn't have that in my notes.? I don't have my FT-847 interfaced anymore but I did check the radio's menu and the CAT rate I was using was set to 9600.? I'm also quite certain it was 8 data bits.? The other ones should be easy enough to determine by trial and error.? Apparently I didn't find it enough of a problem to warrant recording the details.?
?

Join [email protected] to automatically receive all group messages.