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-24 15:11:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libindi (Old) and /work/SRC/openSUSE:Factory/.libindi.new.2083 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libindi" Wed Aug 24 15:11:31 2022 rev:55 rq:998962 version:1.9.7 Changes: -------- --- /work/SRC/openSUSE:Factory/libindi/libindi.changes 2022-08-11 18:32:49.678242935 +0200 +++ /work/SRC/openSUSE:Factory/.libindi.new.2083/libindi.changes 2022-08-24 15:11:53.608546802 +0200 @@ -1,0 +2,12 @@ +Wed Aug 17 06:07:40 UTC 2022 - Paolo Stivanin <i...@paolostivanin.com> + +- Add fix-cfitsio.patch: FITS files produced by INDI are invalid because there is extra data at the end of the file. + Many software only read the first HDU are not affected, but other reject the file. +- Add fix-pegasus.patch: Corrections for Pegasus Falcon Rotator. + +------------------------------------------------------------------- +Sun Aug 14 15:42:23 UTC 2022 - Paolo Stivanin <i...@paolostivanin.com> + +- Add add-hem27.patch: add support for iOptron HEM27 mount. + +------------------------------------------------------------------- New: ---- add-hem27.patch fix-cfitsio.patch fix-pegasus.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libindi.spec ++++++ --- /var/tmp/diff_new_pack.Sx3opo/_old 2022-08-24 15:11:54.164547338 +0200 +++ /var/tmp/diff_new_pack.Sx3opo/_new 2022-08-24 15:11:54.172547346 +0200 @@ -30,6 +30,12 @@ Patch0: fix-ioptron-timeout.patch # PATCH-FIX-UPSTREAM https://github.com/indilib/indi/commit/b717412dc649dfb2505d08931bd9efbfc04b8ff9 Patch1: fix-ioptron-meridian.patch +# PATCH-FIX-UPSTREAM https://github.com/indilib/indi/commit/31176693ca947fe620bf1fb5a11180d70268c301 +Patch2: add-hem27.patch +# PATCH-FIX-UPSTREAM https://github.com/indilib/indi/commit/aabf47cf79bb603cc30a0b1ce3ae4bac81fff4cc +Patch3: fix-cfitsio.patch +# PATCH-FIX-UPSTREAM https://github.com/indilib/indi/commit/4ed6ad8ef3c5e2bb97ba6c16c0d368d476b4862d +Patch4: fix-pegasus.patch BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: libboost_system-devel ++++++ add-hem27.patch ++++++ >From 31176693ca947fe620bf1fb5a11180d70268c301 Mon Sep 17 00:00:00 2001 From: Jasem Mutlaq <mutla...@ikarustech.com> Date: Fri, 12 Aug 2022 05:31:57 +0300 Subject: [PATCH] Add HEM27 alias --- drivers.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers.xml b/drivers.xml index b6a71503e..e5f6da62f 100644 --- a/drivers.xml +++ b/drivers.xml @@ -169,6 +169,10 @@ <driver name="iOptronV3">indi_ioptronv3_telescope</driver> <version>1.6</version> </device> + <device label="iOptron HEM27" manufacturer="iOptron"> + <driver name="iOptronV3">indi_ioptronv3_telescope</driver> + <version>1.6</version> + </device> <device label="iOptron CEM40" manufacturer="iOptron"> <driver name="iOptronV3">indi_ioptronv3_telescope</driver> <version>1.6</version> ++++++ fix-cfitsio.patch ++++++ >From 0fbc934a362f77a4d89f7147a04cb97671dae57f Mon Sep 17 00:00:00 2001 From: Ludovic P <plu...@nnx.com> Date: Mon, 15 Aug 2022 00:41:05 +0200 Subject: [PATCH 1/2] Don't tell cfitsio about preallocated buffers --- libs/indibase/indiccdchip.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/indibase/indiccdchip.cpp b/libs/indibase/indiccdchip.cpp index 6c001a6d8f..03e9b9aa0a 100644 --- a/libs/indibase/indiccdchip.cpp +++ b/libs/indibase/indiccdchip.cpp @@ -39,8 +39,8 @@ CCDChip::~CCDChip() bool CCDChip::openFITSFile(uint32_t size, int &status) { - m_FITSMemorySize = size; - m_FITSMemoryBlock = IDSharedBlobAlloc(m_FITSMemorySize); + m_FITSMemorySize = size > 2880 ? 2880 : size; + m_FITSMemoryBlock = IDSharedBlobAlloc(size); if (m_FITSMemoryBlock == nullptr) { IDLog("Failed to allocate memory for FITS file."); >From 7dcac52aa5a5c27fcfb001ee8ab162a2506e703e Mon Sep 17 00:00:00 2001 From: Ludovic P <plu...@nnx.com> Date: Mon, 15 Aug 2022 01:27:01 +0200 Subject: [PATCH 2/2] Workaround for cfitsio doing realloc memory after flush... --- libs/indibase/indiccd.cpp | 3 +-- libs/indibase/indiccdchip.cpp | 20 ++++++++++++++++---- libs/indibase/indiccdchip.h | 10 ++++++++-- 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/libs/indibase/indiccd.cpp b/libs/indibase/indiccd.cpp index 06c26cd86d..39c82b9575 100644 --- a/libs/indibase/indiccd.cpp +++ b/libs/indibase/indiccd.cpp @@ -2282,8 +2282,7 @@ bool CCD::ExposureCompletePrivate(CCDChip * targetChip) addFITSKeywords(targetChip); fits_write_img(fptr, byte_type, 1, nelements, targetChip->getFrameBuffer(), &status); - fits_flush_file(fptr, &status); - + targetChip->finishFITSFile(status); if (status) { fits_report_error(stderr, status); /* print out any error messages */ diff --git a/libs/indibase/indiccdchip.cpp b/libs/indibase/indiccdchip.cpp index 03e9b9aa0a..fd90926cfb 100644 --- a/libs/indibase/indiccdchip.cpp +++ b/libs/indibase/indiccdchip.cpp @@ -58,14 +58,26 @@ bool CCDChip::openFITSFile(uint32_t size, int &status) return (status == 0); } -bool CCDChip::closeFITSFile() +bool CCDChip::finishFITSFile(int &status) { - int status = 0; + fits_flush_file(m_FITSFilePointer, &status); fits_close_file(m_FITSFilePointer, &status); - m_FITSFilePointer = nullptr; + if (status == 0) { + m_FITSFilePointer = nullptr; + } + return (status == 0); +} + +void CCDChip::closeFITSFile() +{ + if (m_FITSFilePointer != nullptr) { + int status = 0; + // Discard error here, the caller can't expect a valid file anymore at that point + fits_close_file(m_FITSFilePointer, &status); + m_FITSFilePointer = nullptr; + } IDSharedBlobFree(m_FITSMemoryBlock); m_FITSMemoryBlock = nullptr; - return (status == 0); } void CCDChip::setFrameType(CCD_FRAME type) diff --git a/libs/indibase/indiccdchip.h b/libs/indibase/indiccdchip.h index f4a79fe974..8a39e5753d 100644 --- a/libs/indibase/indiccdchip.h +++ b/libs/indibase/indiccdchip.h @@ -57,11 +57,17 @@ class CCDChip */ bool openFITSFile(uint32_t size, int &status); + /** - * @brief closeFITSFile Close the in-memory FITS File. + * @brief Finish any pending write to fits file. * @return True if successful, false otherwise. */ - bool closeFITSFile(); + bool finishFITSFile(int &status); + + /** + * @brief closeFITSFile Close the in-memory FITS File. + */ + void closeFITSFile(); /** * @brief getXRes Get the horizontal resolution in pixels of the CCD Chip. ++++++ fix-pegasus.patch ++++++ >From 4ed6ad8ef3c5e2bb97ba6c16c0d368d476b4862d Mon Sep 17 00:00:00 2001 From: escribana <escri...@bluewin.ch> Date: Mon, 15 Aug 2022 17:42:00 +0200 Subject: [PATCH] Corrections for Pegasus Falcon Rotator: (#1721) --- drivers/rotator/pegasus_falcon.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/rotator/pegasus_falcon.cpp b/drivers/rotator/pegasus_falcon.cpp index c78f0e8fdf..4bb787f60c 100644 --- a/drivers/rotator/pegasus_falcon.cpp +++ b/drivers/rotator/pegasus_falcon.cpp @@ -191,15 +191,15 @@ bool PegasusFalcon::AbortRotator() } ////////////////////////////////////////////////////////////////////// -/// +/// Command for reverse action ("FN:0" disabled, "FN:1" enabled) ////////////////////////////////////////////////////////////////////// bool PegasusFalcon::ReverseRotator(bool enabled) { char cmd[DRIVER_LEN] = {0}, res[DRIVER_LEN] = {0}; - snprintf(cmd, DRIVER_LEN, "FR:%d", enabled ? 1 : 0); + snprintf(cmd, DRIVER_LEN, "FN:%d", enabled ? 1 : 0); if (sendCommand(cmd, res)) { - return (!strcmp(res, cmd)); + return (!strncmp(res, cmd, 4)); //Restrict length to 4 chars! } return false;