Yeasu rotor engaging with Gpredict on Linux

Hi everybody,

I am working on autonomous ground station. i’am working under ubuntu 20.04 LTS (Not the last 20.04.6LTS)

Setup ::

Rotor :: YAESU G-5500DC and GS-232B (encoder)
Carte :: Jetson Nano 4Gb (LINUX-Ubuntu20.04LTS)|| Computer (LINUX-Ubuntu20.04LTS) 
Tranceiver :: Hack RF One (and next Adalm-Pluto)
Hardware :: filter and LNA for antenna

I connect the computer to the GS232b encoder (du to USB to serial) witch is connect to AZ-EL dual controller box witch is connect to the two motors.

So I am encountering one principal problem without issues and i start to be desperate

I am using “Rotctl” thank to the last “Hamlib” library version.

When I open a terminal and use “” sudo rotctl -m 603 -r /dev/ttyUSB0 “” as command, everything works good. Sometimes little bug but it’s happened.

But the real problem comes with Gpredict using, when i try to connect the system at Gpredict, i don’t succeed to enable the following-up thanj to the engage button on the control rotor panel… And really don’t know why …

I edit my rotator (port 4533 and Azmuth type) and my ground station (localisation). I force thank to “minicom” my serial port on ttyUSB0 also

But when i go through the ‘antenna control’ menu, when i press “engage button” during any satellite rush nothing happened … (even with little tolerance and cycle)

Do not hesitate to ask some others informations and i’ll try to put some new about the next week !

Thx you all,

Vivi973

If it helps I’m setup like this.

1 Like

Hey, thank you really much [ve6kdx];

Yes for me it’s the same

and when I use track and engage for the motor nothing happened … But maybe it’s me who is forgotting something … You just have to connect all the systeme and normay it’s working …

Callback : I use Ubuntu 20.04 LTS and last version of Gpredict

@Vivi_973 This is what I use with my Aurdinio controlled satnogs rotator and it works.

rotctld -m 202 -r /dev/ttyACM1 -s 9600 -t 4533 -C timeout=500 -C retry=0 -vvvvvv

timeout and retry were the key for my setup to work with Gpredict

1 Like

OKKKKKKKKKKKKKKKKKKKKKKKKKKKK, I am soooo sorry for this waste of time, since one month I just forgot to put the “d” at the end of “rotctl” :sweat_smile: :scream: :scream: :scream: :scream: :scream:

With “rotctld” indeed that work perfectly !!! (Almost)

When u write your command :
" rotctld -m 202 -r /dev/ttyACM1 -s 9600 -t 4533 -C timeout=500 -C retry=0 -vvvvvv"

  • m is for the model (603 for me)
  • r is the path
  • s for the BaudSpeed
  • C for config parameter (as timeout and other)

But for the two next i don’t really understand :

  • t → for force the serial port ??
  • vvvvv → What is for this ?

Thank a lot for this help !!! You really help us !

Now it’s almost working, we can track and engage the rotor correctly … indeed it’s easier with an server :rofl:

We just don’t understand why the reading have some error during the tracking … (Photo)

Any idea ?

Moreover, as I want the ground station autonomous, i’m planning to have a little executable to accurate data and pilote my rotor with the extraction of the gpredict data, someone think it’s possible or not ? The goal is to use less of ressources (energie) during pass.

Sill thx you [satcolintel5] :grinning:

Soon

-t is just to explicitly define which port rotctld will be listening on, it’s the default port so it’s being redundant. -vvvvv... is just telling rotctld to be more verbose in the the debug/log output.

My guess is if it works sometimes but not others, you might want to fiddle with the baud rate (4800/9600) and/or timeout setting (increase most likely) … one at a time of course!

Thx,

Indeed I try several change in the cmd line, finally I arrived to “”

Now when I run the line (server with rotctld) and Gpredict I have this ::

babare@CSU:~$ sudo rotctld -m 603 -r /dev/ttyUSB1 -s 9600 -t 4533 --set-conf=write_delay=50 -vvvvvv
rotctld, Hamlib 3.3
Report bugs to hamlib-developer@lists.sourceforge.net

rot_init called
initrots3_gs232a called
rot_register (601)
rot_register (603)
rot_register (602)
rot_register (604)
rot_token_lookup called
rot_confparam_lookup called
rot_set_conf called
rot_confparam_lookup called
rot_set_conf: write_delay=‘50’
frontrot_set_conf called
rot_open called
serial_open called
serial_setup called
Opened rot model 603, ‘GS-232B’
rig_strstatus called
Backend version: 0.2, Status: Beta
Connection opened from localhost:46594
rotctl(d): p ‘’ ‘’ ‘’ ‘’
rot_get_position called
gs232b_rot_get_position called
serial_flush called
write_block called
write_block(): TX 3 bytes
0000 43 32 0d C2

