diff --git a/fli_control/CMakeLists.txt b/fli_control/CMakeLists.txt index 32c1b77..572d304 100644 --- a/fli_control/CMakeLists.txt +++ b/fli_control/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 2.8) set(PROJ fli_control) project(${PROJ}) set(MINOR_VERSION "0") -set(MID_VERSION "1") +set(MID_VERSION "2") set(MAJOR_VERSION "0") set(VERSION "${MAJOR_VERSION}.${MID_VERSION}.${MINOR_VERSION}") @@ -23,8 +23,10 @@ if(DEFINED EBUG) add_definitions(-DEBUG) endif() +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") +find_package(CFITSIO REQUIRED) find_package(PkgConfig REQUIRED) -set(MODULES cfitsio>=3.0 fli>=1.71) +set(MODULES fli>=1.71) # additional modules on condition if(DEFINED USEPNG) set(MODULES ${MODULES} libpng>=1.2) @@ -60,7 +62,7 @@ set(RU_FILE ${LCPATH}/ru.po) # exe file add_executable(${PROJ} ${SOURCES} ${PO_FILE} ${MO_FILE}) -target_link_libraries(${PROJ} ${${PROJ}_LIBRARIES}) +target_link_libraries(${PROJ} ${CFITSIO_LIBRARIES} ${${PROJ}_LIBRARIES}) include_directories(${${PROJ}_INCLUDE_DIRS}) link_directories(${${PROJ}_LIBRARY_DIRS} ) add_definitions(${CFLAGS} -DLOCALEDIR=\"${LOCALEDIR}\" diff --git a/fli_control/cmdlnopts.c b/fli_control/cmdlnopts.c index 468185a..99321ca 100644 --- a/fli_control/cmdlnopts.c +++ b/fli_control/cmdlnopts.c @@ -82,6 +82,7 @@ myoption cmdlnopts[] = { {"object", NEED_ARG, NULL, 'O', arg_string, APTR(&G.objname), N_("object name")}, {"obsname", NEED_ARG, NULL, 'N', arg_string, APTR(&G.observers), N_("observers' names")}, {"prog-id", NEED_ARG, NULL, 'P', arg_string, APTR(&G.prog_id), N_("observing program name")}, + {"addrec", MULT_PAR, NULL, 'r', arg_string, APTR(&G.addhdr), N_("add records to header from given file[s]")}, //{"", NEED_ARG, NULL, '', arg_string, APTR(&G.), N_("")}, {"nflushes",NEED_ARG, NULL, 'f', arg_int, APTR(&G.nflushes), N_("N flushes before exposing")}, diff --git a/fli_control/cmdlnopts.h b/fli_control/cmdlnopts.h index f29d190..47e2540 100644 --- a/fli_control/cmdlnopts.h +++ b/fli_control/cmdlnopts.h @@ -56,6 +56,7 @@ typedef struct{ // int getwheel; // get position of wheel int setwheel; // set wheel position int async; // asynchronous moving + char **addhdr; // list of files from which to add header records } glob_pars; diff --git a/fli_control/locale/ru/LC_MESSAGES/fli_control.mo b/fli_control/locale/ru/LC_MESSAGES/fli_control.mo index 5e2a430..1a0f90b 100644 Binary files a/fli_control/locale/ru/LC_MESSAGES/fli_control.mo and b/fli_control/locale/ru/LC_MESSAGES/fli_control.mo differ diff --git a/fli_control/locale/ru/messages.po b/fli_control/locale/ru/messages.po index 996f0f4..d8d3b68 100644 --- a/fli_control/locale/ru/messages.po +++ b/fli_control/locale/ru/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-01 10:51+0300\n" +"POT-Creation-Date: 2020-02-22 20:05+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,424 +17,433 @@ msgstr "" "Content-Type: text/plain; charset=koi8-r\n" "Content-Transfer-Encoding: 8bit\n" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:65 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:65 msgid "show this help" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:66 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:66 msgid "rewrite output file if exists" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:67 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:67 msgid "verbose level (each -v increase it)" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:68 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:68 msgid "not open shutter, when exposing (\"dark frames\")" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:69 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:69 msgid "open shutter" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:70 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:70 msgid "close shutter" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:71 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:71 msgid "run exposition on LOW @ pin5 I/O port" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:72 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:72 msgid "run exposition on HIGH @ pin5 I/O port" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:73 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:73 msgid "get value of I/O port pins" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:74 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:74 msgid "move stepper motor asynchronous" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:75 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:75 msgid "run in 8-bit mode" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:76 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:76 msgid "fast (8MHz) readout mode" msgstr "" #. {"", NO_ARGS, NULL, '', arg_int, APTR(&G.), N_("")}, -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:79 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:79 msgid "program author" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:80 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:80 msgid "object type (neon, object, flat etc)" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:81 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:81 msgid "instrument name" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:82 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:82 msgid "object name" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:83 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:83 msgid "observers' names" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:84 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:84 msgid "observing program name" msgstr "" +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:85 +msgid "add records to header from given file[s]" +msgstr "" + #. {"", NEED_ARG, NULL, '', arg_string, APTR(&G.), N_("")}, -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:87 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:88 msgid "N flushes before exposing" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:88 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:89 msgid "horizontal binning to N pixels" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:89 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:90 msgid "vertical binning to N pixels" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:90 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:91 msgid "make series of N frames" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:91 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:92 msgid "make pause for N seconds between expositions" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:92 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:93 msgid "set exposure time to given value (ms)" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:93 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:94 msgid "frame X0 coordinate (-1 - all with overscan)" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:94 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:95 msgid "frame Y0 coordinate (-1 - all with overscan)" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:95 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:96 msgid "frame X1 coordinate (-1 - all with overscan)" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:96 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:97 msgid "frame Y1 coordinate (-1 - all with overscan)" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:97 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:98 msgid "set I/O port pins to given value (decimal number, pin1 is LSB)" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:98 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:99 msgid "" "configure I/O port pins to given value (decimal number, pin1 is LSB, 1 == " "output, 0 == input)" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:99 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:100 msgid "move focuser to absolute position" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:100 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:101 msgid "move focuser to relative position" msgstr "" #. {"wheel-get",NO_ARGS, NULL, 0, arg_none, APTR(&G.getwheel), N_("get current wheel position")}, -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:102 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:103 msgid "set wheel position" msgstr "" #. {"", NEED_ARG, NULL, '', arg_int, APTR(&G.), N_("")}, -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:105 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:106 msgid "set CCD temperature to given value (degr C)" msgstr "" #. Версия библиотеки '%s' -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:127 +#: /home/eddy/Doc/FLI/fli_control/main.c:130 #, c-format msgid "Library version '%s'" msgstr "" #. Модель:\t\t%s -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:143 -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:234 -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:299 +#: /home/eddy/Doc/FLI/fli_control/main.c:146 +#: /home/eddy/Doc/FLI/fli_control/main.c:237 +#: /home/eddy/Doc/FLI/fli_control/main.c:318 #, c-format msgid "Model:\t\t%s" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:146 +#: /home/eddy/Doc/FLI/fli_control/main.c:149 #, c-format msgid "Focuser '%s', domain %s" msgstr "" #. Апп. версия: %ld -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:149 -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:237 -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:303 +#: /home/eddy/Doc/FLI/fli_control/main.c:152 +#: /home/eddy/Doc/FLI/fli_control/main.c:240 +#: /home/eddy/Doc/FLI/fli_control/main.c:322 #, c-format msgid "HW revision: %ld" msgstr "" #. Прогр. версия: %ld -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:152 -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:240 -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:306 +#: /home/eddy/Doc/FLI/fli_control/main.c:155 +#: /home/eddy/Doc/FLI/fli_control/main.c:243 +#: /home/eddy/Doc/FLI/fli_control/main.c:325 #, c-format msgid "SW revision: %ld" msgstr "" #. Нельзя одновременно указывать относительную и абсолютную позицию -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:168 +#: /home/eddy/Doc/FLI/fli_control/main.c:171 msgid "You can't use both relative and absolute position" msgstr "" #. Ошибка определения позиции -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:173 +#: /home/eddy/Doc/FLI/fli_control/main.c:176 msgid "Error in position detection" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:185 +#: /home/eddy/Doc/FLI/fli_control/main.c:188 msgid "Already at position" msgstr "" #. Позиция не должна выходить за пределы 0...%ld -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:190 +#: /home/eddy/Doc/FLI/fli_control/main.c:193 #, c-format msgid "Position should be in 0...%ld" msgstr "" #. Перемещение в нулевую позицию -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:195 +#: /home/eddy/Doc/FLI/fli_control/main.c:198 msgid "Moving to home position" msgstr "" #. Перемещение на %ld шагов -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:200 +#: /home/eddy/Doc/FLI/fli_control/main.c:203 #, c-format msgid "Moving for %ld steps" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:213 +#: /home/eddy/Doc/FLI/fli_control/main.c:215 msgid "No focusers found" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:230 +#: /home/eddy/Doc/FLI/fli_control/main.c:232 #, c-format msgid "Wheel '%s', domain %s" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:244 +#: /home/eddy/Doc/FLI/fli_control/main.c:247 #, c-format msgid "Wheel position should be from 0 to %ld" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:268 +#: /home/eddy/Doc/FLI/fli_control/main.c:271 +#, c-format +msgid "Position is too big (max %d)" +msgstr "" + +#: /home/eddy/Doc/FLI/fli_control/main.c:275 msgid "Arrive to position" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:280 +#: /home/eddy/Doc/FLI/fli_control/main.c:299 msgid "No wheels found" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:288 +#: /home/eddy/Doc/FLI/fli_control/main.c:307 msgid "No CCD found" msgstr "" #. Камера '%s' из домена %s -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:294 +#: /home/eddy/Doc/FLI/fli_control/main.c:313 #, c-format msgid "Camera '%s', domain %s" msgstr "" #. Размер пикселя: %g x %g -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:309 +#: /home/eddy/Doc/FLI/fli_control/main.c:328 #, c-format msgid "Pixel size: %g x %g" msgstr "" #. Видимое поле: %s -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:313 +#: /home/eddy/Doc/FLI/fli_control/main.c:332 #, c-format msgid "Field of view: %s" msgstr "" #. Поле изображения: (%ld, %ld)(%ld, %ld) -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:318 +#: /home/eddy/Doc/FLI/fli_control/main.c:337 #, c-format msgid "Array field: (%ld, %ld)(%ld, %ld)" msgstr "" #. "Установка температуры ПЗС: %g градусов Цельсия\n" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:332 +#: /home/eddy/Doc/FLI/fli_control/main.c:351 #, c-format msgid "Set CCD temperature to %g degr.C\n" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:358 +#: /home/eddy/Doc/FLI/fli_control/main.c:377 #, c-format msgid "%s CCD shutter\n" msgstr "" #. "Попытка сконфигурировать порт I/O как %d\n" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:369 +#: /home/eddy/Doc/FLI/fli_control/main.c:388 #, c-format msgid "Try to convfigure I/O port as %d\n" msgstr "" #. "Попытка записи %d в порт I/O\n" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:379 +#: /home/eddy/Doc/FLI/fli_control/main.c:398 #, c-format msgid "Try to write %d to I/O port\n" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:400 +#: /home/eddy/Doc/FLI/fli_control/main.c:419 msgid "8 bit mode\n" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:403 +#: /home/eddy/Doc/FLI/fli_control/main.c:422 msgid "Fast readout mode\n" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:404 +#: /home/eddy/Doc/FLI/fli_control/main.c:423 msgid "Only show statistics\n" msgstr "" #. Захват кадра %d\n -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:410 +#: /home/eddy/Doc/FLI/fli_control/main.c:429 #, c-format msgid "Capture frame %d\n" msgstr "" #. дата/время -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:418 -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:482 +#: /home/eddy/Doc/FLI/fli_control/main.c:437 +#: /home/eddy/Doc/FLI/fli_control/main.c:501 msgid "date/time" msgstr "" #. "ожидание внешнего триггера" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:425 +#: /home/eddy/Doc/FLI/fli_control/main.c:444 #, c-format msgid "wait for external trigger...\n" msgstr "" #. %.3f секунд до окончания экспозиции\n -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:429 +#: /home/eddy/Doc/FLI/fli_control/main.c:448 #, c-format msgid "%.3f seconds till exposition ends\n" msgstr "" #. Считывание изображения: -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:435 +#: /home/eddy/Doc/FLI/fli_control/main.c:454 #, c-format msgid "Read image: " msgstr "" #. Не могу сохранить файл -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:454 +#: /home/eddy/Doc/FLI/fli_control/main.c:473 msgid "Can't save file" msgstr "" #. Файл записан в '%s' -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:463 +#: /home/eddy/Doc/FLI/fli_control/main.c:482 #, c-format msgid "File saved as '%s'" msgstr "" #. %d секунд до окончания паузы\n -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:477 +#: /home/eddy/Doc/FLI/fli_control/main.c:496 #, c-format msgid "%d seconds till pause ends\n" msgstr "" #. Статистика по изображению:\n -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:714 +#: /home/eddy/Doc/FLI/fli_control/main.c:770 #, c-format msgid "Image stat:\n" msgstr "" #. amount of pcount and/or scount wrong #. / "Неправильный формат строки помощи" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/parseargs.c:56 +#: /home/eddy/Doc/FLI/fli_control/parseargs.c:56 msgid "Wrong helpstring!" msgstr "" #. / "Целое вне допустимого диапазона" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/parseargs.c:86 +#: /home/eddy/Doc/FLI/fli_control/parseargs.c:86 msgid "Integer out of range" msgstr "" #. / "Неправильный параметр: %s" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/parseargs.c:480 +#: /home/eddy/Doc/FLI/fli_control/parseargs.c:480 #, c-format msgid "Wrong parameter: %s" msgstr "" #. / "%s: необходим аргумент!" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/parseargs.c:485 +#: /home/eddy/Doc/FLI/fli_control/parseargs.c:485 #, c-format msgid "%s: argument needed!" msgstr "" #. / "Неправильный аргумент \"%s\" параметра \"%s\"" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/parseargs.c:490 +#: /home/eddy/Doc/FLI/fli_control/parseargs.c:490 #, c-format msgid "Wrong argument \"%s\" of parameter \"%s\"" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/usefull_macros.c:173 +#: /home/eddy/Doc/FLI/fli_control/usefull_macros.c:173 msgid "No filename given!" msgstr "" #. / "Не могу открыть %s для чтения" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/usefull_macros.c:178 +#: /home/eddy/Doc/FLI/fli_control/usefull_macros.c:178 #, c-format msgid "Can't open %s for reading" msgstr "" #. / "Не могу выполнить stat %s" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/usefull_macros.c:183 +#: /home/eddy/Doc/FLI/fli_control/usefull_macros.c:183 #, c-format msgid "Can't stat %s" msgstr "" #. / "Ошибка mmap" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/usefull_macros.c:190 +#: /home/eddy/Doc/FLI/fli_control/usefull_macros.c:190 msgid "Mmap error for input" msgstr "" #. / "Не могу закрыть mmap'нутый файл" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/usefull_macros.c:195 +#: /home/eddy/Doc/FLI/fli_control/usefull_macros.c:195 msgid "Can't close mmap'ed file" msgstr "" #. / "Не могу munmap" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/usefull_macros.c:205 +#: /home/eddy/Doc/FLI/fli_control/usefull_macros.c:205 msgid "Can't munmap" msgstr "" #. / "Не могу настроить консоль" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/usefull_macros.c:231 +#: /home/eddy/Doc/FLI/fli_control/usefull_macros.c:231 msgid "Can't setup console" msgstr "" #. Get settings #. / "Не могу получить настройки" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/usefull_macros.c:301 +#: /home/eddy/Doc/FLI/fli_control/usefull_macros.c:301 msgid "Can't get settings" msgstr "" #. / "Не могу установить настройки" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/usefull_macros.c:312 +#: /home/eddy/Doc/FLI/fli_control/usefull_macros.c:312 msgid "Can't set settings" msgstr "" diff --git a/fli_control/locale/ru/ru.po b/fli_control/locale/ru/ru.po index eb365bf..f3f8747 100644 --- a/fli_control/locale/ru/ru.po +++ b/fli_control/locale/ru/ru.po @@ -7,7 +7,7 @@ msgid "" msgstr "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2019-07-01 10:51+0300\n" + "POT-Creation-Date: 2020-02-22 20:05+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,424 +17,431 @@ msgstr "Project-Id-Version: PACKAGE VERSION\n" "Content-Transfer-Encoding: 8bit\n" #. %.3f секунд до окончания экспозиции\n -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:429 +#: /home/eddy/Doc/FLI/fli_control/main.c:448 #, c-format msgid "%.3f seconds till exposition ends\n" -msgstr "%.3f секунд до окончания экспозиции\n" +msgstr "" #. %d секунд до окончания паузы\n -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:477 +#: /home/eddy/Doc/FLI/fli_control/main.c:496 #, c-format msgid "%d seconds till pause ends\n" -msgstr "%d секунд до окончания паузы\n" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:358 +#: /home/eddy/Doc/FLI/fli_control/main.c:377 #, c-format msgid "%s CCD shutter\n" -msgstr "%s затвор ПЗС\n" +msgstr "" #. / "%s: необходим аргумент!" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/parseargs.c:485 +#: /home/eddy/Doc/FLI/fli_control/parseargs.c:485 #, c-format msgid "%s: argument needed!" -msgstr "%s: необходим аргумент!" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:400 +#: /home/eddy/Doc/FLI/fli_control/main.c:419 msgid "8 bit mode\n" -msgstr "8-битный режим\n" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:185 +#: /home/eddy/Doc/FLI/fli_control/main.c:188 msgid "Already at position" -msgstr "Уже на позиции" +msgstr "" #. Поле изображения: (%ld, %ld)(%ld, %ld) -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:318 +#: /home/eddy/Doc/FLI/fli_control/main.c:337 #, c-format msgid "Array field: (%ld, %ld)(%ld, %ld)" -msgstr "Поле изображения: (%ld, %ld)(%ld, %ld)" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:268 +#: /home/eddy/Doc/FLI/fli_control/main.c:275 msgid "Arrive to position" -msgstr "Прибыл на позицию" +msgstr "" #. Камера '%s' из домена %s -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:294 +#: /home/eddy/Doc/FLI/fli_control/main.c:313 #, c-format msgid "Camera '%s', domain %s" -msgstr "Камера '%s' из домена %s" +msgstr "" #. / "Не могу закрыть mmap'нутый файл" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/usefull_macros.c:195 +#: /home/eddy/Doc/FLI/fli_control/usefull_macros.c:195 msgid "Can't close mmap'ed file" -msgstr "Не могу закрыть mmap'нутый файл" +msgstr "" #. Get settings #. / "Не могу получить настройки" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/usefull_macros.c:301 +#: /home/eddy/Doc/FLI/fli_control/usefull_macros.c:301 msgid "Can't get settings" -msgstr "Не могу получить настройки" +msgstr "" #. / "Не могу munmap" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/usefull_macros.c:205 +#: /home/eddy/Doc/FLI/fli_control/usefull_macros.c:205 msgid "Can't munmap" -msgstr "Не могу munmap" +msgstr "" #. / "Не могу открыть %s для чтения" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/usefull_macros.c:178 +#: /home/eddy/Doc/FLI/fli_control/usefull_macros.c:178 #, c-format msgid "Can't open %s for reading" -msgstr "Не могу открыть %s для чтения" +msgstr "" #. Не могу сохранить файл -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:454 +#: /home/eddy/Doc/FLI/fli_control/main.c:473 msgid "Can't save file" -msgstr "Не могу сохранить файл" +msgstr "" #. / "Не могу установить настройки" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/usefull_macros.c:312 +#: /home/eddy/Doc/FLI/fli_control/usefull_macros.c:312 msgid "Can't set settings" -msgstr "Не могу установить настройки" +msgstr "" #. / "Не могу настроить консоль" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/usefull_macros.c:231 +#: /home/eddy/Doc/FLI/fli_control/usefull_macros.c:231 msgid "Can't setup console" -msgstr "Не могу настроить консоль" +msgstr "" #. / "Не могу выполнить stat %s" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/usefull_macros.c:183 +#: /home/eddy/Doc/FLI/fli_control/usefull_macros.c:183 #, c-format msgid "Can't stat %s" -msgstr "Не могу выполнить stat %s" +msgstr "" #. Захват кадра %d\n -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:410 +#: /home/eddy/Doc/FLI/fli_control/main.c:429 #, c-format msgid "Capture frame %d\n" -msgstr "Захват кадра %d\n" +msgstr "" #. Ошибка определения позиции -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:173 +#: /home/eddy/Doc/FLI/fli_control/main.c:176 msgid "Error in position detection" -msgstr "Ошибка определения позиции" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:403 +#: /home/eddy/Doc/FLI/fli_control/main.c:422 msgid "Fast readout mode\n" -msgstr "Режим быстрого считывания\n" +msgstr "" #. Видимое поле: %s -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:313 +#: /home/eddy/Doc/FLI/fli_control/main.c:332 #, c-format msgid "Field of view: %s" -msgstr "Видимое поле: %s" +msgstr "" #. Файл записан в '%s' -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:463 +#: /home/eddy/Doc/FLI/fli_control/main.c:482 #, c-format msgid "File saved as '%s'" -msgstr "Файл записан в '%s'" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:146 +#: /home/eddy/Doc/FLI/fli_control/main.c:149 #, c-format msgid "Focuser '%s', domain %s" -msgstr "Фокусер '%s', домен %s" +msgstr "" #. Апп. версия: %ld -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:149 -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:237 -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:303 +#: /home/eddy/Doc/FLI/fli_control/main.c:152 +#: /home/eddy/Doc/FLI/fli_control/main.c:240 +#: /home/eddy/Doc/FLI/fli_control/main.c:322 #, c-format msgid "HW revision: %ld" -msgstr "Апп. версия: %ld" +msgstr "" #. Статистика по изображению:\n -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:714 +#: /home/eddy/Doc/FLI/fli_control/main.c:770 #, c-format msgid "Image stat:\n" -msgstr "Статистика по изображению:\n" +msgstr "" #. / "Целое вне допустимого диапазона" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/parseargs.c:86 +#: /home/eddy/Doc/FLI/fli_control/parseargs.c:86 msgid "Integer out of range" -msgstr "Целое вне допустимого диапазона" +msgstr "" #. Версия библиотеки '%s' -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:127 +#: /home/eddy/Doc/FLI/fli_control/main.c:130 #, c-format msgid "Library version '%s'" -msgstr "Версия библиотеки '%s'" +msgstr "" #. / "Ошибка mmap" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/usefull_macros.c:190 +#: /home/eddy/Doc/FLI/fli_control/usefull_macros.c:190 msgid "Mmap error for input" -msgstr "Ошибка mmap" +msgstr "" #. Модель:\t\t%s -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:143 -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:234 -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:299 +#: /home/eddy/Doc/FLI/fli_control/main.c:146 +#: /home/eddy/Doc/FLI/fli_control/main.c:237 +#: /home/eddy/Doc/FLI/fli_control/main.c:318 #, c-format msgid "Model:\t\t%s" -msgstr "Модель:\t\t%s" +msgstr "" #. Перемещение на %ld шагов -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:200 +#: /home/eddy/Doc/FLI/fli_control/main.c:203 #, c-format msgid "Moving for %ld steps" -msgstr "Перемещение на %ld шагов" +msgstr "" #. Перемещение в нулевую позицию -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:195 +#: /home/eddy/Doc/FLI/fli_control/main.c:198 msgid "Moving to home position" -msgstr "Перемещение в нулевую позицию" +msgstr "" #. {"", NEED_ARG, NULL, '', arg_string, APTR(&G.), N_("")}, -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:87 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:88 msgid "N flushes before exposing" -msgstr "N сбросов до экспозиции" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:288 +#: /home/eddy/Doc/FLI/fli_control/main.c:307 msgid "No CCD found" -msgstr "ПЗС не обнаружено" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/usefull_macros.c:173 +#: /home/eddy/Doc/FLI/fli_control/usefull_macros.c:173 msgid "No filename given!" -msgstr "Не задано имя файла!" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:213 +#: /home/eddy/Doc/FLI/fli_control/main.c:215 msgid "No focusers found" -msgstr "Не найден фокусер" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:280 +#: /home/eddy/Doc/FLI/fli_control/main.c:299 msgid "No wheels found" -msgstr "Не найдены турели" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:404 +#: /home/eddy/Doc/FLI/fli_control/main.c:423 msgid "Only show statistics\n" -msgstr "Только отобразить статистику\n" +msgstr "" #. Размер пикселя: %g x %g -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:309 +#: /home/eddy/Doc/FLI/fli_control/main.c:328 #, c-format msgid "Pixel size: %g x %g" -msgstr "Размер пикселя: %g x %g" +msgstr "" + +#: /home/eddy/Doc/FLI/fli_control/main.c:271 +#, c-format +msgid "Position is too big (max %d)" +msgstr "" #. Позиция не должна выходить за пределы 0...%ld -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:190 +#: /home/eddy/Doc/FLI/fli_control/main.c:193 #, c-format msgid "Position should be in 0...%ld" -msgstr "Позиция не должна выходить за пределы 0...%ld" +msgstr "" #. Считывание изображения: -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:435 +#: /home/eddy/Doc/FLI/fli_control/main.c:454 #, c-format msgid "Read image: " -msgstr "Считывание изображения:" +msgstr "" #. Прогр. версия: %ld -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:152 -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:240 -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:306 +#: /home/eddy/Doc/FLI/fli_control/main.c:155 +#: /home/eddy/Doc/FLI/fli_control/main.c:243 +#: /home/eddy/Doc/FLI/fli_control/main.c:325 #, c-format msgid "SW revision: %ld" -msgstr "Прогр. версия: %ld" +msgstr "" #. "Установка температуры ПЗС: %g градусов Цельсия\n" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:332 +#: /home/eddy/Doc/FLI/fli_control/main.c:351 #, c-format msgid "Set CCD temperature to %g degr.C\n" -msgstr "Установка температуры ПЗС: %g градусов Цельсия\n" +msgstr "" #. "Попытка сконфигурировать порт I/O как %d\n" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:369 +#: /home/eddy/Doc/FLI/fli_control/main.c:388 #, c-format msgid "Try to convfigure I/O port as %d\n" -msgstr "Попытка сконфигурировать порт I/O как %d\n" +msgstr "" #. "Попытка записи %d в порт I/O\n" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:379 +#: /home/eddy/Doc/FLI/fli_control/main.c:398 #, c-format msgid "Try to write %d to I/O port\n" -msgstr "Попытка записи %d в порт I/O\n" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:230 +#: /home/eddy/Doc/FLI/fli_control/main.c:232 #, c-format msgid "Wheel '%s', domain %s" -msgstr "Колесо '%s', домен %s" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:244 +#: /home/eddy/Doc/FLI/fli_control/main.c:247 #, c-format msgid "Wheel position should be from 0 to %ld" -msgstr "Номер позиции колеса: от 0 до %ld" +msgstr "" #. / "Неправильный аргумент \"%s\" параметра \"%s\"" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/parseargs.c:490 +#: /home/eddy/Doc/FLI/fli_control/parseargs.c:490 #, c-format msgid "Wrong argument \"%s\" of parameter \"%s\"" -msgstr "Неправильный аргумент \"%s\" параметра \"%s\"" +msgstr "" #. amount of pcount and/or scount wrong #. / "Неправильный формат строки помощи" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/parseargs.c:56 +#: /home/eddy/Doc/FLI/fli_control/parseargs.c:56 msgid "Wrong helpstring!" -msgstr "Неправильный формат строки помощи!" +msgstr "" #. / "Неправильный параметр: %s" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/parseargs.c:480 +#: /home/eddy/Doc/FLI/fli_control/parseargs.c:480 #, c-format msgid "Wrong parameter: %s" -msgstr "Неправильный параметр: %s" +msgstr "" #. Нельзя одновременно указывать относительную и абсолютную позицию -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:168 +#: /home/eddy/Doc/FLI/fli_control/main.c:171 msgid "You can't use both relative and absolute position" -msgstr "Нельзя одновременно указывать относительную и абсолютную позицию" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:70 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:85 +msgid "add records to header from given file[s]" +msgstr "" + +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:70 msgid "close shutter" -msgstr "закрыть затвор" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:98 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:99 msgid "configure I/O port pins to given value (decimal number, pin1 is LSB, " "1 == output, 0 == input)" -msgstr "настроить пины порта I/O (десятичное значение, пин 1 - младший, 1 == " - "выход, 0 == вход)" +msgstr "" #. дата/время -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:418 -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:482 +#: /home/eddy/Doc/FLI/fli_control/main.c:437 +#: /home/eddy/Doc/FLI/fli_control/main.c:501 msgid "date/time" -msgstr "дата/время" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:76 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:76 msgid "fast (8MHz) readout mode" msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:93 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:94 msgid "frame X0 coordinate (-1 - all with overscan)" -msgstr "X0 координата фрейма (-1 - вместе с оверсканом)" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:95 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:96 msgid "frame X1 coordinate (-1 - all with overscan)" -msgstr "X1 координата фрейма (-1 - вместе с оверсканом)" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:94 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:95 msgid "frame Y0 coordinate (-1 - all with overscan)" -msgstr "Y0 координата фрейма (-1 - вместе с оверсканом)" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:96 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:97 msgid "frame Y1 coordinate (-1 - all with overscan)" -msgstr "Y1 координата фрейма (-1 - вместе с оверсканом)" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:73 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:73 msgid "get value of I/O port pins" -msgstr "получить значение пинов порта I/O" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:88 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:89 msgid "horizontal binning to N pixels" -msgstr "горизонтальный биннинг на N пикселей" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:81 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:81 msgid "instrument name" -msgstr "название инструмента" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:91 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:92 msgid "make pause for N seconds between expositions" -msgstr "пауза на N секунд между экспозициями" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:90 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:91 msgid "make series of N frames" -msgstr "последовательность N кадров" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:99 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:100 msgid "move focuser to absolute position" -msgstr "переместить фокусер в абсолютную позицию" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:100 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:101 msgid "move focuser to relative position" -msgstr "переместить фокусер в абсолютную позицию" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:74 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:74 msgid "move stepper motor asynchronous" -msgstr "двигать шаговый асинхронно" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:68 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:68 msgid "not open shutter, when exposing (\"dark frames\")" -msgstr "съемка темновых" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:82 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:82 msgid "object name" -msgstr "название объекта" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:80 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:80 msgid "object type (neon, object, flat etc)" -msgstr "тип объекта (neon, object, flat и т.п.)" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:83 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:83 msgid "observers' names" -msgstr "имена наблюдателей" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:84 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:84 msgid "observing program name" -msgstr "название программы" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:69 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:69 msgid "open shutter" -msgstr "открыть затвор" +msgstr "" #. {"", NO_ARGS, NULL, '', arg_int, APTR(&G.), N_("")}, -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:79 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:79 msgid "program author" -msgstr "автор программы" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:66 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:66 msgid "rewrite output file if exists" -msgstr "перезаписать выходной файл" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:72 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:72 msgid "run exposition on HIGH @ pin5 I/O port" -msgstr "запуск экспозиции при высоком сигнале на пине5 порта I/O" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:71 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:71 msgid "run exposition on LOW @ pin5 I/O port" -msgstr "запуск экспозиции при низком сигнале на пине5 порта I/O" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:75 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:75 msgid "run in 8-bit mode" msgstr "" #. {"", NEED_ARG, NULL, '', arg_int, APTR(&G.), N_("")}, -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:105 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:106 msgid "set CCD temperature to given value (degr C)" -msgstr "установить температуру ПЗС (градусы Ц)" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:97 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:98 msgid "set I/O port pins to given value (decimal number, pin1 is LSB)" -msgstr "установить порт I/O в заданное значение (десятичное число, пин1 - " - "младший)" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:92 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:93 msgid "set exposure time to given value (ms)" -msgstr "установить время экспозиции (мс)" +msgstr "" #. {"wheel-get",NO_ARGS, NULL, 0, arg_none, APTR(&G.getwheel), N_("get current wheel position")}, -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:102 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:103 msgid "set wheel position" -msgstr "установить положение колеса" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:65 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:65 msgid "show this help" -msgstr "отобразить эту справку" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:67 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:67 msgid "verbose level (each -v increase it)" -msgstr "уровень сообщений (каждый -v повышает)" +msgstr "" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/cmdlnopts.c:89 +#: /home/eddy/Doc/FLI/fli_control/cmdlnopts.c:90 msgid "vertical binning to N pixels" -msgstr "вертикальный биннинг на N пикселей" +msgstr "" #. "ожидание внешнего триггера" -#: /home/eddy/Docs/SAO/Cameras/FLI_camera/my/fli_control/main.c:425 +#: /home/eddy/Doc/FLI/fli_control/main.c:444 #, c-format msgid "wait for external trigger...\n" -msgstr "ожидание внешнего триггера...\n" +msgstr "" diff --git a/fli_control/main.c b/fli_control/main.c index 3d7805b..184937d 100644 --- a/fli_control/main.c +++ b/fli_control/main.c @@ -48,7 +48,7 @@ #define FLIUSB_FOCUSER_ID 0x06 #endif -long fli_err; +static long fli_err; #define TRYFUNC(f, ...) \ do{ if((fli_err = f(__VA_ARGS__))) \ WARNX(#f "() failed"); \ @@ -61,27 +61,30 @@ int writepng(char *filename, int width, int height, void *data); #define BUFF_SIZ 4096 #define TMBUFSIZ 40 -char tm_buf[TMBUFSIZ]; // buffer for string with time value +static char tm_buf[TMBUFSIZ]; // buffer for string with time value -glob_pars *G = NULL; // default parameters see in cmdlnopts.c +static glob_pars *G = NULL; // default parameters see in cmdlnopts.c -uint16_t max = 0, min = 65535; // max/min values for given image -double avr, std; // stat values -char *camera = NULL, viewfield[80]; -double pixX, pixY; // pixel size in um +static uint16_t max = 0, min = 65535; // max/min values for given image +static double avr, std; // stat values +static char *camera = NULL, viewfield[80]; +static double pixX, pixY; // pixel size in um -void print_stat(u_int16_t *img, long size); +static void print_stat(u_int16_t *img, long size); -size_t curtime(char *s_time){ // current date/time +static size_t curtime(char *s_time){ // current date/time time_t tm = time(NULL); return strftime(s_time, TMBUFSIZ, "%d/%m/%Y,%H:%M:%S", localtime(&tm)); } -fliframe_t frametype = FLI_FRAME_TYPE_NORMAL; -double t_ext, t_int; // external & CCD temperatures @exp. end -time_t expStartsAt; // exposition start time (time_t) +static fliframe_t frametype = FLI_FRAME_TYPE_NORMAL; +static double t_ext, t_int; // external & CCD temperatures @exp. end +static time_t expStartsAt; // exposition start time (time_t) -int check_filename(char *buff, char *outfile, char *ext){ +static long filterpos = -1; // filter position +static long focuserpos = -1; // focuser position + +static int check_filename(char *buff, char *outfile, char *ext){ struct stat filestat; int num; for(num = 1; num < 10000; num++){ @@ -98,7 +101,7 @@ void signals(int signo){ } extern const char *__progname; -void info(const char *fmt, ...){ +static void info(const char *fmt, ...){ va_list ar; if(!verbose) return; printf("%s: ", __progname); @@ -201,13 +204,12 @@ int main(int argc, char **argv){ if(G->async) TRYFUNC(FLIStepMotorAsync, dev, steps); else TRYFUNC(FLIStepMotor, dev, steps); } - TRYFUNC(FLIGetStepperPosition, dev, <mp); - if(!fli_err){ - green("FOCPOS=%ld\n", ltmp); - curpos = ltmp; - } }while(0); - ; + TRYFUNC(FLIGetStepperPosition, dev, &focuserpos); + if(!fli_err){ + green("FOCPOS=%ld\n", focuserpos); + curpos = focuserpos; + }else DBG("Error getting fpos: %ld", fli_err); TRYFUNC(FLIClose, dev); } if(!nfocs) WARNX(_("No focusers found")); @@ -229,6 +231,7 @@ int main(int argc, char **argv){ } info(_("Wheel '%s', domain %s"), cam[i].name, cam[i].dname); green("WHEELTOTALPOS=%ld\n", ltmp); + int wheelmaxpos = (int)ltmp - 1; TRYFUNC(FLIGetModel, dev, buff, BUFF_SIZ); // Модель:\t\t%s if(!fli_err) info(_("Model:\t\t%s"), buff); @@ -264,17 +267,33 @@ int main(int argc, char **argv){ ++nwheels; if(G->setwheel > -1){ ltmp = G->setwheel; + if(ltmp > wheelmaxpos){ + WARNX(_("Position is too big (max %d)"), wheelmaxpos); + goto closewheeldev; + } TRYFUNC(FLISetFilterPos, dev, ltmp); if(!fli_err) info(_("Arrive to position")); - long curpos = -1; - // this function returns -1 every connection!!! - TRYFUNC(FLIGetFilterPos, dev, &curpos); - if(!fli_err){ - green("WHEELPOS=%ld\n", curpos); - }else goto closewheeldev; } - ; - closewheeldev: + // this function returns -1 every connection without SETpos!!! + TRYFUNC(FLIGetFilterPos, dev, &filterpos); + if(!fli_err && filterpos > -1){ + green("WHEELPOS=%ld\n", filterpos); + }else{ + filterpos = -1; + // so try to check current position by steps + TRYFUNC(FLIGetStepperPosition, dev, <mp); + if(ltmp < 0) ltmp = -ltmp; + DBG("steps: %ld", ltmp); + if(!fli_err){ + int pos = (ltmp - WHEEL_POS0STPS+WHEEL_STEPPOS/2)/WHEEL_STEPPOS; + DBG("pos = %d", pos); + if(pos > -1 && pos <= wheelmaxpos){ + filterpos = pos; + green("WHEELPOS=%ld\n", filterpos); + } + } + } +closewheeldev: TRYFUNC(FLIClose, dev); } if(!nwheels) WARNX(_("No wheels found")); @@ -497,7 +516,7 @@ int main(int argc, char **argv){ return 0; } -int findcams(flidomain_t domain, cam_t **cam){ +static int findcams(flidomain_t domain, cam_t **cam){ char **tmplist; int numcams = 0; TRYFUNC(FLIList, domain, &tmplist); @@ -544,7 +563,7 @@ int findcams(flidomain_t domain, cam_t **cam){ } #ifdef USERAW -int writeraw(char *filename, int width, int height, void *data){ +static int writeraw(char *filename, int width, int height, void *data){ int fd, size, err; if ((fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH )) == -1){ @@ -562,12 +581,38 @@ int writeraw(char *filename, int width, int height, void *data){ } #endif // USERAW +/** + * @brief addrec - add FITS records from file + * @param f (i) - FITS filename + * @param filename (i) - name of file + */ +static void addrec(fitsfile *f, char *filename){ + FILE *fp = fopen(filename, "r"); + if(!fp) return; + char buf[2*FLEN_CARD]; + while(fgets(buf, 2*FLEN_CARD, fp)){ + DBG("check record _%s_", buf); + int keytype, status = 0; + char newcard[FLEN_CARD], keyname[FLEN_CARD]; + fits_parse_template(buf, newcard, &keytype, &status); + if(status){ + fits_report_error(stderr, status); + continue; + } + DBG("reformatted to _%s_", newcard); + strncpy(keyname, newcard, FLEN_CARD); + char *eq = strchr(keyname, '='); if(eq) *eq = 0; + eq = strchr(keyname, ' '); if(eq) *eq = 0; + DBG("keyname: %s", keyname); + fits_update_card(f, keyname, newcard, &status); + } +} -int writefits(char *filename, int width, int height, void *data){ +static int writefits(char *filename, int width, int height, void *data){ long naxes[2] = {width, height}, startTime; double tmp = 0.0; struct tm *tm_starttime; - char buf[80]; + char buf[FLEN_CARD]; time_t savetime = time(NULL); fitsfile *fp; TRYFITS(fits_create_file, &fp, filename); @@ -596,7 +641,7 @@ int writefits(char *filename, int width, int height, void *data){ if(G->Y0) WRITEKEY(fp, TINT, "Y0", &G->Y0, "Subframe upper border"); if(G->exptime < 2.*DBL_EPSILON) sprintf(buf, "bias"); else if(frametype == FLI_FRAME_TYPE_DARK) sprintf(buf, "dark"); - else if(G->objtype) strncpy(buf, G->objtype, 80); + else if(G->objtype) strncpy(buf, G->objtype, FLEN_CARD-1); else sprintf(buf, "object"); // IMAGETYP / object, flat, dark, bias, scan, eta, neon, push WRITEKEY(fp, TSTRING, "IMAGETYP", buf, "Image type"); @@ -616,15 +661,20 @@ int writefits(char *filename, int width, int height, void *data){ tmp = (G->temperature + t_int) / 2. + 273.15; // CAMTEMP / Camera temperature (K) WRITEKEY(fp, TDOUBLE, "CAMTEMP", &tmp, "Camera temperature (K)"); - tmp = (double)G->exptime / 1000.; + // WHEEL & FOCUSER positions: + tmp = (double)focuserpos / FOCSCALE; + WRITEKEY(fp, TDOUBLE, "FOCUS", &tmp, "Current focuser position, mm"); + if(filterpos > -1) + WRITEKEY(fp, TINT, "FILTER", &filterpos, "Current filter number"); // EXPTIME / actual exposition time (sec) - WRITEKEY(fp, TDOUBLE, "EXPTIME", &tmp, "actual exposition time (sec)"); + tmp = (double)G->exptime / 1000.; + WRITEKEY(fp, TDOUBLE, "EXPTIME", &tmp, "Actual exposition time (sec)"); // DATE / Creation date (YYYY-MM-DDThh:mm:ss, UTC) strftime(buf, 80, "%Y-%m-%dT%H:%M:%S", gmtime(&savetime)); WRITEKEY(fp, TSTRING, "DATE", buf, "Creation date (YYYY-MM-DDThh:mm:ss, UTC)"); startTime = (long)expStartsAt; tm_starttime = localtime(&expStartsAt); - strftime(buf, 80, "exposition starts at %d/%m/%Y, %H:%M:%S (local)", tm_starttime); + strftime(buf, 80, "Exposition start time (UNIX)", tm_starttime); WRITEKEY(fp, TLONG, "UNIXTIME", &startTime, buf); strftime(buf, 80, "%Y/%m/%d", tm_starttime); // DATE-OBS / DATE (YYYY/MM/DD) OF OBS. @@ -653,13 +703,19 @@ int writefits(char *filename, int width, int height, void *data){ if(G->author){ WRITEKEY(fp, TSTRING, "AUTHOR", G->author, "Author of the program"); } + if(G->addhdr){ // add records from files + char **nxtfile = G->addhdr; + while(*nxtfile){ + addrec(fp, *nxtfile++); + } + } TRYFITS(fits_write_img, fp, TUSHORT, 1, width * height, data); TRYFITS(fits_close_file, fp); return 0; } #ifdef USEPNG -int writepng(char *filename, int width, int height, void *data){ +static int writepng(char *filename, int width, int height, void *data){ int err; FILE *fp = NULL; png_structp pngptr = NULL; @@ -696,7 +752,7 @@ int writepng(char *filename, int width, int height, void *data){ } #endif /* USEPNG */ -void print_stat(u_int16_t *img, long size){ +static void print_stat(u_int16_t *img, long size){ long i, Noverld = 0L; double pv, sum=0., sum2=0., sz = (double)size; u_int16_t *ptr = img, val; diff --git a/fli_control/main.h b/fli_control/main.h index 4274243..a6e263b 100644 --- a/fli_control/main.h +++ b/fli_control/main.h @@ -29,22 +29,29 @@ #ifdef USEPNG #include +static int writepng(char *filename, int width, int height, void *data); #endif /* USEPNG */ #include #define LIBVERSIZ 1024 +// wheel position in steps = WHEEL_POS0STPS + WHEEL_STEPPOS*N +#define WHEEL_POS0STPS (239) +#define WHEEL_STEPPOS (48) +// 1mm == FOCSCALE steps of focuser +#define FOCSCALE (10000.) + typedef struct{ flidomain_t domain; char *dname; char *name; }cam_t; -int findcams(flidomain_t domain, cam_t **cam); +static int findcams(flidomain_t domain, cam_t **cam); #ifdef USERAW -int writeraw(char *filename, int width, int height, void *data); +static int writeraw(char *filename, int width, int height, void *data); #endif // USERAW #define TRYFITS(f, ...) \ @@ -59,7 +66,7 @@ do{ int status = 0; \ fits_write_key(__VA_ARGS__, &status); \ if(status) fits_report_error(stderr, status);\ }while(0) -int writefits(char *filename, int width, int height, void *data); +static int writefits(char *filename, int width, int height, void *data); #endif // __MAIN_H__