Київський клуб аматорів астрономії "Астрополіс"

astromagazin.net
* *
Ласкаво просимо, Гість. Будь ласка, увійдіть або зареєструйтеся.
17 Лютого 2025, 05:43:00

Увійти

google


Автор Тема: INDI драйвер для камер PointGrey Chameleon  (Прочитано 1827 раз)

0 Користувачів і 1 Гість дивляться цю тему.

AYN

  • Offline Offline
  • Повідомлень: 948
  • Подяк: 3957
  • Одесса, Астродес
INDI драйвер для камер PointGrey Chameleon
« : 27 Березня 2017, 01:06:52 »
. - .

Невозможность полноценно использовать весьма хорошую камеру  Point Grey Chameleon на ICX445 сенсоре Sony, сподвигла меня на написание (а точнее глубокую переработку существующего старого драйвера от камеры Poing Grey Firefly MV :)
Итогом стал вполне работающий драйвер для "Хамелеона", использующий библиотеку dc1394. Позволяет делать экспозиции от 0.01 сек до 32 сек, и управлять усилением (Gain) через вкладку Image Settings панели INDI. В драйвере жестко установлен режим 1280x960 точек моно, как основной для этой камеры.
В коде используются только стандартные функции dc1394, без программирования регистров напрямую, поэтому возможно этот драйвер будет работать и для других подобных камер, но надо проверять.

Исходники (и готовый бинарник под x86_64-linux) тут:
https://github.com/anikolenko/indi-dc1394-pgrey/
Собирал и тестировал под Ubuntu 16.10.
( после сборки бинарник надо кинуть в /usr/bin и в /usr/share/indi положить xml файл, если они туда сами не попадут при make install)
Если будут вопросы по сборке - постараюсь помочь...  Предложения по усовершенствованию также приветствуются...  :SLA:

Теперь камера полноценно работает как гидирующая в PHD2, для чего все и было затеяно... Ну и снимать ей можно.
« Останнє редагування: 27 Березня 2017, 21:53:05 від AYN »
Записаний
Подякували

Олег Малий

  • Offline Offline
  • Повідомлень: 2551
  • Подяк: 604
Re: INDI драйвер для камер PointGrey Chameleon
« Відповідь #1 : 27 Березня 2017, 01:54:38 »
. - .

Компиллятор gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ругается:
Код: [Select]
astronom@astronom:~/indi-dc1394-pgrey$ cmake .
-- The CXX compiler identification is GNU 5.4.0
-- The C compiler identification is GNU 5.4.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Found CFITSIO 3.39: /usr/local/lib/libcfitsio.a
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'libindi'
--   Found libindi, version 1.2.0
-- Could NOT find INDI (missing:  INDI_MAIN_LIBRARIES) (found version "1.2.0")
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.8")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/astronom/indi-dc1394-pgrey
astronom@astronom:~/indi-dc1394-pgrey$ make
Scanning dependencies of target indi_dc1394_pgrey
[ 50%] Building CXX object CMakeFiles/indi_dc1394_pgrey.dir/indi_dc1394_pgrey.o
In file included from /home/astronom/indi-dc1394-pgrey/indi_dc1394_pgrey.cpp:30:0:
/home/astronom/indi-dc1394-pgrey/indi_dc1394_pgrey.h:72:22: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11
     float gain_min = 0;
                      ^
/home/astronom/indi-dc1394-pgrey/indi_dc1394_pgrey.h:73:22: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11
     float gain_max = 5;
                      ^
/home/astronom/indi-dc1394-pgrey/indi_dc1394_pgrey.cpp:36:6: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
 std::unique_ptr<DC1394_PGREY> dc1394_pgrey(new DC1394_PGREY());
      ^
/home/astronom/indi-dc1394-pgrey/indi_dc1394_pgrey.cpp: In function ‘void ISInit()’:
/home/astronom/indi-dc1394-pgrey/indi_dc1394_pgrey.cpp:44:9: error: ‘dc1394_pgrey’ was not declared in this scope
      if(dc1394_pgrey.get() == 0) dc1394_pgrey.reset(new DC1394_PGREY());
         ^
/home/astronom/indi-dc1394-pgrey/indi_dc1394_pgrey.cpp: In function ‘void ISGetProperties(const char*)’:
/home/astronom/indi-dc1394-pgrey/indi_dc1394_pgrey.cpp:49:10: error: ‘dc1394_pgrey’ was not declared in this scope
          dc1394_pgrey->ISGetProperties(dev);
          ^
