Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libindi for openSUSE:Factory checked in at 2022-08-11 18:32:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libindi (Old) and /work/SRC/openSUSE:Factory/.libindi.new.1521 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libindi" Thu Aug 11 18:32:35 2022 rev:54 rq:994453 version:1.9.7 Changes: -------- --- /work/SRC/openSUSE:Factory/libindi/libindi.changes 2022-08-01 21:33:27.622183446 +0200 +++ /work/SRC/openSUSE:Factory/.libindi.new.1521/libindi.changes 2022-08-11 18:32:49.678242935 +0200 @@ -1,0 +2,7 @@ +Thu Aug 4 06:08:48 UTC 2022 - Paolo Stivanin <i...@paolostivanin.com> + +- Add fix-ioptron-meridian.patch: add again in case a timeout is issued + and iOptron returns it despite the flush. This is an attempt to read this buffer again. +- Add fix-ioptron-timeout.patch: save meridian flip settings by default on change. + +------------------------------------------------------------------- New: ---- fix-ioptron-meridian.patch fix-ioptron-timeout.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libindi.spec ++++++ --- /var/tmp/diff_new_pack.PvdKsK/_old 2022-08-11 18:32:50.190242150 +0200 +++ /var/tmp/diff_new_pack.PvdKsK/_new 2022-08-11 18:32:50.198242137 +0200 @@ -26,6 +26,10 @@ Group: Productivity/Scientific/Astronomy URL: https://www.indilib.org/ Source0: https://github.com/indilib/indi/archive/v%{version}.tar.gz#/indi-%{version}.tar.gz +# PATCH-FIX-UPSTREAM https://github.com/indilib/indi/commit/694e07177c7c8d5ad7dfaed54f511c5a77b3befc +Patch0: fix-ioptron-timeout.patch +# PATCH-FIX-UPSTREAM https://github.com/indilib/indi/commit/b717412dc649dfb2505d08931bd9efbfc04b8ff9 +Patch1: fix-ioptron-meridian.patch BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: libboost_system-devel ++++++ fix-ioptron-meridian.patch ++++++ >From b717412dc649dfb2505d08931bd9efbfc04b8ff9 Mon Sep 17 00:00:00 2001 From: Jasem Mutlaq <mutla...@ikarustech.com> Date: Wed, 3 Aug 2022 11:52:30 +0300 Subject: [PATCH] Save meridian flip settings by default on change --- drivers/telescope/ioptronv3.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/telescope/ioptronv3.cpp b/drivers/telescope/ioptronv3.cpp index 25237120d7..51067931cd 100644 --- a/drivers/telescope/ioptronv3.cpp +++ b/drivers/telescope/ioptronv3.cpp @@ -463,6 +463,7 @@ bool IOptronV3::ISNewNumber(const char *dev, const char *name, double values[], MeridianLimitN[0].value, MeridianActionS[IOP_MB_STOP].s == ISS_ON ? "stop" : "flip"); } IDSetNumber(&MeridianLimitNP, nullptr); + saveConfig(true, MeridianLimitNP.name); return true; } @@ -586,6 +587,7 @@ bool IOptronV3::ISNewSwitch(const char *dev, const char *name, ISState *states, MeridianLimitN[0].value, MeridianActionS[IOP_MB_STOP].s == ISS_ON ? "stop" : "flip"); } IDSetSwitch(&MeridianActionSP, nullptr); + saveConfig(true, MeridianActionSP.name); return true; } ++++++ fix-ioptron-timeout.patch ++++++ >From 694e07177c7c8d5ad7dfaed54f511c5a77b3befc Mon Sep 17 00:00:00 2001 From: Jasem Mutlaq <mutla...@ikarustech.com> Date: Sat, 30 Jul 2022 00:24:59 +0300 Subject: [PATCH] Add again in case a timeout is issued and iOptron returns it despite the flush. This is an attempt to read this buffer again. Might fix issue reported in #1618 --- drivers/telescope/ioptronv3driver.cpp | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/drivers/telescope/ioptronv3driver.cpp b/drivers/telescope/ioptronv3driver.cpp index 53b0a9b6d..529e9da54 100644 --- a/drivers/telescope/ioptronv3driver.cpp +++ b/drivers/telescope/ioptronv3driver.cpp @@ -98,13 +98,21 @@ bool Driver::sendCommand(const char *command, int count, char *response, uint8_t if (count == 0) return true; - if (count == -1) - errCode = tty_read_section(PortFD, res, '#', timeout, &nbytes_read); - else - errCode = tty_read(PortFD, res, count, timeout, &nbytes_read); + // Try to read twice in case of timeouts. + for (int i = 0; i < 2; i++) + { + if (count == -1) + errCode = tty_read_section(PortFD, res, '#', timeout, &nbytes_read); + else + errCode = tty_read(PortFD, res, count, timeout, &nbytes_read); + + if (errCode == TTY_OK) + break; + } if (errCode != TTY_OK) { + tty_error_msg(errCode, errMsg, MAXRBUF); DEBUGFDEVICE(m_DeviceName, INDI::Logger::DBG_ERROR, "Read Command Error: %s", errMsg); return false; @@ -249,7 +257,8 @@ bool Driver::getStatus(IOPInfo *info) if (strlen(res) != 23) { - DEBUGFDEVICE(m_DeviceName, INDI::Logger::DBG_ERROR, "%s: Expected 23 bytes but received %d.", __PRETTY_FUNCTION__, strlen(res)); + DEBUGFDEVICE(m_DeviceName, INDI::Logger::DBG_ERROR, "%s: Expected 23 bytes but received %d.", __PRETTY_FUNCTION__, + strlen(res)); return false; } @@ -709,7 +718,8 @@ bool Driver::getCoords(double *ra, double *de, IOP_PIER_STATE *pierState, IOP_CW if (strlen(res) != 20) { - DEBUGFDEVICE(m_DeviceName, INDI::Logger::DBG_ERROR, "%s: Expected 20 bytes but received %d.", __PRETTY_FUNCTION__, strlen(res)); + DEBUGFDEVICE(m_DeviceName, INDI::Logger::DBG_ERROR, "%s: Expected 20 bytes but received %d.", __PRETTY_FUNCTION__, + strlen(res)); return false; } @@ -749,7 +759,8 @@ bool Driver::getUTCDateTime(double *JD, int *utcOffsetMinutes, bool *dayLightSav if (strlen(res) != 18) { - DEBUGFDEVICE(m_DeviceName, INDI::Logger::DBG_ERROR, "%s: Expected 18 bytes but received %d.", __PRETTY_FUNCTION__, strlen(res)); + DEBUGFDEVICE(m_DeviceName, INDI::Logger::DBG_ERROR, "%s: Expected 18 bytes but received %d.", __PRETTY_FUNCTION__, + strlen(res)); return false; }