mirror of
https://github.com/eddyem/CCD_Capture.git
synced 2025-12-06 10:45:13 +03:00
add HIKROBOT support
This commit is contained in:
parent
a83309143e
commit
5033b9b096
@ -70,23 +70,20 @@ if(DEFINED IMAGEVIEW AND IMAGEVIEW STREQUAL "yes")
|
||||
endif()
|
||||
|
||||
add_subdirectory(Dummy_cameras)
|
||||
#list(APPEND ${PROJ}_INCLUDE_DIRS Dummy_cameras)
|
||||
#list(APPEND ${PROJ}_LIBRARIES ${DUMMYLIB})
|
||||
#include_directories(Dummy_cameras)
|
||||
|
||||
#add_custom_target(plugins)
|
||||
#add_dependencies(plugins devdummy)
|
||||
|
||||
# additional modules with CCD/CMOS support
|
||||
if(DEFINED ZWO AND ZWO STREQUAL "yes")
|
||||
add_subdirectory(ZWO_cameras)
|
||||
endif()
|
||||
|
||||
# additional modules with CCD/CMOS support
|
||||
if(DEFINED FLI AND FLI STREQUAL "yes")
|
||||
add_subdirectory(FLI_cameras)
|
||||
endif()
|
||||
|
||||
if(DEFINED HIKROBOT AND HIKROBOT STREQUAL "yes")
|
||||
add_subdirectory(HIKROBOT_cameras)
|
||||
endif()
|
||||
|
||||
|
||||
# directory should contain dir locale/ru for gettext translations
|
||||
set(LCPATH ${CMAKE_SOURCE_DIR}/locale/ru)
|
||||
|
||||
12
HIKROBOT_cameras/CMakeLists.txt
Normal file
12
HIKROBOT_cameras/CMakeLists.txt
Normal file
@ -0,0 +1,12 @@
|
||||
cmake_minimum_required(VERSION 3.20)
|
||||
set(CCDLIB devhikrobot)
|
||||
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(${CCDLIB} REQUIRED mvs>=2.1 usefull_macros)
|
||||
|
||||
aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} SRC)
|
||||
include_directories(${${CCDLIB}_INCLUDE_DIRS} ..)
|
||||
link_directories(${${CCDLIB}_LIBRARY_DIRS})
|
||||
|
||||
add_library(${CCDLIB} SHARED ${SRC})
|
||||
target_link_libraries(${CCDLIB} ${${CCDLIB}_LIBRARIES} -fPIC)
|
||||
543
HIKROBOT_cameras/mvsfunc.c
Normal file
543
HIKROBOT_cameras/mvsfunc.c
Normal file
@ -0,0 +1,543 @@
|
||||
/*
|
||||
* This file is part of the CCD_Capture project.
|
||||
* Copyright 2022 Edward V. Emelianov <edward.emelianoff@gmail.com>.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <MvCameraControl.h>
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <usefull_macros.h>
|
||||
|
||||
#include "basestructs.h"
|
||||
|
||||
#ifndef FLT_EPSILON
|
||||
#define FLT_EPSILON 1.19209290E-07F
|
||||
#endif
|
||||
|
||||
extern Camera camera;
|
||||
|
||||
static MV_CC_DEVICE_INFO_LIST stDeviceList;
|
||||
static void *handle = NULL;
|
||||
static char camname[BUFSIZ] = {0};
|
||||
//static long cam_err, tmpl;
|
||||
static capture_status capStatus = CAPTURE_NO;
|
||||
static int curhbin = 1, curvbin = 1;
|
||||
static double starttime = 0.; // time when exposure started
|
||||
static float exptime = 0.; // exposition time (in seconds)
|
||||
static MV_FRAME_OUT_INFO_EX stImageInfo = {0}; // last image info
|
||||
static uint16_t *pdata = NULL;
|
||||
static int pdatasz = 0;
|
||||
|
||||
static struct{
|
||||
float maxgain;
|
||||
float mingain;
|
||||
float maxbright;
|
||||
float minbright;
|
||||
float minexp;
|
||||
float maxexp;
|
||||
int maxbin;
|
||||
} extrvalues = {0}; // extremal values
|
||||
|
||||
static int changeenum(const char *key, uint32_t val){
|
||||
if(!handle) return FALSE;
|
||||
MVCC_ENUMVALUE e;
|
||||
if(MV_OK != MV_CC_GetEnumValue(handle, key, &e)){
|
||||
WARNX("Enum '%s' is absent", key);
|
||||
return FALSE;
|
||||
}
|
||||
if(e.nCurValue == val) return TRUE;
|
||||
if(MV_OK != MV_CC_SetEnumValue(handle, key, val)){
|
||||
WARNX("Cant change %s to %d, supported values are:", key, val);
|
||||
for(int i = 0; i < (int)e.nSupportedNum; ++i){
|
||||
fprintf(stderr, "%s%u", i ? ", " : "", e.nSupportValue[i]);
|
||||
}
|
||||
fprintf(stderr, "\n");
|
||||
return FALSE;
|
||||
}
|
||||
if(MV_OK != MV_CC_GetEnumValue(handle, key, &e)) return FALSE;
|
||||
if(e.nCurValue == val) return TRUE;
|
||||
WARNX("New value of '%s' changed to %d, not to %d", key, e.nCurValue, val);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static int changeint(const char *key, uint32_t val){
|
||||
if(!handle) return FALSE;
|
||||
MVCC_INTVALUE i;
|
||||
if(MV_OK != MV_CC_GetIntValue(handle, key, &i)){
|
||||
WARNX("Int '%s' is absent", key);
|
||||
return FALSE;
|
||||
}
|
||||
if(i.nCurValue == val) return TRUE;
|
||||
if(MV_OK != MV_CC_SetIntValue(handle, key, val)){
|
||||
WARNX("Cant change %s to %u; available range is %u..%u", key, val, i.nMin, i.nMax);
|
||||
return FALSE;
|
||||
}
|
||||
if(MV_OK != MV_CC_GetIntValue(handle, key, &i)) return FALSE;
|
||||
if(i.nCurValue == val) return TRUE;
|
||||
WARNX("New value of '%s' changed to %d, not to %d", key, i.nCurValue, val);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static int changefloat(const char *key, float val){
|
||||
if(!handle) return FALSE;
|
||||
MVCC_FLOATVALUE f;
|
||||
if(MV_OK != MV_CC_GetFloatValue(handle, key, &f)){
|
||||
WARNX("Float '%s' is absent", key);
|
||||
return FALSE;
|
||||
}
|
||||
if(fabs(f.fCurValue - val) < FLT_EPSILON) return TRUE;
|
||||
if(MV_OK != MV_CC_SetFloatValue(handle, key, val)){
|
||||
WARNX("Cant change %s to %g; available range is %g..%g", key, val, f.fMin, f.fMax);
|
||||
return FALSE;
|
||||
}
|
||||
if(MV_OK != MV_CC_GetFloatValue(handle, key, &f)) return FALSE;
|
||||
if(fabs(f.fCurValue - val) < FLT_EPSILON) return TRUE;
|
||||
WARNX("New value of '%s' changed to %g, not to %g", key, f.fCurValue, val);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static int cam_setbin(int binh, int binv){
|
||||
FNAME();
|
||||
if(!handle) return FALSE;
|
||||
if(!changeenum("BinningHorizontal", binh)) return FALSE;
|
||||
if(!changeenum("BinningVertical", binv)) return FALSE;
|
||||
curhbin = binh;
|
||||
curvbin = binv;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int cam_getbin(int *h, int *v){
|
||||
MVCC_ENUMVALUE e;
|
||||
if(MV_OK != MV_CC_GetEnumValue(handle, "BinningHorizontal", &e)) return FALSE;
|
||||
curhbin = e.nCurValue;
|
||||
//printf("Hbin supported = %d", e.nSupportedNum);
|
||||
//for(int i = 0; i < (int)e.nSupportedNum; ++i) printf("\t%d", e.nSupportValue[i]);
|
||||
if(MV_OK != MV_CC_GetEnumValue(handle, "BinningVertical", &e)) return FALSE;
|
||||
curvbin = e.nCurValue;
|
||||
//printf("Vbin supported = %d", e.nSupportedNum);
|
||||
//for(int i = 0; i < (int)e.nSupportedNum; ++i) printf("\t%d", e.nSupportValue[i]);
|
||||
if(h) *h = curhbin;
|
||||
if(v) *v = curvbin;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int cam_getgain(float *g){
|
||||
if(!handle) return FALSE;
|
||||
MVCC_FLOATVALUE gain;
|
||||
if(MV_OK != MV_CC_GetFloatValue(handle, "Gain", &gain)) return FALSE;
|
||||
if(g) *g = gain.fCurValue;
|
||||
extrvalues.maxgain = gain.fMax;
|
||||
extrvalues.mingain = gain.fMin;
|
||||
DBG("Gain: cur=%g, min=%g, max=%g", gain.fCurValue, gain.fMin, gain.fMax);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int cam_getmaxgain(float *g){
|
||||
if(!handle) return FALSE;
|
||||
if(g) *g = extrvalues.maxgain;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int cam_setgain(float g){
|
||||
if(!handle) return FALSE;
|
||||
return changefloat("Gain", g);
|
||||
}
|
||||
|
||||
static int cam_getbright(float *b){
|
||||
if(!handle) return FALSE;
|
||||
MVCC_INTVALUE bright;
|
||||
if(MV_OK != MV_CC_GetIntValue(handle, "Brightness", &bright)){
|
||||
return FALSE;
|
||||
}
|
||||
if(b) *b = bright.nCurValue;
|
||||
extrvalues.maxgain = bright.nMax;
|
||||
extrvalues.mingain = bright.nMin;
|
||||
DBG("Brightness: cur=%d, min=%d, max=%d", bright.nCurValue, bright.nMin, bright.nMax);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int cam_setbright(float b){
|
||||
if(!handle) return FALSE;
|
||||
return changeint("Brightness", (uint32_t)b);
|
||||
}
|
||||
|
||||
static void PrintDeviceInfo(MV_CC_DEVICE_INFO* pstMVDevInfo){
|
||||
if(!pstMVDevInfo) return;
|
||||
if(pstMVDevInfo->nTLayerType == MV_GIGE_DEVICE){
|
||||
int nIp1 = ((pstMVDevInfo->SpecialInfo.stGigEInfo.nCurrentIp & 0xff000000) >> 24);
|
||||
int nIp2 = ((pstMVDevInfo->SpecialInfo.stGigEInfo.nCurrentIp & 0x00ff0000) >> 16);
|
||||
int nIp3 = ((pstMVDevInfo->SpecialInfo.stGigEInfo.nCurrentIp & 0x0000ff00) >> 8);
|
||||
int nIp4 = (pstMVDevInfo->SpecialInfo.stGigEInfo.nCurrentIp & 0x000000ff);
|
||||
printf("Device Model Name: %s\n", pstMVDevInfo->SpecialInfo.stGigEInfo.chModelName);
|
||||
strncpy(camname, (char*)pstMVDevInfo->SpecialInfo.stGigEInfo.chModelName, BUFSIZ-1);
|
||||
printf("CurrentIp: %d.%d.%d.%d\n" , nIp1, nIp2, nIp3, nIp4);
|
||||
printf("UserDefinedName: %s\n\n" , pstMVDevInfo->SpecialInfo.stGigEInfo.chUserDefinedName);
|
||||
}else if (pstMVDevInfo->nTLayerType == MV_USB_DEVICE){
|
||||
printf("Device Model Name: %s\n", pstMVDevInfo->SpecialInfo.stUsb3VInfo.chModelName);
|
||||
printf("UserDefinedName: %s\n\n", pstMVDevInfo->SpecialInfo.stUsb3VInfo.chUserDefinedName);
|
||||
strncpy(camname, (char*)pstMVDevInfo->SpecialInfo.stUsb3VInfo.chModelName, BUFSIZ-1);
|
||||
}else {
|
||||
printf("Not support.\n");
|
||||
}
|
||||
}
|
||||
|
||||
static void cam_closecam(){
|
||||
DBG("CAMERA CLOSE");
|
||||
if(handle){
|
||||
MV_CC_StopGrabbing(handle);
|
||||
if(MV_OK != MV_CC_CloseDevice(handle)) WARNX("Can't close opened camera");
|
||||
if(MV_OK != MV_CC_DestroyHandle(handle)) WARNX("Can't destroy camera handle");
|
||||
handle = NULL;
|
||||
}
|
||||
FREE(pdata);
|
||||
pdatasz = 0;
|
||||
}
|
||||
|
||||
static int cam_findCCD(){
|
||||
DBG("Try to find HIKROBOT cameras .. ");
|
||||
memset(&stDeviceList, 0, sizeof(MV_CC_DEVICE_INFO_LIST));
|
||||
if(MV_OK != MV_CC_EnumDevices(MV_GIGE_DEVICE | MV_USB_DEVICE, &stDeviceList)){
|
||||
WARNX("No HIKROBOT cameras found");
|
||||
return FALSE;
|
||||
}
|
||||
camera.Ndevices = stDeviceList.nDeviceNum;
|
||||
if(stDeviceList.nDeviceNum > 0){
|
||||
for(uint32_t i = 0; i < stDeviceList.nDeviceNum; ++i){
|
||||
DBG("[device %d]:\n", i);
|
||||
MV_CC_DEVICE_INFO* pDeviceInfo = stDeviceList.pDeviceInfo[i];
|
||||
if(!pDeviceInfo) continue;
|
||||
PrintDeviceInfo(pDeviceInfo);
|
||||
}
|
||||
} else{
|
||||
WARNX("No HIKROBOT cameras found");
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int cam_setActiceCam(int n){
|
||||
DBG("SET ACTIVE #%d", n);
|
||||
if(!camera.Ndevices && !cam_findCCD()) return FALSE;
|
||||
if(n >= camera.Ndevices){
|
||||
return FALSE;
|
||||
}
|
||||
cam_closecam();
|
||||
if(MV_OK != MV_CC_CreateHandleWithoutLog(&handle, stDeviceList.pDeviceInfo[n])){
|
||||
WARNX("Can't create camera handle");
|
||||
return FALSE;
|
||||
}
|
||||
if(MV_OK != MV_CC_OpenDevice(handle, MV_ACCESS_Exclusive, 0)){
|
||||
WARNX("Can't open camera file");
|
||||
return FALSE;
|
||||
}
|
||||
if(stDeviceList.pDeviceInfo[n]->nTLayerType == MV_GIGE_DEVICE){
|
||||
int nPacketSize = MV_CC_GetOptimalPacketSize(handle);
|
||||
if(nPacketSize > 0){
|
||||
if(!changeint("GevSCPSPacketSize", nPacketSize)){
|
||||
WARNX("Can't set optimal packet size");
|
||||
}
|
||||
} else{
|
||||
WARNX("Can't get optimal packet size");
|
||||
}
|
||||
}
|
||||
// set software trigger
|
||||
/* MVCC_ENUMVALUE enumval;
|
||||
MV_CC_GetEnumValue(handle, "TriggerMode", &enumval);
|
||||
DBG("TRmode: %d", enumval.nSupportedNum);
|
||||
for(uint16_t i = 0; i < enumval.nSupportedNum; ++i) fprintf(stderr, "\t%d: %u\n", i, enumval.nSupportValue[i]);
|
||||
*/
|
||||
if(!changeenum("TriggerMode", MV_TRIGGER_MODE_OFF)){
|
||||
WARNX("Can't turn off triggered mode");
|
||||
return FALSE;
|
||||
}
|
||||
if(!changeenum("AcquisitionMode", MV_ACQ_MODE_SINGLE)){
|
||||
WARNX("Can't set acquisition mode to single");
|
||||
return FALSE;
|
||||
}
|
||||
if(!changeenum("ExposureMode", MV_EXPOSURE_MODE_TIMED)){
|
||||
WARNX("Can't change exposure mode to timed");
|
||||
return FALSE;
|
||||
}
|
||||
if(!changeenum("ExposureAuto", MV_EXPOSURE_AUTO_MODE_OFF)){
|
||||
WARNX("Can't turn off auto exposure mode");
|
||||
return FALSE;
|
||||
}
|
||||
if(!changeenum("GainAuto", 0)){
|
||||
WARNX("Can't turn off auto gain");
|
||||
return FALSE;
|
||||
}
|
||||
MVCC_ENUMVALUE EnumValue;
|
||||
if(MV_OK == MV_CC_GetEnumValue(handle, "PixelFormat", &EnumValue)){
|
||||
DBG("PixelFormat=%x", EnumValue.nCurValue);
|
||||
#ifdef EBUG
|
||||
for(int i = 0; i < (int)EnumValue.nSupportedNum; ++i) fprintf(stderr, "\t\t%x\n", EnumValue.nSupportValue[i]);
|
||||
#endif
|
||||
}
|
||||
if(MV_OK == MV_CC_GetEnumValue(handle, "PixelSize", &EnumValue)){
|
||||
DBG("PixelSize=%d", EnumValue.nCurValue);
|
||||
#ifdef EBUG
|
||||
for(int i = 0; i < (int)EnumValue.nSupportedNum; ++i) fprintf(stderr, "\t\t%d\n", EnumValue.nSupportValue[i]);
|
||||
#endif
|
||||
}
|
||||
cam_getgain(NULL); // get extremal gain values
|
||||
cam_getbright(NULL); // get extremal brightness values
|
||||
cam_getbin(NULL, NULL); // get current binning
|
||||
MVCC_FLOATVALUE FloatValue;
|
||||
// get extremal exptime values
|
||||
if(MV_OK != MV_CC_GetFloatValue(handle, "ExposureTime", &FloatValue)) WARNX("Can't get min/max exp");
|
||||
else{
|
||||
extrvalues.maxexp = FloatValue.fMax / 1e6;
|
||||
extrvalues.minexp = FloatValue.fMin / 1e6;
|
||||
exptime = FloatValue.fCurValue / 1e6;
|
||||
}
|
||||
printf("Min exp: %g s, max exp: %g s\n", extrvalues.minexp, extrvalues.maxexp);
|
||||
camera.pixX = camera.pixY = 0.; // unknown
|
||||
MVCC_INTVALUE IntValue;
|
||||
camera.array.xoff = camera.array.yoff = 0;
|
||||
int *values[6] = {&camera.array.w, &camera.array.h, &camera.geometry.w, &camera.geometry.h, &camera.geometry.xoff, &camera.geometry.yoff};
|
||||
const char *names[2] = {"WidthMax", "HeightMax"};//, "Width", "Height", "OffsetX", "OffsetY"};
|
||||
for(int i = 0; i < 2; ++i){
|
||||
if(MV_OK != MV_CC_GetIntValue(handle, names[i], &IntValue)){
|
||||
WARNX("Can't get %s", names[i]); return FALSE;
|
||||
}
|
||||
*values[i] = IntValue.nCurValue;
|
||||
DBG("%s = %d", names[i], *values[i]);
|
||||
}
|
||||
camera.array.h *= curvbin;
|
||||
camera.array.w *= curhbin;
|
||||
camera.geometry = camera.array;
|
||||
camera.field = camera.array;
|
||||
pdatasz = camera.array.h * camera.array.w;
|
||||
DBG("\t\t2*w*h = %d", pdatasz*2);
|
||||
pdata = MALLOC(uint16_t, pdatasz); // allocate max available buffer
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int cam_geomlimits(frameformat *l, frameformat *s){
|
||||
if(l) *l = camera.array;
|
||||
if(s) *s = (frameformat){.w = 1, .h = 1, .xoff = 1, .yoff = 1};
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int cam_startexp(){
|
||||
if(!handle || !pdata) return FALSE;
|
||||
DBG("Start exposition");
|
||||
MV_CC_StopGrabbing(handle);
|
||||
if(MV_OK != MV_CC_StartGrabbing(handle)) return FALSE;
|
||||
starttime = dtime();
|
||||
capStatus = CAPTURE_PROCESS;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int cam_pollcapt(capture_status *st, float *remain){
|
||||
if(!handle || !pdata) return FALSE;
|
||||
DBG("capStatus = %d", capStatus);
|
||||
if(capStatus == CAPTURE_READY){
|
||||
DBG("Capture ends");
|
||||
goto retn;
|
||||
}
|
||||
if(capStatus == CAPTURE_NO){ // start capture
|
||||
goto retn;
|
||||
}
|
||||
if(capStatus == CAPTURE_PROCESS){
|
||||
if(MV_OK == MV_CC_GetOneFrameTimeout(handle, (uint8_t*)pdata, pdatasz, &stImageInfo, 50)){
|
||||
DBG("OK, ready");
|
||||
if(remain) *remain = 0.f;
|
||||
if(st) *st = CAPTURE_READY;
|
||||
capStatus = CAPTURE_NO;
|
||||
return TRUE;
|
||||
}
|
||||
DBG("not ready");
|
||||
if(remain){
|
||||
float diff = exptime - (dtime() - starttime);
|
||||
DBG("diff = %g", diff);
|
||||
if(diff < -5.0){
|
||||
capStatus = CAPTURE_NO;
|
||||
if(st) *st = CAPTURE_ABORTED;
|
||||
return FALSE;
|
||||
}
|
||||
if(diff < 0.f) diff = 0.f;
|
||||
*remain = diff;
|
||||
}
|
||||
}else{ // some error
|
||||
if(st) *st = CAPTURE_ABORTED;
|
||||
capStatus = CAPTURE_NO;
|
||||
return FALSE;
|
||||
}
|
||||
retn:
|
||||
if(st) *st = capStatus;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int cam_capt(IMG *ima){
|
||||
if(!handle || !pdata) return FALSE;
|
||||
if(!ima || !ima->data) return FALSE;
|
||||
;
|
||||
int bytes = ima->h*ima->w*2, stbytes = stImageInfo.nWidth * stImageInfo.nHeight * 2;
|
||||
if(bytes != stbytes) WARNX("Different sizes of image buffer & grabbed image");
|
||||
if(stbytes > bytes) bytes = stbytes;
|
||||
DBG("Copy %d bytes (stbytes=%d)", bytes, stbytes);
|
||||
MVCC_ENUMVALUE EnumValue;
|
||||
if(MV_OK == MV_CC_GetEnumValue(handle, "PixelSize", &EnumValue)){
|
||||
if(EnumValue.nCurValue == 16){
|
||||
memcpy(ima->data, pdata, bytes);
|
||||
}else if(EnumValue.nCurValue != 8){
|
||||
WARNX("Unsupported pixel size");
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
// transform 8bits to 16
|
||||
DBG("TRANSFORM 8 bit to 16");
|
||||
bytes /= 2;
|
||||
uint8_t *ptr = (uint8_t*) pdata;
|
||||
for(int i = 0; i < bytes; ++i){
|
||||
ima->data[i] = (uint16_t) *ptr++;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int cam_modelname(char *buf, int bufsz){
|
||||
strncpy(buf, camname, bufsz);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int cam_setgeometry(frameformat *f){
|
||||
FNAME();
|
||||
if(!f || !handle) return FALSE;
|
||||
DBG("getbin");
|
||||
if(!cam_getbin(NULL, NULL)) return FALSE;
|
||||
DBG("set geom %dx%d (off: %dx%d)", f->w, f->h, f->xoff, f->yoff);
|
||||
if(!changeint("Width", f->w * curhbin)) return FALSE;
|
||||
if(!changeint("Height", f->h * curvbin)) return FALSE;
|
||||
if(!changeint("OffsetX", f->xoff * curhbin)) return FALSE;
|
||||
if(!changeint("OffsetY", f->yoff * curvbin)) return FALSE;
|
||||
DBG("Success!");
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int cam_settemp(float t){
|
||||
if(!handle) return FALSE;
|
||||
if(!changeenum("DeviceTemperatureSelector", 0)) return FALSE;
|
||||
if(!changeenum("DeviceTemperature", t)) return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int cam_gettemp(float *t){
|
||||
MVCC_FLOATVALUE fl;
|
||||
if(MV_OK != MV_CC_GetFloatValue(handle, "DeviceTemperature", &fl)) return FALSE;
|
||||
if(t) *t = fl.fCurValue;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int cam_gettchip(float *t){
|
||||
if(!handle) return FALSE;
|
||||
changeenum("DeviceTemperatureSelector", 0); // there's can be camera without this enume
|
||||
return cam_gettemp(t);
|
||||
}
|
||||
|
||||
static int cam_gettbody(_U_ float *t){
|
||||
if(!handle) return FALSE;
|
||||
if(!changeenum("DeviceTemperatureSelector", 1)) return FALSE;
|
||||
return cam_gettemp(t);
|
||||
}
|
||||
|
||||
static void cam_cancel(){
|
||||
if(!handle) return;
|
||||
MV_CC_StopGrabbing(handle);
|
||||
}
|
||||
|
||||
static int cam_shutter(_U_ shutter_op cmd){
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/*
|
||||
static int cam_confio(int io){
|
||||
if(!handle) return FALSE;
|
||||
MVCC_ENUMVALUE e;
|
||||
if(MV_OK != MV_CC_GetEnumValue(handle, "LineSelector", &e)) return FALSE;
|
||||
int bit = 1;
|
||||
for(int i = 0; i < (int)e.nSupportedNum; ++i, bit <<= 1){
|
||||
green("line %d: %d\n", e.nSupportValue[i]);
|
||||
if(io & bit) printf("bit %d\n", i);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
*/
|
||||
|
||||
static int cam_setexp(float t){ // t is in seconds!!
|
||||
if(!handle) return FALSE;
|
||||
if(!changefloat("ExposureTime", t*1e6)) return FALSE;
|
||||
exptime = t;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int cam_setbitdepth(int i){
|
||||
if(!handle) return FALSE;
|
||||
int d = i ? 16 : 8;
|
||||
if(!changeenum("PixelSize", d)) return FALSE;
|
||||
d = i ? PixelType_Gvsp_Mono16 : PixelType_Gvsp_Mono8;
|
||||
if(!changeenum("PixelFormat", d)) return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int cam_setfanspd(_U_ fan_speed s){
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
//static int cam_ffalse(_U_ float f){ return FALSE; }
|
||||
static int cam_fpfalse(_U_ float *f){ return FALSE; }
|
||||
static int cam_ifalse(_U_ int i){ return FALSE; }
|
||||
static int cam_ipfalse(_U_ int *i){ return FALSE; }
|
||||
|
||||
/*
|
||||
* Global objects: camera, focuser and wheel
|
||||
*/
|
||||
Camera camera = {
|
||||
.check = cam_findCCD,
|
||||
.close = cam_closecam,
|
||||
.pollcapture = cam_pollcapt,
|
||||
.capture = cam_capt,
|
||||
.cancel = cam_cancel,
|
||||
.startexposition = cam_startexp,
|
||||
// setters:
|
||||
.setDevNo = cam_setActiceCam,
|
||||
.setbrightness = cam_setbright,
|
||||
.setexp = cam_setexp,
|
||||
.setgain = cam_setgain,
|
||||
.setT = cam_settemp,
|
||||
.setbin = cam_setbin,
|
||||
.setnflushes = cam_ifalse,
|
||||
.shuttercmd = cam_shutter,
|
||||
.confio = cam_ifalse,
|
||||
.setio = cam_ifalse,
|
||||
.setframetype = cam_ifalse, // set DARK or NORMAL: no shutter -> no darks
|
||||
.setbitdepth = cam_setbitdepth,
|
||||
.setfastspeed = cam_ifalse,
|
||||
.setgeometry = cam_setgeometry,
|
||||
.setfanspeed = cam_setfanspd,
|
||||
// getters:
|
||||
.getbrightness = cam_getbright,
|
||||
.getModelName = cam_modelname,
|
||||
.getgain = cam_getgain,
|
||||
.getmaxgain = cam_getmaxgain,
|
||||
.getgeomlimits = cam_geomlimits,
|
||||
.getTcold = cam_gettchip,
|
||||
.getThot = cam_gettbody,
|
||||
.getTbody = cam_fpfalse,
|
||||
.getbin = cam_getbin,
|
||||
.getio = cam_ipfalse,
|
||||
};
|
||||
@ -760,6 +760,7 @@ void ccds(){
|
||||
|
||||
|
||||
uint16_t *img = MALLOC(uint16_t, raw_width * raw_height);
|
||||
DBG("\n\nAllocated image 2x%dx%d=%d", raw_width, raw_height, 2 * raw_width * raw_height);
|
||||
IMG ima = {.data = img, .w = raw_width, .h = raw_height};
|
||||
#ifdef IMAGEVIEW
|
||||
windowData *mainwin = NULL;
|
||||
|
||||
@ -8,6 +8,7 @@
|
||||
#include <usefull_macros.h>
|
||||
|
||||
#include "cmdlnopts.h"
|
||||
#include "basestructs.h"
|
||||
|
||||
#define DEFAULT_PID_FILE "/tmp/CCD_Capture.pid"
|
||||
|
||||
|
||||
@ -20,7 +20,6 @@
|
||||
#ifndef CMDLNOPTS_H__
|
||||
#define CMDLNOPTS_H__
|
||||
|
||||
#include "ccdfunc.h"
|
||||
#include <usefull_macros.h>
|
||||
|
||||
/*
|
||||
|
||||
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-04-19 14:59+0300\n"
|
||||
"POT-Creation-Date: 2022-12-21 15:25+0300\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -17,231 +17,231 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=koi8-r\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: cmdlnopts.c:42
|
||||
#: cmdlnopts.c:43
|
||||
msgid "common device plugin (e.g devfli.so)"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:43
|
||||
#: cmdlnopts.c:44
|
||||
msgid "camera device plugin (e.g. devfli.so)"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:44
|
||||
#: cmdlnopts.c:45
|
||||
msgid "focuser device plugin (e.g. devzwo.so)"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:45
|
||||
#: cmdlnopts.c:46
|
||||
msgid "wheel device plugin (e.g. devdummy.so)"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:46
|
||||
#: cmdlnopts.c:47
|
||||
msgid "list connected devices"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:47
|
||||
#: cmdlnopts.c:48
|
||||
msgid "camera device number (if many: 0, 1, 2 etc)"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:48
|
||||
#: cmdlnopts.c:49
|
||||
msgid "filter wheel device number (if many: 0, 1, 2 etc)"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:49
|
||||
#: cmdlnopts.c:50
|
||||
msgid "focuser device number (if many: 0, 1, 2 etc)"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:50
|
||||
#: cmdlnopts.c:51
|
||||
msgid "show this help"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:51
|
||||
#: cmdlnopts.c:52
|
||||
msgid "rewrite output file if exists"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:52
|
||||
#: cmdlnopts.c:53
|
||||
msgid "verbose level (-V - messages, -VV - debug, -VVV - all shit)"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:53
|
||||
#: cmdlnopts.c:54
|
||||
msgid "not open shutter, when exposing (\"dark frames\")"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:54
|
||||
#: cmdlnopts.c:55
|
||||
msgid "run in 8-bit mode"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:55
|
||||
#: cmdlnopts.c:56
|
||||
msgid "fast readout mode"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:56
|
||||
#: cmdlnopts.c:57
|
||||
msgid "set CCD temperature to given value (degr C)"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:57
|
||||
#: cmdlnopts.c:58
|
||||
msgid "set fan speed (0 - off, 1 - low, 2 - high)"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:59
|
||||
#: cmdlnopts.c:60
|
||||
msgid "program author"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:60
|
||||
#: cmdlnopts.c:61
|
||||
msgid "object type (neon, object, flat etc)"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:61
|
||||
#: cmdlnopts.c:62
|
||||
msgid "instrument name"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:62
|
||||
#: cmdlnopts.c:63
|
||||
msgid "object name"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:63
|
||||
#: cmdlnopts.c:64
|
||||
msgid "observers' names"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:64
|
||||
#: cmdlnopts.c:65
|
||||
msgid "observing program name"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:65
|
||||
#: cmdlnopts.c:66
|
||||
msgid "add records to header from given file[s]"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:66
|
||||
#: cmdlnopts.c:67
|
||||
msgid "output file name"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:67
|
||||
#: cmdlnopts.c:68
|
||||
msgid "wait while exposition ends"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:69
|
||||
#: cmdlnopts.c:70
|
||||
msgid "N flushes before exposing (default: 1)"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:70
|
||||
#: cmdlnopts.c:71
|
||||
msgid "horizontal binning to N pixels"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:71
|
||||
#: cmdlnopts.c:72
|
||||
msgid "vertical binning to N pixels"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:72
|
||||
#: cmdlnopts.c:73
|
||||
msgid "make series of N frames"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:73
|
||||
#: cmdlnopts.c:74
|
||||
msgid "make pause for N seconds between expositions"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:74
|
||||
#: cmdlnopts.c:75
|
||||
msgid "set exposure time to given value (seconds!)"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:75
|
||||
#: cmdlnopts.c:76
|
||||
msgid "cancel current exposition"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:76
|
||||
#: cmdlnopts.c:77
|
||||
msgid ""
|
||||
"absolute (not divided by binning!) frame X0 coordinate (-1 - all with "
|
||||
"overscan)"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:77
|
||||
#: cmdlnopts.c:78
|
||||
msgid "absolute frame Y0 coordinate (-1 - all with overscan)"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:78
|
||||
#: cmdlnopts.c:79
|
||||
msgid "absolute frame X1 coordinate (-1 - all with overscan)"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:79
|
||||
#: cmdlnopts.c:80
|
||||
msgid "absolute frame Y1 coordinate (-1 - all with overscan)"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:81
|
||||
#: cmdlnopts.c:82
|
||||
msgid "open shutter"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:82
|
||||
#: cmdlnopts.c:83
|
||||
msgid "close shutter"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:83
|
||||
#: cmdlnopts.c:84
|
||||
msgid "run exposition on LOW @ pin5 I/O port"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:84
|
||||
#: cmdlnopts.c:85
|
||||
msgid "run exposition on HIGH @ pin5 I/O port"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:85
|
||||
#: cmdlnopts.c:86
|
||||
msgid "get value of I/O port pins"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:86
|
||||
#: cmdlnopts.c:87
|
||||
msgid "move stepper motor asynchronous"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:88
|
||||
#: cmdlnopts.c:89
|
||||
msgid "set I/O port pins to given value (decimal number, pin1 is LSB)"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:89
|
||||
#: cmdlnopts.c:90
|
||||
msgid ""
|
||||
"configure I/O port pins to given value (decimal number, pin1 is LSB, 1 == "
|
||||
"output, 0 == input)"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:91
|
||||
#: cmdlnopts.c:92
|
||||
msgid "move focuser to absolute position, mm"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:92
|
||||
#: cmdlnopts.c:93
|
||||
msgid "move focuser to relative position, mm (only for standalone)"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:94
|
||||
#: cmdlnopts.c:95
|
||||
msgid "set wheel position"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:96
|
||||
#: cmdlnopts.c:97
|
||||
msgid "CMOS gain level"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:97
|
||||
#: cmdlnopts.c:98
|
||||
msgid "CMOS brightness level"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:99
|
||||
#: cmdlnopts.c:100
|
||||
msgid "logging file name (if run as server)"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:100
|
||||
#: cmdlnopts.c:101
|
||||
msgid "UNIX socket name"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:101
|
||||
#: cmdlnopts.c:102
|
||||
msgid "local INET socket port"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:102
|
||||
#: cmdlnopts.c:103
|
||||
msgid "run as client"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:103
|
||||
#: cmdlnopts.c:104
|
||||
msgid "PID file (default: "
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:104
|
||||
#: cmdlnopts.c:105
|
||||
msgid "restart image server"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:107
|
||||
#: cmdlnopts.c:108
|
||||
msgid "Display image in OpenGL window"
|
||||
msgstr ""
|
||||
|
||||
@ -265,287 +265,287 @@ msgstr ""
|
||||
msgid "Can't find wheel in plugin %s: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:155
|
||||
#: ccdfunc.c:183
|
||||
msgid "Camera device unknown"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:161
|
||||
#: ccdfunc.c:189
|
||||
msgid "Neither filename nor filename prefix pointed!"
|
||||
msgstr ""
|
||||
|
||||
#. Не могу сохранить файл
|
||||
#: ccdfunc.c:180
|
||||
#: ccdfunc.c:208
|
||||
#, c-format
|
||||
msgid "Can't save file with prefix %s"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:334
|
||||
#: ccdfunc.c:357
|
||||
#, c-format
|
||||
msgid "File saved as '%s'"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:343
|
||||
#: ccdfunc.c:366
|
||||
msgid "Error saving file"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:383
|
||||
#: ccdfunc.c:406
|
||||
#, c-format
|
||||
msgid "Image stat:\n"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:391
|
||||
#: ccdfunc.c:414
|
||||
msgid "Focuser device not pointed"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:398
|
||||
#: ccdfunc.c:421
|
||||
msgid "No focusers found"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:430
|
||||
#: ccdfunc.c:453
|
||||
#, c-format
|
||||
msgid "Found %d focusers, you point number %d"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:434
|
||||
#: ccdfunc.c:457
|
||||
msgid "Can't set active focuser number"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:448
|
||||
#: ccdfunc.c:471
|
||||
msgid "Can't get focuser limit positions"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:455
|
||||
#: ccdfunc.c:478
|
||||
msgid "Can't get current focuser position"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:469
|
||||
#: ccdfunc.c:492
|
||||
#, c-format
|
||||
msgid "Can't set position %g: out of limits [%g, %g]"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:473
|
||||
#: ccdfunc.c:496
|
||||
msgid "Can't home focuser"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:475
|
||||
#: ccdfunc.c:498
|
||||
#, c-format
|
||||
msgid "Can't set position %g"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:483
|
||||
#: ccdfunc.c:506
|
||||
msgid "Wheel device not pointed"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:490
|
||||
#: ccdfunc.c:513
|
||||
msgid "No wheels found"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:522
|
||||
#: ccdfunc.c:545
|
||||
#, c-format
|
||||
msgid "Found %d wheels, you point number %d"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:526
|
||||
#: ccdfunc.c:549
|
||||
msgid "Can't set active wheel number"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:542
|
||||
#: ccdfunc.c:565
|
||||
msgid "Can't get max wheel position"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:549
|
||||
#: ccdfunc.c:572
|
||||
#, c-format
|
||||
msgid "Wheel position should be from 0 to %d"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:553
|
||||
#: ccdfunc.c:576
|
||||
#, c-format
|
||||
msgid "Can't set wheel position %d"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:570
|
||||
#: ccdfunc.c:593
|
||||
#, c-format
|
||||
msgid "%.1f seconds till exposition ends"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:584
|
||||
#: ccdfunc.c:607
|
||||
msgid "Camera device not pointed"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:591 ccdfunc.c:592
|
||||
#: ccdfunc.c:614 ccdfunc.c:615
|
||||
msgid "No cameras found"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:627
|
||||
#, c-format
|
||||
msgid "Found %d cameras, you point number %d"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:631
|
||||
msgid "Can't set active camera number"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:637
|
||||
msgid "Can't set fan speed"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:638
|
||||
#, c-format
|
||||
msgid "Set fan speed to %d"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:643
|
||||
#, c-format
|
||||
msgid "Camera model: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:644
|
||||
#, c-format
|
||||
msgid "Pixel size: %g x %g"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:650
|
||||
#, c-format
|
||||
msgid "Found %d cameras, you point number %d"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:654
|
||||
msgid "Can't set active camera number"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:660
|
||||
msgid "Can't set fan speed"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:661
|
||||
#, c-format
|
||||
msgid "Set fan speed to %d"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:666
|
||||
#, c-format
|
||||
msgid "Camera model: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:667
|
||||
#, c-format
|
||||
msgid "Pixel size: %g x %g"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:673
|
||||
#, c-format
|
||||
msgid "Full array: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:653
|
||||
#: ccdfunc.c:676
|
||||
#, c-format
|
||||
msgid "Field of view: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:656
|
||||
#: ccdfunc.c:679
|
||||
#, c-format
|
||||
msgid "Can't set T to %g degC"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:663
|
||||
#: ccdfunc.c:686
|
||||
#, c-format
|
||||
msgid "Shutter command: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:665
|
||||
#: ccdfunc.c:688
|
||||
#, c-format
|
||||
msgid "Can't run shutter command %s (unsupported?)"
|
||||
msgstr ""
|
||||
|
||||
#. "Попытка сконфигурировать порт I/O как %d\n"
|
||||
#: ccdfunc.c:669
|
||||
#: ccdfunc.c:692
|
||||
#, c-format
|
||||
msgid "Try to configure I/O port as %d"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:671
|
||||
#: ccdfunc.c:694
|
||||
msgid "Can't configure (unsupported?)"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:677
|
||||
#: ccdfunc.c:700
|
||||
msgid "Can't get IOport state (unsupported?)"
|
||||
msgstr ""
|
||||
|
||||
#. "Попытка записи %d в порт I/O\n"
|
||||
#: ccdfunc.c:681
|
||||
#: ccdfunc.c:704
|
||||
#, c-format
|
||||
msgid "Try to write %d to I/O port"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:683
|
||||
#: ccdfunc.c:706
|
||||
msgid "Can't set IOport"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:690
|
||||
#: ccdfunc.c:713
|
||||
#, c-format
|
||||
msgid "Set gain to %g"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:691
|
||||
#: ccdfunc.c:714
|
||||
#, c-format
|
||||
msgid "Can't set gain to %g"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:696
|
||||
#: ccdfunc.c:719
|
||||
#, c-format
|
||||
msgid "Set brightness to %g"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:697
|
||||
#: ccdfunc.c:720
|
||||
#, c-format
|
||||
msgid "Can't set brightness to %g"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:705 server.c:223
|
||||
#: ccdfunc.c:728 server.c:223
|
||||
#, c-format
|
||||
msgid "Can't set binning %dx%d"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:715 server.c:224
|
||||
#: ccdfunc.c:738 server.c:224
|
||||
msgid "Can't set given geometry"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:719
|
||||
#: ccdfunc.c:742
|
||||
#, c-format
|
||||
msgid "Can't set %d flushes"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:723
|
||||
#: ccdfunc.c:746
|
||||
#, c-format
|
||||
msgid "Can't set exposure time to %f seconds"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:726
|
||||
#: ccdfunc.c:749
|
||||
msgid "Can't change frame type"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:729
|
||||
#: ccdfunc.c:752
|
||||
msgid "Can't set bit depth"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:731
|
||||
#: ccdfunc.c:754
|
||||
msgid "Can't set readout speed"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:732
|
||||
#: ccdfunc.c:755
|
||||
#, c-format
|
||||
msgid "Readout mode: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:733
|
||||
#: ccdfunc.c:756
|
||||
msgid "Only show statistics"
|
||||
msgstr ""
|
||||
|
||||
#. GET binning should be AFTER setgeometry!
|
||||
#: ccdfunc.c:735
|
||||
#: ccdfunc.c:758
|
||||
msgid "Can't get current binning"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:748
|
||||
#: ccdfunc.c:772
|
||||
msgid "Can't open OpenGL window, image preview will be inaccessible"
|
||||
msgstr ""
|
||||
|
||||
#. Захват кадра %d\n
|
||||
#: ccdfunc.c:756
|
||||
#: ccdfunc.c:780
|
||||
#, c-format
|
||||
msgid "Capture frame %d"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:758 server.c:121
|
||||
#: ccdfunc.c:782 server.c:121
|
||||
msgid "Can't start exposition"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:762 ccdfunc.c:784 ccdfunc.c:825
|
||||
#: ccdfunc.c:786 ccdfunc.c:808 ccdfunc.c:849
|
||||
msgid "Can't capture image"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:765
|
||||
#: ccdfunc.c:789
|
||||
msgid "Read grabbed image"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:768 ccdfunc.c:788 ccdfunc.c:829
|
||||
#: ccdfunc.c:792 ccdfunc.c:812 ccdfunc.c:853
|
||||
msgid "Can't grab image"
|
||||
msgstr ""
|
||||
|
||||
#. %d секунд до окончания паузы\n
|
||||
#: ccdfunc.c:805 client.c:260
|
||||
#: ccdfunc.c:829 client.c:260
|
||||
#, c-format
|
||||
msgid "%d seconds till pause ends\n"
|
||||
msgstr ""
|
||||
|
||||
238
locale/ru/ru.po
238
locale/ru/ru.po
@ -7,7 +7,7 @@
|
||||
msgid ""
|
||||
msgstr "Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-04-19 14:59+0300\n"
|
||||
"POT-Creation-Date: 2022-12-20 15:47+0300\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -16,13 +16,13 @@ msgstr "Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Content-Type: text/plain; charset=koi8-r\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ccdfunc.c:570
|
||||
#: ccdfunc.c:593
|
||||
#, c-format
|
||||
msgid "%.1f seconds till exposition ends"
|
||||
msgstr "%.1f ÓÅËÕÎÄ ÄÏ ÏËÏÎÞÁÎÉÑ ÜËÓÐÏÚÉÃÉÉ"
|
||||
|
||||
#. %d Ñ<>екунд до окончаниÑ<C2B8> паузы\n
|
||||
#: ccdfunc.c:805 client.c:260
|
||||
#: ccdfunc.c:829 client.c:260
|
||||
#, c-format
|
||||
msgid "%d seconds till pause ends\n"
|
||||
msgstr "%d ÓÅËÕÎÄ ÄÏ ÏËÏÎÞÁÎÉÑ ÐÁÕÚÙ\n"
|
||||
@ -31,36 +31,36 @@ msgstr "%d
|
||||
msgid "Already initialized!"
|
||||
msgstr "õÖÅ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎÏ!"
|
||||
|
||||
#: cmdlnopts.c:97
|
||||
#: cmdlnopts.c:98
|
||||
msgid "CMOS brightness level"
|
||||
msgstr "ÕÒÏ×ÅÎØ ÑÒËÏÓÔÉ CMOS"
|
||||
|
||||
#: cmdlnopts.c:96
|
||||
#: cmdlnopts.c:97
|
||||
msgid "CMOS gain level"
|
||||
msgstr "ÕÒÏ×ÅÎØ Gain CMOS"
|
||||
|
||||
#: ccdfunc.c:584
|
||||
#: ccdfunc.c:607
|
||||
msgid "Camera device not pointed"
|
||||
msgstr "õÓÔÒÏÊÓÔ×Ï Ó×ÅÏÐÒÉÅÍÎÉËÁ ÎÅ ÐÏÄËÌÀÞÅÎÏ"
|
||||
|
||||
#: ccdfunc.c:155
|
||||
#: ccdfunc.c:183
|
||||
msgid "Camera device unknown"
|
||||
msgstr "õÓÔÒÏÊÓÔ×Ï Ó×ÅÏÐÒÉÅÍÎÉËÁ ÎÅ ÏÐÏÚÎÁÎÏ"
|
||||
|
||||
#: ccdfunc.c:643
|
||||
#: ccdfunc.c:666
|
||||
#, c-format
|
||||
msgid "Camera model: %s"
|
||||
msgstr "íÏÄÅÌØ Ó×ÅÔÏÐÒÉÅÍÎÉËÁ: %s"
|
||||
|
||||
#: ccdfunc.c:762 ccdfunc.c:784 ccdfunc.c:825
|
||||
#: ccdfunc.c:786 ccdfunc.c:808 ccdfunc.c:849
|
||||
msgid "Can't capture image"
|
||||
msgstr "îÅ ÍÏÇÕ ÚÁÈ×ÁÔÉÔØ ÉÚÏÂÒÁÖÅÎÉÅ"
|
||||
|
||||
#: ccdfunc.c:726
|
||||
#: ccdfunc.c:749
|
||||
msgid "Can't change frame type"
|
||||
msgstr "îÅ ÍÏÇÕ ÉÚÍÅÎÉÔØ ÔÉÐ ËÁÄÒÁ"
|
||||
|
||||
#: ccdfunc.c:671
|
||||
#: ccdfunc.c:694
|
||||
msgid "Can't configure (unsupported?)"
|
||||
msgstr "îÅ ÍÏÇÕ ÓËÏÎÆÉÇÕÒÉÒÏ×ÁÔØ (ÏÐÃÉÑ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ?)"
|
||||
|
||||
@ -84,32 +84,32 @@ msgstr "
|
||||
msgid "Can't find wheel in plugin %s: %s"
|
||||
msgstr "îÅ ÍÏÇÕ ÎÁÊÔÉ ÐÌÁÇÉÎ ÔÕÒÅÌÉ %s: %s"
|
||||
|
||||
#: ccdfunc.c:677
|
||||
#: ccdfunc.c:700
|
||||
msgid "Can't get IOport state (unsupported?)"
|
||||
msgstr "îÅ ÍÏÇÕ ÐÏÌÕÞÉÔØ ÓÏÓÔÏÑÎÉÅ ÐÏÒÔÁ I/O (ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ?)"
|
||||
|
||||
#. GET binning should be AFTER setgeometry!
|
||||
#: ccdfunc.c:735
|
||||
#: ccdfunc.c:758
|
||||
msgid "Can't get current binning"
|
||||
msgstr "îÅ ÍÏÇÕ ÐÏÌÕÞÉÔØ ÔÅËÕÝÅÅ ÚÎÁÞÅÎÉÅ ÂÉÎÎÉÎÇÁ"
|
||||
|
||||
#: ccdfunc.c:455
|
||||
#: ccdfunc.c:478
|
||||
msgid "Can't get current focuser position"
|
||||
msgstr "îÅ ÍÏÇÕ ÏÐÒÅÄÅÌÉÔØ ÔÅËÕÝÕÀ ÐÏÚÉÃÉÀ ÆÏËÕÓÅÒÁ"
|
||||
|
||||
#: ccdfunc.c:448
|
||||
#: ccdfunc.c:471
|
||||
msgid "Can't get focuser limit positions"
|
||||
msgstr "îÅ ÍÏÇÕ ÏÐÒÅÄÅÌÉÔØ ÐÒÅÄÅÌØÎÕÀ ÐÏÚÉÃÉÀ ÆÏËÕÓÅÒÁ"
|
||||
|
||||
#: ccdfunc.c:542
|
||||
#: ccdfunc.c:565
|
||||
msgid "Can't get max wheel position"
|
||||
msgstr "îÅ ÍÏÇÕ ÏÐÒÅÄÅÌÉÔØ ÐÒÅÄÅÌØÎÕÀ ÐÏÚÉÃÉÀ ËÏÌÅÓÁ"
|
||||
|
||||
#: ccdfunc.c:768 ccdfunc.c:788 ccdfunc.c:829
|
||||
#: ccdfunc.c:792 ccdfunc.c:812 ccdfunc.c:853
|
||||
msgid "Can't grab image"
|
||||
msgstr "îÅ ÍÏÇÕ ÚÁÈ×ÁÔÉÔØ ÉÚÏÂÒÁÖÅÎÉÅ"
|
||||
|
||||
#: ccdfunc.c:473
|
||||
#: ccdfunc.c:496
|
||||
msgid "Can't home focuser"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÆÏËÕÓÅÒ × ÎÕÌØ"
|
||||
|
||||
@ -121,109 +121,109 @@ msgstr "
|
||||
msgid "Can't make exposition"
|
||||
msgstr "îÅ ÍÏÇÕ ×ÙÐÏÌÎÉÔØ ÜËÓÐÏÚÉÃÉÀ"
|
||||
|
||||
#: ccdfunc.c:748
|
||||
#: ccdfunc.c:772
|
||||
msgid "Can't open OpenGL window, image preview will be inaccessible"
|
||||
msgstr "îÅ ÍÏÇÕ ÏÔËÒÙÔØ ÏËÎÏ OpenGL, ÏÔÏÂÒÁÖÅÎÉÅ ÂÕÄÅÔ ÎÅÄÏÓÔÕÐÎÏ"
|
||||
|
||||
#: ccdfunc.c:665
|
||||
#: ccdfunc.c:688
|
||||
#, c-format
|
||||
msgid "Can't run shutter command %s (unsupported?)"
|
||||
msgstr "îÅ ÍÏÇÕ ×ÙÐÏÌÎÉÔØ ËÏÍÁÎÄÕ ÚÁÔ×ÏÒÁ %s (ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ?)"
|
||||
|
||||
#. Ð<>е могу Ñ<>охранить файл
|
||||
#: ccdfunc.c:180
|
||||
#: ccdfunc.c:208
|
||||
#, c-format
|
||||
msgid "Can't save file with prefix %s"
|
||||
msgstr "îÅ ÍÏÇÕ ÓÏÈÒÁÎÉÔØ ÆÁÊÌ Ó ÐÒÅÆÉËÓÏÍ %s"
|
||||
|
||||
#: ccdfunc.c:719
|
||||
#: ccdfunc.c:742
|
||||
#, c-format
|
||||
msgid "Can't set %d flushes"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ %d ÓÂÒÏÓÏ×"
|
||||
|
||||
#: ccdfunc.c:683
|
||||
#: ccdfunc.c:706
|
||||
msgid "Can't set IOport"
|
||||
msgstr "îÅ ÍÏÇÕ ÐÏÍÅÎÑÔØ ÚÎÁÞÅÎÉÑ ÐÏÒÔÁ I/O"
|
||||
|
||||
#: ccdfunc.c:656
|
||||
#: ccdfunc.c:679
|
||||
#, c-format
|
||||
msgid "Can't set T to %g degC"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÔÅÍÐÅÒÁÔÕÒÕ × %g ÇÒÁÄã"
|
||||
|
||||
#: ccdfunc.c:631
|
||||
#: ccdfunc.c:654
|
||||
msgid "Can't set active camera number"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÎÏÍÅÒ ÁËÔÉ×ÎÏÊ ËÁÍÅÒÙ"
|
||||
|
||||
#: ccdfunc.c:434
|
||||
#: ccdfunc.c:457
|
||||
msgid "Can't set active focuser number"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÎÏÍÅÒ ÁËÔÉ×ÎÏÇÏ ÆÏËÕÓÅÒÁ"
|
||||
|
||||
#: ccdfunc.c:526
|
||||
#: ccdfunc.c:549
|
||||
msgid "Can't set active wheel number"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÎÏÍÅÒ ÁËÔÉ×ÎÏÇÏ ËÏÌÅÓÁ"
|
||||
|
||||
#: ccdfunc.c:705 server.c:223
|
||||
#: ccdfunc.c:728 server.c:223
|
||||
#, c-format
|
||||
msgid "Can't set binning %dx%d"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÂÉÎÎÉÎÇ %dx%d"
|
||||
|
||||
#: ccdfunc.c:729
|
||||
#: ccdfunc.c:752
|
||||
msgid "Can't set bit depth"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÒÁÚÒÑÄÎÏÓÔØ áãð"
|
||||
|
||||
#: ccdfunc.c:697
|
||||
#: ccdfunc.c:720
|
||||
#, c-format
|
||||
msgid "Can't set brightness to %g"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÑÒËÏÓÔØ × %g"
|
||||
|
||||
#: ccdfunc.c:723
|
||||
#: ccdfunc.c:746
|
||||
#, c-format
|
||||
msgid "Can't set exposure time to %f seconds"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÜËÓÐÏÚÉÃÉÀ × %f ÓÅËÕÎÄ"
|
||||
|
||||
#: ccdfunc.c:637
|
||||
#: ccdfunc.c:660
|
||||
msgid "Can't set fan speed"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÓËÏÒÏÓÔØ ×ÅÎÔÉÌÑÔÏÒÏ×"
|
||||
|
||||
#: ccdfunc.c:691
|
||||
#: ccdfunc.c:714
|
||||
#, c-format
|
||||
msgid "Can't set gain to %g"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ Gain × %g"
|
||||
|
||||
#: ccdfunc.c:715 server.c:224
|
||||
#: ccdfunc.c:738 server.c:224
|
||||
msgid "Can't set given geometry"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÇÅÏÍÅÔÒÉÀ"
|
||||
|
||||
#: ccdfunc.c:475
|
||||
#: ccdfunc.c:498
|
||||
#, c-format
|
||||
msgid "Can't set position %g"
|
||||
msgstr "îÅ ÍÏÇÕ ÉÚÍÅÎÉÔØ ÐÏÚÉÃÉÀ ÎÁ %g"
|
||||
|
||||
#: ccdfunc.c:469
|
||||
#: ccdfunc.c:492
|
||||
#, c-format
|
||||
msgid "Can't set position %g: out of limits [%g, %g]"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÐÏÚÉÃÉÀ %g: ×ÎÅ ÐÒÅÄÅÌÏ× [%g, %g]"
|
||||
|
||||
#: ccdfunc.c:731
|
||||
#: ccdfunc.c:754
|
||||
msgid "Can't set readout speed"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÓËÏÒÏÓÔØ ÓÞÉÔÙ×ÁÎÉÑ"
|
||||
|
||||
#: ccdfunc.c:553
|
||||
#: ccdfunc.c:576
|
||||
#, c-format
|
||||
msgid "Can't set wheel position %d"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÐÏÌÏÖÅÎÉÅ ËÏÌÅÓÁ %d"
|
||||
|
||||
#: ccdfunc.c:758 server.c:121
|
||||
#: ccdfunc.c:782 server.c:121
|
||||
msgid "Can't start exposition"
|
||||
msgstr "îÅ ÍÏÇÕ ÎÁÞÁÔØ ÜËÓÐÏÚÉÃÉÀ"
|
||||
|
||||
#. Захват кадра %d\n
|
||||
#: ccdfunc.c:756
|
||||
#: ccdfunc.c:780
|
||||
#, c-format
|
||||
msgid "Capture frame %d"
|
||||
msgstr "úÁÈ×ÁÔ ËÁÄÒÁ %d"
|
||||
|
||||
#: cmdlnopts.c:107
|
||||
#: cmdlnopts.c:108
|
||||
msgid "Display image in OpenGL window"
|
||||
msgstr "ïÔÏÂÒÁÖÅÎÉÅ ÉÚÏÂÒÁÖÅÎÉÑ × ÏËÎÅ OpenGL"
|
||||
|
||||
@ -232,40 +232,40 @@ msgstr "
|
||||
msgid "Equalization of histogram: %s"
|
||||
msgstr "üË×ÁÌÉÚÁÃÉÑ ÇÉÓÔÏÇÒÁÍÍÙ: %s"
|
||||
|
||||
#: ccdfunc.c:343
|
||||
#: ccdfunc.c:366
|
||||
msgid "Error saving file"
|
||||
msgstr "ïÛÉÂËÁ ÓÏÈÒÁÎÅÎÉÑ ÆÁÊÌÁ"
|
||||
|
||||
#: ccdfunc.c:653
|
||||
#: ccdfunc.c:676
|
||||
#, c-format
|
||||
msgid "Field of view: %s"
|
||||
msgstr "ðÏÌÅ ÚÒÅÎÉÑ: %s"
|
||||
|
||||
#: ccdfunc.c:334
|
||||
#: ccdfunc.c:357
|
||||
#, c-format
|
||||
msgid "File saved as '%s'"
|
||||
msgstr "æÁÊÌ ÓÏÈÒÁÎÅÎ ËÁË '%s'"
|
||||
|
||||
#: ccdfunc.c:391
|
||||
#: ccdfunc.c:414
|
||||
msgid "Focuser device not pointed"
|
||||
msgstr "õÓÔÒÏÊÓÔ×Ï ÆÏËÕÓÅÒÁ ÎÅ ÕËÁÚÁÎÏ"
|
||||
|
||||
#: ccdfunc.c:627
|
||||
#: ccdfunc.c:650
|
||||
#, c-format
|
||||
msgid "Found %d cameras, you point number %d"
|
||||
msgstr "ïÂÎÁÒÕÖÅÎÏ %d ËÁÍÅÒ, ×Ù ÕËÁÚÁÌÉ %d"
|
||||
|
||||
#: ccdfunc.c:430
|
||||
#: ccdfunc.c:453
|
||||
#, c-format
|
||||
msgid "Found %d focusers, you point number %d"
|
||||
msgstr "ïÂÎÁÒÕÖÅÎÏ %d ÆÏËÕÓÅÒÏ×, ×Ù ÕËÁÚÁÌÉ %d"
|
||||
|
||||
#: ccdfunc.c:522
|
||||
#: ccdfunc.c:545
|
||||
#, c-format
|
||||
msgid "Found %d wheels, you point number %d"
|
||||
msgstr "ïÂÎÁÒÕÖÅÎÏ %d ËÏÌÅÓ, ×Ù ÕËÁÚÁÌÉ %d"
|
||||
|
||||
#: ccdfunc.c:650
|
||||
#: ccdfunc.c:673
|
||||
#, c-format
|
||||
msgid "Full array: %s"
|
||||
msgstr "ðÏÌÎÙÊ ÆÏÒÍÁÔ: %s"
|
||||
@ -275,16 +275,16 @@ msgstr "
|
||||
msgid "Histogram conversion: %s"
|
||||
msgstr "ðÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÇÉÓÔÏÇÒÁÍÍÙ: %s"
|
||||
|
||||
#: ccdfunc.c:383
|
||||
#: ccdfunc.c:406
|
||||
#, c-format
|
||||
msgid "Image stat:\n"
|
||||
msgstr "óÔÁÔÉÓÔÉËÁ ÐÏ ÉÚÏÂÒÁÖÅÎÉÀ: \n"
|
||||
|
||||
#: cmdlnopts.c:69
|
||||
#: cmdlnopts.c:70
|
||||
msgid "N flushes before exposing (default: 1)"
|
||||
msgstr "N ÚÁÓ×ÅÞÉ×ÁÎÉÊ ÐÅÒÅÄ ÜËÓÐÏÚÉÃÉÅÊ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1)"
|
||||
|
||||
#: ccdfunc.c:161
|
||||
#: ccdfunc.c:189
|
||||
msgid "Neither filename nor filename prefix pointed!"
|
||||
msgstr "îÉ ÉÍÑ ÆÁÊÌÁ, ÎÉ ÐÒÅÆÉËÓ ÎÅ ÕËÁÚÁÎÙ!"
|
||||
|
||||
@ -292,36 +292,36 @@ msgstr "
|
||||
msgid "No camera device"
|
||||
msgstr "îÅ ÕËÁÚÁÎÏ ÕÓÔÒÏÊÓÔ×Ï ËÁÍÅÒÙ"
|
||||
|
||||
#: ccdfunc.c:591 ccdfunc.c:592
|
||||
#: ccdfunc.c:614 ccdfunc.c:615
|
||||
msgid "No cameras found"
|
||||
msgstr "ëÁÍÅÒ ÎÅ ÏÂÎÁÒÕÖÅÎÏ"
|
||||
|
||||
#: ccdfunc.c:398
|
||||
#: ccdfunc.c:421
|
||||
msgid "No focusers found"
|
||||
msgstr "æÏËÕÓÅÒÏ× ÎÅ ÏÂÎÁÒÕÖÅÎÏ"
|
||||
|
||||
#: ccdfunc.c:490
|
||||
#: ccdfunc.c:513
|
||||
msgid "No wheels found"
|
||||
msgstr "ôÕÒÅÌÅÊ ÎÅ ÏÂÎÁÒÕÖÅÎÏ"
|
||||
|
||||
#: ccdfunc.c:733
|
||||
#: ccdfunc.c:756
|
||||
msgid "Only show statistics"
|
||||
msgstr "ôÏÌØËÏ ÏÔÏÂÒÁÚÉÔØ ÓÔÁÔÉÓÔÉËÕ"
|
||||
|
||||
#: cmdlnopts.c:103
|
||||
#: cmdlnopts.c:104
|
||||
msgid "PID file (default: "
|
||||
msgstr "PID-ÆÁÊÌ (ÐÏ ÕÍÏÌÞÁÎÉÀ: "
|
||||
|
||||
#: ccdfunc.c:644
|
||||
#: ccdfunc.c:667
|
||||
#, c-format
|
||||
msgid "Pixel size: %g x %g"
|
||||
msgstr "òÁÚÍÅÒ ÐÉËÓÅÌÑ: %g x %g"
|
||||
|
||||
#: ccdfunc.c:765
|
||||
#: ccdfunc.c:789
|
||||
msgid "Read grabbed image"
|
||||
msgstr "óÞÉÔÙ×ÁÎÉÅ ÉÚÏÂÒÁÖÅÎÉÑ"
|
||||
|
||||
#: ccdfunc.c:732
|
||||
#: ccdfunc.c:755
|
||||
#, c-format
|
||||
msgid "Readout mode: %s"
|
||||
msgstr "òÅÖÉÍ ÓÞÉÔÙ×ÁÎÉÑ: %s"
|
||||
@ -330,177 +330,177 @@ msgstr "
|
||||
msgid "Server timeout"
|
||||
msgstr "ôÁÊÍÁÕÔ ÓÅÒ×ÅÒÁ"
|
||||
|
||||
#: ccdfunc.c:696
|
||||
#: ccdfunc.c:719
|
||||
#, c-format
|
||||
msgid "Set brightness to %g"
|
||||
msgstr "õÓÔÁÎÏ×ÉÔØ ÑÒËÏÓÔØ × %g"
|
||||
|
||||
#: ccdfunc.c:638
|
||||
#: ccdfunc.c:661
|
||||
#, c-format
|
||||
msgid "Set fan speed to %d"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÓËÏÒÏÓÔØ ×ÅÎÔÉÌÑÔÏÒÏ× × %d"
|
||||
|
||||
#: ccdfunc.c:690
|
||||
#: ccdfunc.c:713
|
||||
#, c-format
|
||||
msgid "Set gain to %g"
|
||||
msgstr "õÓÔÁÎÏ×ÉÔØ Gain × %g"
|
||||
|
||||
#: ccdfunc.c:663
|
||||
#: ccdfunc.c:686
|
||||
#, c-format
|
||||
msgid "Shutter command: %s\n"
|
||||
msgstr "ëÏÍÁÎÄÁ ÚÁÔ×ÏÒÁ: %s\n"
|
||||
|
||||
#. "Попытка Ñ<>конфигурировать порт I/O как %d\n"
|
||||
#: ccdfunc.c:669
|
||||
#: ccdfunc.c:692
|
||||
#, c-format
|
||||
msgid "Try to configure I/O port as %d"
|
||||
msgstr "ðÏÐÙÔËÁ ÓËÏÎÆÉÇÕÒÉÒÏ×ÁÔØ ÐÏÒÔ I/O ËÁË %d"
|
||||
|
||||
#. "Попытка запиÑ<C2B8>и %d в порт I/O\n"
|
||||
#: ccdfunc.c:681
|
||||
#: ccdfunc.c:704
|
||||
#, c-format
|
||||
msgid "Try to write %d to I/O port"
|
||||
msgstr "ðÏÐÙÔËÁ ÚÁÐÉÓÉ %d × ÐÏÒÔ I/O"
|
||||
|
||||
#: cmdlnopts.c:100
|
||||
#: cmdlnopts.c:101
|
||||
msgid "UNIX socket name"
|
||||
msgstr "éÍÑ UNIX-ÓÏËÅÔÁ"
|
||||
|
||||
#: ccdfunc.c:483
|
||||
#: ccdfunc.c:506
|
||||
msgid "Wheel device not pointed"
|
||||
msgstr "õÓÔÒÏÊÓÔ×Ï ÔÕÒÅÌÉ ÎÅ ÕËÁÚÁÎÏ"
|
||||
|
||||
#: ccdfunc.c:549
|
||||
#: ccdfunc.c:572
|
||||
#, c-format
|
||||
msgid "Wheel position should be from 0 to %d"
|
||||
msgstr "ðÏÚÉÃÉÑ ËÏÌÅÓÁ ÄÏÌÖÎÁ ÂÙÔØ ÏÔ 0 ÄÏ %d"
|
||||
|
||||
#: cmdlnopts.c:76
|
||||
#: cmdlnopts.c:77
|
||||
msgid "absolute (not divided by binning!) frame X0 coordinate (-1 - all "
|
||||
"with overscan)"
|
||||
msgstr "ÁÂÓÏÌÀÔÎÁÑ (ÎÅ ÄÅÌÅÎÎÁÑ ÎÁ ÂÉÎÎÉÎÇ!) ËÏÏÒÄÉÎÁÔÁ X0 (-1 - ×ËÌÀÞÁÑ "
|
||||
"Ï×ÅÒÓËÁÎ)"
|
||||
|
||||
#: cmdlnopts.c:78
|
||||
#: cmdlnopts.c:79
|
||||
msgid "absolute frame X1 coordinate (-1 - all with overscan)"
|
||||
msgstr "ÁÂÓÏÌÀÔÎÁÑ ËÏÏÒÄÉÎÁÔÁ X1 (-1 - ×ËÌÀÞÁÑ Ï×ÅÒÓËÁÎ)"
|
||||
|
||||
#: cmdlnopts.c:77
|
||||
#: cmdlnopts.c:78
|
||||
msgid "absolute frame Y0 coordinate (-1 - all with overscan)"
|
||||
msgstr "ÁÂÓÏÌÀÔÎÁÑ ËÏÏÒÄÉÎÁÔÁ Y0 (-1 - ×ËÌÀÞÁÑ Ï×ÅÒÓËÁÎ)"
|
||||
|
||||
#: cmdlnopts.c:79
|
||||
#: cmdlnopts.c:80
|
||||
msgid "absolute frame Y1 coordinate (-1 - all with overscan)"
|
||||
msgstr "ÁÂÓÏÌÀÔÎÁÑ ËÏÏÒÄÉÎÁÔÁ Y1 (-1 - ×ËÌÀÞÁÑ Ï×ÅÒÓËÁÎ)"
|
||||
|
||||
#: cmdlnopts.c:65
|
||||
#: cmdlnopts.c:66
|
||||
msgid "add records to header from given file[s]"
|
||||
msgstr "ÄÏÂÁ×ÉÔØ ÚÁÐÉÓÉ Ë ÛÁÐËÅ FITS-ÆÁÊÌÁ ÉÚ ÚÁÄÁÎÎÙÈ ÆÁÊÌÏ×"
|
||||
|
||||
#: cmdlnopts.c:47
|
||||
#: cmdlnopts.c:48
|
||||
msgid "camera device number (if many: 0, 1, 2 etc)"
|
||||
msgstr "ÎÏÍÅÒ ÕÓÔÒÏÊÓÔ×Á ËÁÍÅÒÙ"
|
||||
|
||||
#: cmdlnopts.c:43
|
||||
#: cmdlnopts.c:44
|
||||
msgid "camera device plugin (e.g. devfli.so)"
|
||||
msgstr "ÐÌÁÇÉÎ ËÁÍÅÒÙ (ÎÁÐÒÉÍÅÒ, devfli.so)"
|
||||
|
||||
#: cmdlnopts.c:75
|
||||
#: cmdlnopts.c:76
|
||||
msgid "cancel current exposition"
|
||||
msgstr "ÏÔÍÅÎÁ ÔÅËÕÝÅÊ ÜËÓÐÏÚÉÃÉÉ"
|
||||
|
||||
#: cmdlnopts.c:82
|
||||
#: cmdlnopts.c:83
|
||||
msgid "close shutter"
|
||||
msgstr "ÚÁËÒÙÔØ ÚÁÔ×ÏÒ"
|
||||
|
||||
#: cmdlnopts.c:42
|
||||
#: cmdlnopts.c:43
|
||||
msgid "common device plugin (e.g devfli.so)"
|
||||
msgstr "ÏÂÝÉÊ ÐÌÁÇÉÎ ÄÌÑ ×ÓÅÈ ÕÓÔÒÏÊÓÔ× (ÎÁÐÒÉÍÅÒ, devfli.so)"
|
||||
|
||||
#: cmdlnopts.c:89
|
||||
#: cmdlnopts.c:90
|
||||
msgid "configure I/O port pins to given value (decimal number, pin1 is LSB, "
|
||||
"1 == output, 0 == input)"
|
||||
msgstr "ÓËÏÎÆÉÇÕÒÉÒÏ×ÁÔØ ÐÏÒÔ I/O × ÚÁÄÁÎÎÏÅ ÓÏÓÔÏÑÎÉÅ (ÄÅÓÑÔÉÞÎÏÅ ÞÉÓÌÏ, "
|
||||
"pin1 - ÍÌÁÄÛÉÊ ÂÉÔ, 1 - ×ÙÈÏÄ, 0 - ×ÈÏÄ)"
|
||||
|
||||
#: cmdlnopts.c:55
|
||||
#: cmdlnopts.c:56
|
||||
msgid "fast readout mode"
|
||||
msgstr "ÂÙÓÔÒÙÊ ÒÅÖÉÍ ÓÞÉÔÙ×ÁÎÉÑ"
|
||||
|
||||
#: cmdlnopts.c:48
|
||||
#: cmdlnopts.c:49
|
||||
msgid "filter wheel device number (if many: 0, 1, 2 etc)"
|
||||
msgstr "ÎÏÍÅÒ ÕÓÔÒÏÊÓÔ×Á ÔÕÒÅÌÉ"
|
||||
|
||||
#: cmdlnopts.c:49
|
||||
#: cmdlnopts.c:50
|
||||
msgid "focuser device number (if many: 0, 1, 2 etc)"
|
||||
msgstr "ÎÏÍÅÒ ÕÓÔÒÏÊÓÔ×Á ÆÏËÕÓÅÒÁ"
|
||||
|
||||
#: cmdlnopts.c:44
|
||||
#: cmdlnopts.c:45
|
||||
msgid "focuser device plugin (e.g. devzwo.so)"
|
||||
msgstr "ÐÌÁÇÉÎ ÆÏËÕÓÅÒÁ (ÎÁÐÒÉÍÅÒ, devzwo.so)"
|
||||
|
||||
#: cmdlnopts.c:85
|
||||
#: cmdlnopts.c:86
|
||||
msgid "get value of I/O port pins"
|
||||
msgstr "ÐÏÌÕÞÉÔØ ÚÎÁÞÅÎÉÅ ÐÏÒÔÁ I/O"
|
||||
|
||||
#: cmdlnopts.c:70
|
||||
#: cmdlnopts.c:71
|
||||
msgid "horizontal binning to N pixels"
|
||||
msgstr "ÇÏÒÉÚÏÎÔÁÌØÎÙÊ ÂÉÎÎÉÎÇ × N ÐÉËÓÅÌÅÊ"
|
||||
|
||||
#: cmdlnopts.c:61
|
||||
#: cmdlnopts.c:62
|
||||
msgid "instrument name"
|
||||
msgstr "ÎÁÚ×ÁÎÉÅ ÐÒÉÂÏÒÁ"
|
||||
|
||||
#: cmdlnopts.c:46
|
||||
#: cmdlnopts.c:47
|
||||
msgid "list connected devices"
|
||||
msgstr "ÓÐÉÓÏË ÐÏÄËÌÀÞÅÎÎÙÈ ÕÓÔÒÏÊÓÔ×"
|
||||
|
||||
#: cmdlnopts.c:101
|
||||
#: cmdlnopts.c:102
|
||||
msgid "local INET socket port"
|
||||
msgstr "ÐÏÒÔ ÌÏËÁÌØÎÏÇÏ ÓÅÔÅ×ÏÇÏ ÓÏËÅÔÁ"
|
||||
|
||||
#: cmdlnopts.c:99
|
||||
#: cmdlnopts.c:100
|
||||
msgid "logging file name (if run as server)"
|
||||
msgstr "ÉÍÑ ÆÁÊÌÁ ÌÏÇÇÉÒÏ×ÁÎÉÑ (ÅÓÌÉ ÚÁÐÕÝÅÎ ÓÅÒ×ÅÒ)"
|
||||
|
||||
#: cmdlnopts.c:73
|
||||
#: cmdlnopts.c:74
|
||||
msgid "make pause for N seconds between expositions"
|
||||
msgstr "ÐÁÕÚÁ × N ÓÅËÕÎÄ ÍÅÖÄÕ ÜËÓÐÏÚÉÃÉÑÍÉ"
|
||||
|
||||
#: cmdlnopts.c:72
|
||||
#: cmdlnopts.c:73
|
||||
msgid "make series of N frames"
|
||||
msgstr "ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ ÉÚ N ËÁÄÒÏ×"
|
||||
|
||||
#: cmdlnopts.c:91
|
||||
#: cmdlnopts.c:92
|
||||
msgid "move focuser to absolute position, mm"
|
||||
msgstr "ÐÅÒÅÍÅÓÔÉÔØ ÆÏËÕÓÅÒ × ÁÂÓÏÌÀÔÎÏÅ ÐÏÌÏÖÅÎÉÅ, ÍÍ"
|
||||
|
||||
#: cmdlnopts.c:92
|
||||
#: cmdlnopts.c:93
|
||||
msgid "move focuser to relative position, mm (only for standalone)"
|
||||
msgstr "ÐÅÒÅÍÅÓÔÉÔØ ÆÏËÕÓÅÒ × ÏÔÎÏÓÉÔÅÌØÎÏÅ ÐÏÌÏÖÅÎÉÅ, ÍÍ (ÎÅ ÄÌÑ ÓÅÒ×ÅÒ/"
|
||||
"ËÌÉÅÎÔ)"
|
||||
|
||||
#: cmdlnopts.c:86
|
||||
#: cmdlnopts.c:87
|
||||
msgid "move stepper motor asynchronous"
|
||||
msgstr "ÁÓÉÎÈÒÏÎÎÏÅ Ä×ÉÖÅÎÉÅ ÛÁÇÏ×ÏÇÏ Ä×ÉÇÁÔÅÌÑ"
|
||||
|
||||
#: cmdlnopts.c:53
|
||||
#: cmdlnopts.c:54
|
||||
msgid "not open shutter, when exposing (\"dark frames\")"
|
||||
msgstr "ÎÅ ÏÔËÒÙ×ÁÔØ ÚÁÔ×ÏÒ ÐÒÉ ÜËÓÐÏÚÉÃÉÉ (\"ÔÅÍÎÏ×ÙÅ\")"
|
||||
|
||||
#: cmdlnopts.c:62
|
||||
#: cmdlnopts.c:63
|
||||
msgid "object name"
|
||||
msgstr "ÎÁÚ×ÁÎÉÅ ÏÂßÅËÔÁ"
|
||||
|
||||
#: cmdlnopts.c:60
|
||||
#: cmdlnopts.c:61
|
||||
msgid "object type (neon, object, flat etc)"
|
||||
msgstr "ÔÉÐ ÏÂßÅËÔÁ (neon, object, flat É Ô.Ä.)"
|
||||
|
||||
#: cmdlnopts.c:63
|
||||
#: cmdlnopts.c:64
|
||||
msgid "observers' names"
|
||||
msgstr "ÉÍÅÎÁ ÎÁÂÌÀÄÁÔÅÌÅÊ"
|
||||
|
||||
#: cmdlnopts.c:64
|
||||
#: cmdlnopts.c:65
|
||||
msgid "observing program name"
|
||||
msgstr "ÎÁÚ×ÁÎÉÅ ÐÒÏÇÒÁÍÍÙ"
|
||||
|
||||
@ -512,78 +512,78 @@ msgstr "
|
||||
msgid "on"
|
||||
msgstr "×ËÌ"
|
||||
|
||||
#: cmdlnopts.c:81
|
||||
#: cmdlnopts.c:82
|
||||
msgid "open shutter"
|
||||
msgstr "ÏÔËÒÙÔØ ÚÁÔ×ÏÒ"
|
||||
|
||||
#: cmdlnopts.c:66
|
||||
#: cmdlnopts.c:67
|
||||
msgid "output file name"
|
||||
msgstr "ÉÍÑ ÆÁÊÌÁ"
|
||||
|
||||
#: cmdlnopts.c:59
|
||||
#: cmdlnopts.c:60
|
||||
msgid "program author"
|
||||
msgstr "Á×ÔÏÒ ÐÒÏÇÒÁÍÍÙ"
|
||||
|
||||
#: cmdlnopts.c:104
|
||||
#: cmdlnopts.c:105
|
||||
msgid "restart image server"
|
||||
msgstr "ÐÅÒÅÚÁÐÕÓË ÓÅÒ×ÅÒÁ"
|
||||
|
||||
#: cmdlnopts.c:51
|
||||
#: cmdlnopts.c:52
|
||||
msgid "rewrite output file if exists"
|
||||
msgstr "ÐÅÒÅÚÁÐÉÓØ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ"
|
||||
|
||||
#: cmdlnopts.c:102
|
||||
#: cmdlnopts.c:103
|
||||
msgid "run as client"
|
||||
msgstr "ÚÁÐÕÓÔÉÔØ ËÌÉÅÎÔ"
|
||||
|
||||
#: cmdlnopts.c:84
|
||||
#: cmdlnopts.c:85
|
||||
msgid "run exposition on HIGH @ pin5 I/O port"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:83
|
||||
#: cmdlnopts.c:84
|
||||
msgid "run exposition on LOW @ pin5 I/O port"
|
||||
msgstr ""
|
||||
|
||||
#: cmdlnopts.c:54
|
||||
#: cmdlnopts.c:55
|
||||
msgid "run in 8-bit mode"
|
||||
msgstr "8-ÂÉÔÎÙÊ ÒÅÖÉÍ"
|
||||
|
||||
#: cmdlnopts.c:56
|
||||
#: cmdlnopts.c:57
|
||||
msgid "set CCD temperature to given value (degr C)"
|
||||
msgstr "ÕÓÔÁÎÏ×ÉÔØ ÔÅÍÐÅÒÁÔÕÒÕ Ó×ÅÔÏÐÒÉÅÍÎÉËÁ (ÇÒÁÄã)"
|
||||
|
||||
#: cmdlnopts.c:88
|
||||
#: cmdlnopts.c:89
|
||||
msgid "set I/O port pins to given value (decimal number, pin1 is LSB)"
|
||||
msgstr "ÕÓÔÁÎÏ×ÉÔØ ÐÏÒÔ I/O (ÄÅÓÑÔÉÞÎÏÅ ÞÉÓÌÏ, pin1 - ÍÌÁÄÛÉÊ ÂÉÔ)"
|
||||
|
||||
#: cmdlnopts.c:74
|
||||
#: cmdlnopts.c:75
|
||||
msgid "set exposure time to given value (seconds!)"
|
||||
msgstr "ÕÓÔÁÎÏ×ÉÔØ ×ÒÅÍÑ ÜËÓÐÏÚÉÃÉÉ (ÓÅËÕÎÄÙ!)"
|
||||
|
||||
#: cmdlnopts.c:57
|
||||
#: cmdlnopts.c:58
|
||||
msgid "set fan speed (0 - off, 1 - low, 2 - high)"
|
||||
msgstr "ÕÓÔÁÎÏ×ÉÔØ ÓËÏÒÏÓÔØ ×ÅÎÔÉÌÑÔÏÒÁ (0 - ×ÙËÌ, 1 - ÎÉÚËÁÑ, 2 - ×ÙÓÏËÁÑ)"
|
||||
|
||||
#: cmdlnopts.c:94
|
||||
#: cmdlnopts.c:95
|
||||
msgid "set wheel position"
|
||||
msgstr "ÕÓÔÁÎÏ×ÉÔØ ÐÏÌÏÖÅÎÉÅ ËÏÌÅÓÁ"
|
||||
|
||||
#: cmdlnopts.c:50
|
||||
#: cmdlnopts.c:51
|
||||
msgid "show this help"
|
||||
msgstr "ÏÔÏÂÒÁÚÉÔØ ÜÔÕ ÓÐÒÁ×ËÕ"
|
||||
|
||||
#: cmdlnopts.c:52
|
||||
#: cmdlnopts.c:53
|
||||
msgid "verbose level (-V - messages, -VV - debug, -VVV - all shit)"
|
||||
msgstr "ÕÒÏ×ÅÎØ ÂÏÌÔÌÉ×ÏÓÔÉ (-V - ÓÏÏÂÝÅÎÉÑ, -VV - ÏÔÌÁÄËÁ, -VVV - ×ÓÅ)"
|
||||
|
||||
#: cmdlnopts.c:71
|
||||
#: cmdlnopts.c:72
|
||||
msgid "vertical binning to N pixels"
|
||||
msgstr "×ÅÒÔÉËÁÌØÎÙÊ ÂÉÎÎÉÎÇ × N ÐÉËÓÅÌÅÊ"
|
||||
|
||||
#: cmdlnopts.c:67
|
||||
#: cmdlnopts.c:68
|
||||
msgid "wait while exposition ends"
|
||||
msgstr "ÖÄÁÔØ, ÐÏËÁ ÎÅ ËÏÎÞÉÔÓÑ ÜËÓÐÏÚÉÃÉÑ"
|
||||
|
||||
#: cmdlnopts.c:45
|
||||
#: cmdlnopts.c:46
|
||||
msgid "wheel device plugin (e.g. devdummy.so)"
|
||||
msgstr "ÐÌÁÇÉÎ ÕÓÔÒÏÊÓÔ×Á ÔÕÒÅÌÉ (ÎÁÐÒÉÍÅÒ, devdummy.so)"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user