I am trying to run following combination: Gpredict 2.3.37 on windows10, hamlib-w64-4.5.5 started with cmd file containing
set ROTCTLD=D:\Ham\hamlib-w64-4.5.5\bin\rotctld.exe
set ROTTYPE=202
set ROTPORT=COM7
set ROTRATE=9600
start /min "Rotator Control" %ROTCTLD% -m %ROTTYPE% -r %ROTPORT% -s %ROTRATE% -T 127.0.0.1 -t 4533 -vvvvvv
start /wait %GPREDICT%
and arduino dummy code to display gpredict data on 16x2 i2c display.
data = Serial.readStringUntil('\n'); // Read data until newline character
// Find "AZ" and "EL" substrings in the data
int azIndex = data.indexOf("AZ");
int elIndex = data.indexOf("EL");
if (azIndex != -1) {
//Extract the number following "AZ"
azValue = extractNumber(data.substring(azIndex + 2));
}
if (elIndex != -1) {
// Extract the number following "EL"
elValue = extractNumber(data.substring(elIndex + 2));
}
Data are properly displayed as desired when gpredict is engaged (once) and after short time gpredict is disengaged and no further updates on arduino display. I see in gpredict log
2024/03/17 11:11:57|1|../src/gtk-rot-ctrl.c:322: rotctld returned error (RPRT -5)
2024/03/17 11:11:58|1|../src/gtk-rot-ctrl.c:322: rotctld returned error (RPRT -5)
2024/03/17 11:11:59|1|../src/gtk-rot-ctrl.c:322: rotctld returned error (RPRT -5)
2024/03/17 11:12:00|1|rot_ctrl_timeout_cb: MAX_ERROR_COUNT (5) reached. Disengaging device!
Next manual engaging will pass data to arduino and are displayed as I need, but I would like to keep it up and running (without manual re-engaging) until I want to disengage. What am I doing wrongly? Should arduino send some ack information to hamlib or rotctld parameters are missing anything important? Thanks for any direction. Peter.