dh1tw / remoteRotator

remoteRotator lets you expose a local antenna rotator (azimuth / elevation) to the network
MIT License
44 stars 5 forks source link

yaesu output #1

Closed iv3sde closed 3 years ago

iv3sde commented 6 years ago

hallo, fantastic job !!! I think that to have more compatibility the output string should be only +0000 and not +0000+0000 if only azimuth is correct ??

dh1tw commented 6 years ago

Hey @iv3sde,

good question. I´m honestly not sure and I don't have a Yaesu rotator here to verify the exact behaviour. From the specification I understand that the Yaesu rotators two commands (C and C2) to query the position. C will return +0000 and C2 will return +0000+0000.

Currently the application automatically broadcasts in a determined period (some 100s milliseconds) the updated string whenever the rotator is turning. I'm not sure if this is the default behaviour of the Yaesu rotators.

The reason why remoteRotator is broadcasting to the connected TCP sockets +0000+0000 is that EA4TX Arsvcom expects this string. However one posibility would be to completely disable the broadcasting and let the connected application poll remoteRotator for updates.

hw?

iv3sde commented 6 years ago

Thanks for the reply, I think that C should return only +0000 (az pos.) And C2 + 0000 + 0000 I have a self-made rotor with home made software in arduino with usr tcp232 partly from k3ng. I use it perfectly with N1MM, Logger32, rotorcraft etc. with no problem. I think the difference is between A and B ... I'm available for tests

dh1tw commented 6 years ago

Hi, but the commando C does already return just the azimuth part +0000:

$ telnet localhost 7373
Trying ::1...
Connected to localhost.
Escape character is '^]'.

?>C
+0303

can you confirm this?

iv3sde commented 6 years ago

... is the pull ??

+0181+0000 +0184+0000 +0182+0000 +0183+0000 c +0184 +0181+0000 c +0181 +0183+0000 +0182+0000 +0183+0000 +0181+0000

dh1tw commented 6 years ago

thats correct. You get a +0000 response to your C request. However as long as the antenna moves, the update is broadcasted in the +0000+0000 format. One way to would be to disable the broadcasts and let the connected application decide to poll the position. So in practical terms, you have to explicitly request every x (milli)seconds the position of the rotator either by a C or C2 command.