read_string called
read_string(): Timed out 0.400440 seconds after 0 chars
serial_flush called
write_block called
write_block(): TX 3 bytes
0000 43 32 0d C2.

read_string called
read_string(): Timed out 0.400512 seconds after 0 chars
serial_flush called
write_block called
write_block(): TX 3 bytes
0000 43 32 0d C2.

read_string called
read_string(): Timed out 0.400520 seconds after 0 chars
serial_flush called
write_block called
write_block(): TX 3 bytes
0000 43 32 0d C2.

read_string called
read_string(): Timed out 0.400370 seconds after 0 chars
rotctl(d): P ‘243.52’ ‘8.87’ ‘’ ‘’
rot_set_position called
gs232b_rot_set_position called: 243.520004 8.870000
serial_flush called
write_block called
write_block(): TX 9 bytes
0000 57 32 34 34 20 30 30 39 0d W244 009.

read_string called
read_string(): Timed out 0.400438 seconds after 0 chars
serial_flush called
write_block called
write_block(): TX 9 bytes
0000 57 32 34 34 20 30 30 39 0d W244 009.

read_string called
read_string(): Timed out 0.400443 seconds after 0 chars
serial_flush called
write_block called
write_block(): TX 9 bytes
0000 57 32 34 34 20 30 30 39 0d W244 009.

read_string called
read_string(): Timed out 0.400473 seconds after 0 chars
serial_flush called
write_block called
write_block(): TX 9 bytes
0000 57 32 34 34 20 30 30 39 0d W244 009.

read_string called
read_string(): Timed out 0.400430 seconds after 0 chars
rotctl(d): S ‘’ ‘’ ‘’ ‘’
rot_stop called
gs232b_rot_stop called
serial_flush called
write_block called
write_block(): TX 2 bytes
0000 53 0d S.

read_string called
read_string(): Timed out 0.400519 seconds after 0 chars
serial_flush called
write_block called
write_block(): TX 2 bytes
0000 53 0d S.

read_string called
read_string(): Timed out 0.400511 seconds after 0 chars
serial_flush called
write_block called
write_block(): TX 2 bytes
0000 53 0d S.

read_string called
read_string(): Timed out 0.400577 seconds after 0 chars
serial_flush called
write_block called
write_block(): TX 2 bytes
0000 53 0d S.

read_string called
read_string(): Timed out 0.400441 seconds after 0 chars
rotctl(d): p ‘’ ‘’ ‘’ ‘’
rot_get_position called
gs232b_rot_get_position called
serial_flush called
write_block called
write_block(): TX 3 bytes
0000 43 32 0d C2.

read_string called
read_string(): Timed out 0.400315 seconds after 0 chars
serial_flush called
write_block called
write_block(): TX 3 bytes
0000 43 32 0d C2.

read_string called
read_string(): Timed out 0.400437 seconds after 0 chars
serial_flush called
write_block called
write_block(): TX 3 bytes
0000 43 32 0d C2.

read_string called
read_string(): Timed out 0.400478 seconds after 0 chars
serial_flush called
write_block called
write_block(): TX 3 bytes
0000 43 32 0d C2.

read_string called
read_string(): Timed out 0.400476 seconds after 0 chars
Connection closed from localhost:46594
^C

babare@CSU:~$

 
As we can see in increasing order, the GS_232_B (603 model) is reconized and I add delay with set_pram_conf for 50ms. The sever opens by localhost 46594 and it is able to call the rot_get_position function. 

After that the same string is call and print every 0,4 second 4 times, why 4 time ? I dont know (baudrate is specified at 9600)


Then the data for position is arrived and 9 bytes of data are read and targeting W 244 (Azy) 009 (El) for 4 time also. 

Then 4 times of Stop read with the S and then again 4 time of C2 ..... and the connection go off .... 

I really dont understand why each times there is 4 retry even if i put -C retry=2 for exemple, 


Do you have an idea, because the target is finally never get reached and I have to re engaged the  rotor each time for 4 times of mooving ..... 

I hope I'm clear,


Thank you really much,

Vivien

Still not answer … (12/06/2023) I’m looking for the code in brut