/home/astronom/indi-dc1394-pgrey/indi_dc1394_pgrey.cpp: In function ‘void ISNewSwitch(const char*, const char*, ISState*, char**, int)’:
/home/astronom/indi-dc1394-pgrey/indi_dc1394_pgrey.cpp:54:10: error: ‘dc1394_pgrey’ was not declared in this scope
          dc1394_pgrey->ISNewSwitch(dev, name, states, names, num);
          ^
/home/astronom/indi-dc1394-pgrey/indi_dc1394_pgrey.cpp: In function ‘void ISNewText(const char*, const char*, char**, char**, int)’:
/home/astronom/indi-dc1394-pgrey/indi_dc1394_pgrey.cpp:59:10: error: ‘dc1394_pgrey’ was not declared in this scope
          dc1394_pgrey->ISNewText(dev, name, texts, names, num);
          ^
/home/astronom/indi-dc1394-pgrey/indi_dc1394_pgrey.cpp: In function ‘void ISNewNumber(const char*, const char*, double*, char**, int)’:
/home/astronom/indi-dc1394-pgrey/indi_dc1394_pgrey.cpp:64:10: error: ‘dc1394_pgrey’ was not declared in this scope
          dc1394_pgrey->ISNewNumber(dev, name, values, names, num);
          ^
/home/astronom/indi-dc1394-pgrey/indi_dc1394_pgrey.cpp: In function ‘void ISSnoopDevice(XMLEle*)’:
/home/astronom/indi-dc1394-pgrey/indi_dc1394_pgrey.cpp:80:6: error: ‘dc1394_pgrey’ was not declared in this scope
      dc1394_pgrey->ISSnoopDevice(root);
      ^
CMakeFiles/indi_dc1394_pgrey.dir/build.make:62: recipe for target 'CMakeFiles/indi_dc1394_pgrey.dir/indi_dc1394_pgrey.o' failed
make[2]: *** [CMakeFiles/indi_dc1394_pgrey.dir/indi_dc1394_pgrey.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/indi_dc1394_pgrey.dir/all' failed
make[1]: *** [CMakeFiles/indi_dc1394_pgrey.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
Записаний
Подякували

AYN

  • Offline Offline
  • Повідомлень: 948
  • Подяк: 3957
  • Одесса, Астродес
Re: INDI драйвер для камер PointGrey Chameleon
« Відповідь #2 : 27 Березня 2017, 11:37:27 »
. - .

Компиллятор gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ругается:
..........
Спасибо. Попробую пофиксить. У меня на 16.10 (со всеми последними апдейтами): gcc version 6.2.0 20161005 (Ubuntu 6.2.0-5ubuntu12) - на нем все создавал. На другом компе есть 16.04, надо будет там еще посмотреть.

P.S. На Mac OS X кстати существует родной уже драйвер dc1394 в PHD2 (только Mac OS версии), и он может работать с этой камерой, если выбрать из списка: The Imaging Source (DCAM Firewire). Но INDI его не знает. Да и PHD2 работает как то странно с этим драйвером - у меня часто вешался с ошибкой, хотя картинку выдавал.
Записаний

Олег Малий

  • Offline Offline
  • Повідомлень: 2551
  • Подяк: 604
Re: INDI драйвер для камер PointGrey Chameleon
« Відповідь #3 : 27 Березня 2017, 12:53:27 »
. - .

С оглядкой на то, что Ubuntu 16.04 является LTS версией (англ. Long Term Support; «поддержка в течение длительного периода»), смысл пофиксить есть.
Записаний

AYN

  • Offline Offline
  • Повідомлень: 948
  • Подяк: 3957
  • Одесса, Астродес
Re: INDI драйвер для камер PointGrey Chameleon
« Відповідь #4 : 27 Березня 2017, 13:22:46 »
. - .

С оглядкой на то, что Ubuntu 16.04 является LTS версией (англ. Long Term Support; «поддержка в течение длительного периода»), смысл пофиксить есть.

Полностью согласен !
Уже пофиксил, и проверил на 16.04 - собирается нормально. Также перенес управление Gain в основную вкладку прямо под Экспозицией - мне показалось так удобней будет.  Закоммитил изменения.

Камера Chameleon также умеет выдавать свою температуру, в принципе думаю это добавить в будущем, но это уже будет специфическая функция для этой конкретной модели.

Есть два момента. Первое - по умолчанию при make install бинарник может идти в /usr/local/bin, и он не будет видеться среди доступных драйверов в списке камер( в INDI панеле), но можно вручную скопировать его в /usr/bin.
Второе - в PHD2 при выборе типа камеры (Main Camera или Guider) надо выбирать Main Camera. В коде драйвера он идет как PrimaryCCD.
Записаний

Олег Малий

  • Offline Offline
  • Повідомлень: 2551
  • Подяк: 604
Re: INDI драйвер для камер PointGrey Chameleon
« Відповідь #5 : 27 Березня 2017, 13:52:23 »
. - .

Есть ли в планах продолжать писать INDI драйверы для железа?
Записаний

Олег Малий

  • Offline Offline
  • Повідомлень: 2551
  • Подяк: 604
Re: INDI драйвер для камер PointGrey Chameleon
« Відповідь #6 : 27 Березня 2017, 14:18:33 »
. - .

gcc version 5.4.1 20160904 (Ubuntu 5.4.1-2ubuntu1~16.04)
Код: [Select]
astronom@astronom:~/indi-dc1394-pgrey-master$ cmake .
-- The CXX compiler identification is GNU 5.4.1
-- The C compiler identification is GNU 5.4.1
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Found CFITSIO 3.39: /usr/local/lib/libcfitsio.a
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'libindi'
--   Found libindi, version 1.2.0
-- Could NOT find INDI (missing:  INDI_MAIN_LIBRARIES) (found version "1.2.0")
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.8")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/astronom/indi-dc1394-pgrey-master
astronom@astronom:~/indi-dc1394-pgrey-master$ make
Scanning dependencies of target indi_dc1394_pgrey
[ 50%] Building CXX object CMakeFiles/indi_dc1394_pgrey.dir/indi_dc1394_pgrey.o
[100%] Linking CXX executable indi_dc1394_pgrey
CMakeFiles/indi_dc1394_pgrey.dir/indi_dc1394_pgrey.o:(.rodata._ZTV12DC1394_PGREY[_ZTV12DC1394_PGREY]+0x88): undefined reference to `INDI::DefaultDevice::saveConfig(bool)'
CMakeFiles/indi_dc1394_pgrey.dir/indi_dc1394_pgrey.o:(.rodata._ZTV12DC1394_PGREY[_ZTV12DC1394_PGREY]+0x1a0): undefined reference to `non-virtual thunk to INDI::CCD::GuideNorth(float)'
CMakeFiles/indi_dc1394_pgrey.dir/indi_dc1394_pgrey.o:(.rodata._ZTV12DC1394_PGREY[_ZTV12DC1394_PGREY]+0x1a8): undefined reference to `non-virtual thunk to INDI::CCD::GuideSouth(float)'
CMakeFiles/indi_dc1394_pgrey.dir/indi_dc1394_pgrey.o:(.rodata._ZTV12DC1394_PGREY[_ZTV12DC1394_PGREY]+0x1b0): undefined reference to `non-virtual thunk to INDI::CCD::GuideEast(float)'
CMakeFiles/indi_dc1394_pgrey.dir/indi_dc1394_pgrey.o:(.rodata._ZTV12DC1394_PGREY[_ZTV12DC1394_PGREY]+0x1b8): undefined reference to `non-virtual thunk to INDI::CCD::GuideWest(float)'
CMakeFiles/indi_dc1394_pgrey.dir/indi_dc1394_pgrey.o:(.rodata._ZTV12DC1394_PGREY[_ZTV12DC1394_PGREY]+0x1c0): undefined reference to `non-virtual thunk to INDI::CCD::GuideComplete(INDI_EQ_AXIS)'
collect2: error: ld returned 1 exit status
CMakeFiles/indi_dc1394_pgrey.dir/build.make:97: recipe for target 'indi_dc1394_pgrey' failed
make[2]: *** [indi_dc1394_pgrey] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/indi_dc1394_pgrey.dir/all' failed
make[1]: *** [CMakeFiles/indi_dc1394_pgrey.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
astronom@astronom:~/indi-dc1394-pgrey-master$
Записаний

AYN

  • Offline Offline
  • Повідомлень: 948
  • Подяк: 3957
  • Одесса, Астродес
Re: INDI драйвер для камер PointGrey Chameleon
« Відповідь #7 : 27 Березня 2017, 15:18:29 »
. - .

gcc version 5.4.1 20160904 (Ubuntu 5.4.1-2ubuntu1~16.04)
Код: [Select]
astronom@astronom:~/indi-dc1394-pgrey-master$ cmake .

CMakeFiles/indi_dc1394_pgrey.dir/indi_dc1394_pgrey.o:(.rodata._ZTV12DC1394_PGREY[_ZTV12DC1394_PGREY]+0x1a8): undefined reference to `non-virtual thunk to INDI::CCD::GuideSouth(float)'
CMakeFiles/indi_dc1394_pgrey.dir/indi_dc1394_pgrey.o:(.rodata._ZTV12DC1394_PGREY[_ZTV12DC1394_PGREY]+0x1b0): undefined reference to `non-virtual thunk to INDI::CCD::GuideEast(float)'
CMakeFiles/indi_dc1394_pgrey.dir/indi_dc1394_pgrey.o:(.rodata._ZTV12DC1394_PGREY[_ZTV12DC1394_PGREY]+0x1b8): undefined reference to `non-virtual thunk to INDI::CCD::GuideWest(float)'
CMakeFiles/indi_dc1394_pgrey.dir/indi_dc1394_pgrey.o:(.rodata._ZTV12DC1394_PGREY[_ZTV12DC1394_PGREY]+0x1c0): undefined reference to `non-virtual thunk to INDI::CCD::GuideComplete(INDI_EQ_AXIS)'
 


- С этим сложней, у меня на 16.04 не воспроизводится. Похоже надо создать хотя бы пустые методы INDI::CCD::Guide.... как в  драйвера-образце (generic_ccd.cpp). Надо попробовать...
Возможно эта ошибка зависит и от установленной версии libindi. У меня на 16.04 и на 16.10 везде стоит свежий релиз libindi1 :
$ sudo apt show libindi1:
Package: libindi1
Version: 1.4.1+r3015~201703262147~ubuntu16.10.1

Если кстати включить REQUIRED для INDI в CMakeLists.txt, как у остальных пакетов, то у меня не находит INDI_MAIN_LIBRARIES и сразу вылетает ошибка. Но если отключить REQUIRED, что я и сделал, то собирается нормально.

Насчет написания других драйверов - теоретически можно, время немного есть... Но после обычного для себя Javascript, пишу код на C/C++ крепко стиснув зубы :)  Последний раз лет 10 назад немного на C++ под Qt довелось писать, но совсем немного. Уже порядком С забыл...
Записаний

AYN

  • Offline Offline
  • Повідомлень: 948
  • Подяк: 3957
  • Одесса, Астродес
Re: INDI драйвер для камер PointGrey Chameleon
« Відповідь #8 : 27 Березня 2017, 18:02:17 »
. - .

...добавил отсутствующие методы, может будет теперь линковаться нормально... Есть возможность проверить на старом libindi ?  Заранее Спасибо.
Записаний

Олег Малий

  • Offline Offline
  • Повідомлень: 2551
  • Подяк: 604
Re: INDI драйвер для камер PointGrey Chameleon
« Відповідь #9 : 27 Березня 2017, 20:39:07 »
. - .

Package: libindi1 Version: 1.4.1+r3015~201703262147~ubuntu16.04.1

Код: [Select]
astronom@astronom:~$ sudo apt show libindi1
[sudo] password for astronom:
Package: libindi1
Version: 1.4.1+r3015~201703262147~ubuntu16.04.1
Priority: optional
Section: libs
Source: libindi
Maintainer: Jasem Mutlaq <mutlaqja@ikarustech.com>
Installed-Size: 903 kB
Depends: libc6 (>= 2.17), libcfitsio2 (>= 3.370), libgcc1 (>= 1:3.0), libgsl2, libjpeg8 (>= 8c), libnova-0.14-0, libstdc++6 (>= 5.2), libusb-1.0-0 (>= 2:1.0.9~), zlib1g (>= 1:1.1.4), libindi-data (>= 1.4.1+r3015~201703262147~ubuntu16.04.1), indi-bin (>= 1.4.1+r3015~201703262147~ubuntu16.04.1)
Conflicts: libindi-plugins, libindi0
Replaces: libindi-plugins, libindi0
Download-Size: 249 kB
APT-Manual-Installed: no
APT-Sources: http://ppa.launchpad.net/mutlaqja/ppa/ubuntu xenial/main amd64 Packages
Description: Instrument-Neutral Device Interface library -- shared library
 INDI (Instrument-Neutral Device Interface) is a distributed XML-based
 control protocol designed to operate astronomical instrumentation.
 INDI is small, flexible, easy to parse, scalable, and stateless.
 It supports common DCS functions such as remote control, data acquisition,
 monitoring, and a lot more.
 .
 This package contains the shared library.

N: There is 1 additional record. Please use the '-a' switch to see it


 :( :hz:
Код: [Select]
astronom@astronom:~/indi-dc1394-pgrey$ cmake .
-- The CXX compiler identification is GNU 5.4.1
-- The C compiler identification is GNU 5.4.1
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Found CFITSIO 3.39: /usr/local/lib/libcfitsio.a
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'libindi'
--   Found libindi, version 1.2.0
-- Could NOT find INDI (missing:  INDI_MAIN_LIBRARIES) (found version "1.2.0")
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.8")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/astronom/indi-dc1394-pgrey
astronom@astronom:~/indi-dc1394-pgrey$ make
Scanning dependencies of target indi_dc1394_pgrey
[ 50%] Building CXX object CMakeFiles/indi_dc1394_pgrey.dir/indi_dc1394_pgrey.o
[100%] Linking CXX executable indi_dc1394_pgrey
CMakeFiles/indi_dc1394_pgrey.dir/indi_dc1394_pgrey.o:(.rodata._ZTV12DC1394_PGREY[_ZTV12DC1394_PGREY]+0x88): undefined reference to `INDI::DefaultDevice::saveConfig(bool)'
CMakeFiles/indi_dc1394_pgrey.dir/indi_dc1394_pgrey.o:(.rodata._ZTV12DC1394_PGREY[_ZTV12DC1394_PGREY]+0x1c0): undefined reference to `non-virtual thunk to INDI::CCD::GuideComplete(INDI_EQ_AXIS)'
collect2: error: ld returned 1 exit status
CMakeFiles/indi_dc1394_pgrey.dir/build.make:97: recipe for target 'indi_dc1394_pgrey' failed
make[2]: *** [indi_dc1394_pgrey] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/indi_dc1394_pgrey.dir/all' failed
make[1]: *** [CMakeFiles/indi_dc1394_pgrey.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
astronom@astronom:~/indi-dc1394-pgrey$
Записаний

Олег Малий

  • Offline Offline
  • Повідомлень: 2551
  • Подяк: 604
Re: INDI драйвер для камер PointGrey Chameleon
« Відповідь #10 : 27 Березня 2017, 21:03:13 »
. - .

Для интереса, я поставил Ubuntu 17.04 (64 bit) на виртуальную машину и попробовал собрать код:
gcc version 6.3.0 20170221 (Ubuntu 6.3.0-8ubuntu1)
Собралось без проблем!

Код: [Select]
oleh@oleh-VirtualBox:~/indi-dc1394-pgrey-master$ cmake .
-- The CXX compiler identification is GNU 6.3.0
-- The C compiler identification is GNU 6.3.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Found CFITSIO 3.41: /usr/lib/x86_64-linux-gnu/libcfitsio.so
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'libindi'
--   Found libindi, version 1.2.0
-- Could NOT find INDI (missing:  INDI_MAIN_LIBRARIES) (found version "1.2.0")
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/oleh/indi-dc1394-pgrey-master
oleh@oleh-VirtualBox:~/indi-dc1394-pgrey-master$ make
Scanning dependencies of target indi_dc1394_pgrey
[ 50%] Building CXX object CMakeFiles/indi_dc1394_pgrey.dir/indi_dc1394_pgrey.o
[100%] Linking CXX executable indi_dc1394_pgrey
[100%] Built target indi_dc1394_pgrey

Мой вывод: старая libindi - не проблема.
Похоже, что компиллятор должен быть новее, чем gcc version 5.4.0
Записаний

AYN

  • Offline Offline
  • Повідомлень: 948
  • Подяк: 3957
  • Одесса, Астродес
Re: INDI драйвер для камер PointGrey Chameleon
« Відповідь #11 : 27 Березня 2017, 21:11:27 »
. - .

Для интереса, я поставил Ubuntu 17.04 (64 bit) на виртуальную машину и попробовал собрать код:
gcc version 6.3.0 20170221 (Ubuntu 6.3.0-8ubuntu1)
Собралось без проблем!


Это радует! Но возможно дело не в компиляторе. Вот похожая проблема была озвучена:
https://sourceforge.net/p/indi/bugs/67/
возможно дело в старых библиотеках libindi, где-то находящихся в системе...

Most likely cause if that the 3rd party is being built against an older version of libindi. If you installed libindi before via apt-get, the library files are installed here /usr/lib/x86_64-linux-gnu (for 64bit). Check if you have libindidriver.so. libindi.so. libindiAlignmentDriver.so.1..etc. If they're there, then delete them, and then delete the contents of the 3rd party build directory, then run cmake again.



А не пробовали собрать другие драйвера из пакета indi-3rdparty ?
https://github.com/indilib/indi/releases/download/v1.4.1/libindi_3rdparty_1.4.1.tar.gz
Записаний

Олег Малий

  • Offline Offline
  • Повідомлень: 2551
  • Подяк: 604
Re: INDI драйвер для камер PointGrey Chameleon
« Відповідь #12 : 27 Березня 2017, 22:31:32 »
. - .

Я собираю по иструкции на странице https://github.com/indilib/indi
Записаний

Олег Малий

  • Offline Offline
  • Повідомлень: 2551
  • Подяк: 604
Re: INDI драйвер для камер PointGrey Chameleon
« Відповідь #13 : 27 Березня 2017, 23:31:24 »
. - .

Я обновил компиллятор до версии gcc version 6.2.0 20160901 (Ubuntu 6.2.0-3ubuntu11~16.04).
Вот с ним код собирает без ошибок:

Код: [Select]
astronom@astronom:~/indi-dc1394-pgrey-master$ cmake .
-- The CXX compiler identification is GNU 6.2.0
-- The C compiler identification is GNU 6.2.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Found CFITSIO 3.39: /usr/local/lib/libcfitsio.a
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'libindi'
--   Found libindi, version 1.4.1
-- Could NOT find INDI (missing:  INDI_MAIN_LIBRARIES) (found version "1.4.1")
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.8")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/astronom/indi-dc1394-pgrey-master
astronom@astronom:~/indi-dc1394-pgrey-master$ make
Scanning dependencies of target indi_dc1394_pgrey
[ 50%] Building CXX object CMakeFiles/indi_dc1394_pgrey.dir/indi_dc1394_pgrey.o
[100%] Linking CXX executable indi_dc1394_pgrey
[100%] Built target indi_dc1394_pgrey
astronom@astronom:~/indi-dc1394-pgrey-master$

Записаний

AYN

  • Offline Offline
  • Повідомлень: 948
  • Подяк: 3957
  • Одесса, Астродес
Re: INDI драйвер для камер PointGrey Chameleon
« Відповідь #14 : 28 Березня 2017, 11:04:48 »
. - .

Я обновил компиллятор до версии gcc version 6.2.0 20160901 (Ubuntu 6.2.0-3ubuntu11~16.04).
Вот с ним код собирает без ошибок:

Собрал на другой машине с 16.04, там именно 5.4 gcc  - собралось и слинковалось без ошибок. Дело точно не в компиляторе получается. Надо наверное полностью удалить все следы INDI и потом поставить заново самую последнюю версию. Должно собираться после этого.

Обновил кодовую базу - добавил очистку буфера DMA перед запуском экспозиции. Она изначально была, сначала выкинул за ненадобностью, но потом посмотрел что без нее много кадров с разной интенсивностью попадаются (заметно больше на выдержках в неск. секунд), и вернул обратно.  Также добавил вывод температурного датчика.
Записаний
Подякували

Олег Малий

  • Offline Offline
  • Повідомлень: 2551
  • Подяк: 604
Re: INDI драйвер для камер PointGrey Chameleon
« Відповідь #15 : 29 Березня 2017, 13:58:41 »
. - .

Хорошо. Спасибо!

Вот INDI форум http://www.indilib.org/forum.html , на котором обсуждается написание драйверов, использование, тестирование  и т.д. и т.п.
Записаний

AYN

  • Offline Offline
  • Повідомлень: 948
  • Подяк: 3957
  • Одесса, Астродес
Re: INDI драйвер для камер PointGrey Chameleon
« Відповідь #16 : 29 Березня 2017, 16:15:20 »
. - .

Хорошо. Спасибо!

Вот INDI форум http://www.indilib.org/forum.html , на котором обсуждается написание драйверов, использование, тестирование  и т.д. и т.п.

Да, я там уже зарегистрировался раньше. Спасибо.

P.S. Сегодня камеру и драйвер впервые по настоящему использовал для гидирования ночью. Заодно в первый раз попробовал гидировать через встроенную гидирующую часть пакета Kstars/Ekos.
Гидирование работало, но периодически отваливалось (просто останавливалось) с выводом что-то типа "не могу определить движение звезды", хотя само изображение звезд по картинке с камеры было стабильное, и определенно саму звезду гид видел...  Гид управлял монтировкой EQ6 через INDI EQMod драйвер.

P.P.S Был еще один момент, когда гидирование и калибровка вообще не включалась (и ведение вместе с ним), с выдачей "выход за пределы ограничений" для монтировки, хотя перед этим делал астрометрию кадра с камеры, и встроенный солвер вполне себе определил позицию правильно, но потом я перевел монтировку на пару градусов в сторону и выскакивает - "вне лимита" и все останавливается... Высота объекта была довольно высоко над горизонтом (градусов 20-25) и вроде как время и позиция места наблюдения установлены правильно.
Записаний

Олег Малий

  • Offline Offline
  • Повідомлень: 2551
  • Подяк: 604
Re: INDI драйвер для камер PointGrey Chameleon
« Відповідь #17 : 29 Березня 2017, 20:11:10 »
. - .

Хорошо. Спасибо!

Вот INDI форум http://www.indilib.org/forum.html , на котором обсуждается написание драйверов, использование, тестирование  и т.д. и т.п.

Да, я там уже зарегистрировался раньше. Спасибо.

P.S. Сегодня камеру и драйвер впервые по настоящему использовал для гидирования ночью. Заодно в первый раз попробовал гидировать через встроенную гидирующую часть пакета Kstars/Ekos.
Гидирование работало, но периодически отваливалось (просто останавливалось) с выводом что-то типа "не могу определить движение звезды", хотя само изображение звезд по картинке с камеры было стабильное, и определенно саму звезду гид видел...  Гид управлял монтировкой EQ6 через INDI EQMod драйвер.

P.P.S Был еще один момент, когда гидирование и калибровка вообще не включалась (и ведение вместе с ним), с выдачей "выход за пределы ограничений" для монтировки, хотя перед этим делал астрометрию кадра с камеры, и встроенный солвер вполне себе определил позицию правильно, но потом я перевел монтировку на пару градусов в сторону и выскакивает - "вне лимита" и все останавливается... Высота объекта была довольно высоко над горизонтом (градусов 20-25) и вроде как время и позиция места наблюдения установлены правильно.
Опиши проблему на http://www.indilib.org/forum.html
Не исключено, что причина проблемы может находится в твоём драйвере.
Записаний

AYN

  • Offline Offline
  • Повідомлень: 948
  • Подяк: 3957
  • Одесса, Астродес
Re: INDI драйвер для камер PointGrey Chameleon
« Відповідь #18 : 29 Березня 2017, 21:09:13 »
. - .


Опиши проблему на http://www.indilib.org/forum.html
Не исключено, что причина проблемы может находится в твоём драйвере.

Пока я не добавлял драйвер в INDI базу, и о нем фактически никто не знает, кроме тех кто читал эту тему. Чтобы его добавить, надо еще дописать пару вещей, как минимум фильтр на определение конкретной модели камеры по PID/VID, как в образце драйвера. Мне кажется будет не совсем правильно выкладывать в базу INDI драйвер, который будет пытаться запустить (как сейчас) вообще любую первую попавшуюся камеру с DC1394 интерфейсом. Хотя может это тоже было бы полезно, но тогда драйвер надо переименовать в "indi_dc1394_ccd" или что-то наподобие...

А чтоб определить причину проблем с гидированием, надо бы испытать гидирование с тем же оборудованием и софтом, но с другой камерой. Тогда станет ясно кто виноват.  Постараюсь сделать это в будущем. И хорошо бы чтоб как минимум еще кто то испытал драйвер, с такой же камерой  (а желательно не один человек), но с разным оборудованием и железом... 
Записаний

Олег Малий

  • Offline Offline
  • Повідомлень: 2551
  • Подяк: 604
Re: INDI драйвер для камер PointGrey Chameleon
« Відповідь #19 : 29 Березня 2017, 21:48:15 »
. - .

Хорошо.

Обрати внимание на вот этот код драйвера https://sourceforge.net/projects/indi-opencv/
Записаний