mirror of
https://github.com/eddyem/CCD_Capture.git
synced 2025-12-06 10:45:13 +03:00
add star bkg
This commit is contained in:
parent
248342ae86
commit
2f33d6773c
@ -53,11 +53,13 @@ static float camtemp = -30., exptime = 0.1;
|
||||
static cc_capture_status capstat = CAPTURE_NO;
|
||||
static double texpstart = 0.;
|
||||
static uint8_t bitpix = 16; // bit depth: 8 or 16
|
||||
static il_Image *imagemask = NULL; // mask
|
||||
static il_Image *imagemask = NULL, *imagebg; // mask & background
|
||||
static char *maskfilename = NULL, *bgfilename = NULL; // filenames
|
||||
|
||||
typedef struct{
|
||||
int Nstars; // amount of stars
|
||||
int x0, y0; // center of field in array coordinates
|
||||
double rotan0; // starting rotation angle
|
||||
int xs[MAX_STARS], ys[MAX_STARS]; // center of star field in array coordinates
|
||||
double fwhm; // stars min FWHM, arcsec
|
||||
double beta; // Moffat `beta` parameter
|
||||
@ -66,6 +68,7 @@ typedef struct{
|
||||
double mag[MAX_STARS]; // star magnitude: 0m is 0xffff/0xff ADUs per second
|
||||
double vX; // X axe drift speed (arcsec/s)
|
||||
double vY; // Y -//-
|
||||
double vR; // rotation speed (arcsec/s)
|
||||
double fluct; // stars position fluctuations (arcsec/sec)
|
||||
double noiselambda; // poisson noice lambda value
|
||||
} settings_t;
|
||||
@ -73,14 +76,16 @@ typedef struct{
|
||||
static settings_t settings = {
|
||||
.Nstars = 1,
|
||||
.x0 = 512, .y0 = 512,
|
||||
.xs = {0}, .ys = {0},
|
||||
.fwhm = 1.5, .beta = 1., .scale = 0.03, .mag = {0.},
|
||||
.fluct = 1., .noiselambda = 3.,
|
||||
.fwhm = 1.5, .beta = 1., .scale = 0.03,
|
||||
.fluct = 0.3, .noiselambda = 1.,
|
||||
};
|
||||
// min/max for parameters
|
||||
static const double fwhmmin = 0.1, fwhmmax = 10., scalemin = 0.001, scalemax = 3600., magmin = -30., magmax = 30.;
|
||||
static const double vmin = -20., vmax = 20., fluctmin = 0., fluctmax = 3., betamin = 0.5;
|
||||
static const double vrotmin = -36000., vrotmax = 36000.; // limit rotator speed to 10 degrees per second
|
||||
static const double rotanmin = 0., rotanmax = 1295999; // 0..360degr-1''
|
||||
static double dX = 0., dY = 0.; // current "sky" coordinates (arcsec) relative to field center (according vdrift)
|
||||
static double rotangle = 0., sinr = 0., cosr = 1.; // current rotation angle (arcsec) around x0/y0 and its sin/cos
|
||||
static int Xc = 0, Yc = 0; // current pixel coordinates of "sky" center (due to current image size, clip and scale) + fluctuations
|
||||
static double Tstart = -1.; // global acquisition start
|
||||
static double Xfluct = 0., Yfluct = 0.; // fluctuation additions in arcsec
|
||||
@ -98,13 +103,14 @@ static void test_template(){
|
||||
FWHM0 = settings.fwhm;
|
||||
scale0 = settings.scale;
|
||||
il_Image_free(&star);
|
||||
DBG("MAKE STAR, wh=%d, beta=%g", templ_wh, settings.beta);
|
||||
star = il_Image_star(IMTYPE_D, templ_wh, templ_wh, settings.fwhm, settings.beta);
|
||||
//il_Image_minmax(star);
|
||||
//DBG("STAR: %dx%d, max=%g, min=%g, %d bytes per pix, type %d; templ_wh=%d", star->height, star->width, star->maxval, star->minval, star->pixbytes, star->type, templ_wh);
|
||||
il_Image_minmax(star);
|
||||
DBG("STAR: %dx%d, max=%g, min=%g, %d bytes per pix, type %d; templ_wh=%d", star->height, star->width, star->maxval, star->minval, star->pixbytes, star->type, templ_wh);
|
||||
double sum = 0., *ptr = (double*)star->data;
|
||||
int l = templ_wh * templ_wh;
|
||||
for(int i = 0; i < l; ++i) sum += ptr[i];
|
||||
//green("sum=%g\n", sum);
|
||||
green("sum=%g\n", sum);
|
||||
OMP_FOR()
|
||||
for(int i = 0; i < l; ++i) ptr[i] /= sum;
|
||||
}
|
||||
@ -127,7 +133,8 @@ static void test_template(){
|
||||
register int w = ima->w;\
|
||||
int h = ima->h, tw2 = templ_wh/2, X0,Y0, X1,Y1, x0,y0;\
|
||||
for(int N = 0; N < settings.Nstars; ++N){\
|
||||
int Xstar = Xc + settings.xs[N] - camera.geometry.xoff, Ystar = Yc + settings.ys[N] - camera.geometry.yoff;\
|
||||
int Xstar = Xc + (settings.xs[N]*cosr - settings.ys[N]*sinr)/settings.scale; \
|
||||
int Ystar = Yc + (settings.ys[N]*cosr + settings.xs[N]*sinr)/settings.scale;\
|
||||
if(Xstar - tw2 < 0){\
|
||||
X0 = tw2 - Xstar + 1;\
|
||||
x0 = 0;\
|
||||
@ -164,6 +171,20 @@ static void test_template(){
|
||||
}\
|
||||
}\
|
||||
}\
|
||||
if(imagebg){ /* add background */ \
|
||||
X0 = camera.geometry.xoff; Y0 = camera.geometry.yoff; \
|
||||
X1 = imagebg->width; Y1 = imagebg->height; \
|
||||
if(X1-X0 > w) X1 = X0 + w;\
|
||||
if(Y1-Y0 > h) Y1 = Y0 + h; \
|
||||
OMP_FOR()\
|
||||
for(int y = Y0; y < Y1; ++y){\
|
||||
type *out = &((type*)ima->data)[(y-Y0)*w];\
|
||||
uint8_t *in = &((uint8_t*)imagebg->data)[y*imagemask->width + X0];\
|
||||
for(int x = X0; x < X1; ++x, ++in, ++out){\
|
||||
*out = (*out + *in > maxval) ? maxval : *out + *in;\
|
||||
}\
|
||||
} \
|
||||
}\
|
||||
if(imagemask){ /* apply mask */ \
|
||||
X0 = camera.geometry.xoff; Y0 = camera.geometry.yoff; \
|
||||
X1 = imagemask->width; Y1 = imagemask->height; \
|
||||
@ -174,12 +195,20 @@ static void test_template(){
|
||||
type *out = &((type*)ima->data)[(y-Y0)*w];\
|
||||
uint8_t *in = &((uint8_t*)imagemask->data)[y*imagemask->width + X0];\
|
||||
for(int x = X0; x < X1; ++x, ++in, ++out){\
|
||||
type p = il_Poisson(settings.noiselambda); \
|
||||
/*type p = fabs(il_Normal(0., 3.)); */\
|
||||
if(*in == 0) *out = p; else *out = (*out+p > maxval) ? maxval : *out + p; \
|
||||
if(*in == 0) *out = 0;\
|
||||
}\
|
||||
} \
|
||||
}
|
||||
}\
|
||||
if(settings.noiselambda > 1.){ /* apply noise */ \
|
||||
w *= h; \
|
||||
type *out = (type*)ima->data;\
|
||||
OMP_FOR()\
|
||||
for(int i = 0; i < w; ++i){\
|
||||
type p = il_Poisson(settings.noiselambda); \
|
||||
out[i] = (out[i] + p > maxval) ? maxval : out[i] + p; \
|
||||
}\
|
||||
}\
|
||||
|
||||
|
||||
static void gen16(cc_IMG *ima){
|
||||
GEN(ima, uint16_t, 0xffff);
|
||||
@ -214,11 +243,17 @@ static int startexp(){
|
||||
else if(dT > 1.) dT = 1.; // dT for fluctuations amplitude
|
||||
if(Tstart < 0.) Tstart = Tnow;
|
||||
texpstart = Tnow;
|
||||
double Tfromstart = Tnow - Tstart;
|
||||
// recalculate center of field coordinates at moment of exp start
|
||||
dX += (dtime() - Tstart) * settings.vX;
|
||||
dY += (dtime() - Tstart) * settings.vY;
|
||||
Xc = dX/settings.scale + settings.x0 - camera.array.xoff;
|
||||
Yc = dY/settings.scale + settings.y0 - camera.array.yoff;
|
||||
dX = Tfromstart * settings.vX;
|
||||
dY = Tfromstart * settings.vY;
|
||||
rotangle = settings.rotan0 + Tfromstart * settings.vR;
|
||||
if(rotangle < rotanmin) rotangle += 360.*3600.;
|
||||
else if(rotangle > rotanmax) rotangle -= 360.*3600.;
|
||||
sincos(rotangle * M_PI/3600./180., &sinr, &cosr);
|
||||
double xx = dX/settings.scale, yy = dY/settings.scale;
|
||||
Xc = xx*cosr - yy*sinr + settings.x0 - camera.array.xoff - camera.geometry.xoff;
|
||||
Yc = yy*cosr + xx*sinr + settings.y0 - camera.array.yoff - camera.geometry.yoff;
|
||||
DBG("dX=%g, dY=%g; Xc=%d, Yc=%d", dX, dY, Xc, Yc);
|
||||
// add fluctuations
|
||||
double fx = settings.fluct * dT * (2.*drand48() - 1.); // [-fluct*dT, +fluct*dT]
|
||||
@ -472,6 +507,10 @@ static cc_hresult loadmask(const char *str, cc_charbuff *ans){
|
||||
snprintf(buf, FILENAME_MAX, "Can't read image '%s'", nm);
|
||||
res = RESULT_FAIL;
|
||||
}else{
|
||||
if(imagemask->pixbytes != 1){
|
||||
snprintf(buf, FILENAME_MAX, "Image '%s' isn't a 8-bit image", nm);
|
||||
res = RESULT_FAIL;
|
||||
}else
|
||||
snprintf(buf, FILENAME_MAX, "Got image '%s'; w=%d, h=%d, type=%d (impix=%d)", nm, imagemask->width, imagemask->height, imagemask->type, imagemask->pixbytes);
|
||||
}
|
||||
cc_charbufaddline(ans, buf);
|
||||
@ -479,21 +518,44 @@ static cc_hresult loadmask(const char *str, cc_charbuff *ans){
|
||||
return res;
|
||||
}
|
||||
|
||||
static cc_hresult loadbg(const char *str, cc_charbuff *ans){
|
||||
char buf[FILENAME_MAX+32], *bptr = buf;
|
||||
strncpy(buf, str, FILENAME_MAX+31);
|
||||
char *val = cc_get_keyval(&bptr);
|
||||
if(strcmp(bptr, "bkg") != 0) return RESULT_BADKEY;
|
||||
if(imagebg) il_Image_free(&imagebg);
|
||||
imagebg = il_Image_read(val);
|
||||
char *nm = strdup (val);
|
||||
cc_hresult res = RESULT_OK;
|
||||
if(!imagebg){
|
||||
snprintf(buf, FILENAME_MAX, "Can't read image '%s'", nm);
|
||||
res = RESULT_FAIL;
|
||||
}else{
|
||||
snprintf(buf, FILENAME_MAX, "Got image '%s'; w=%d, h=%d, type=%d (impix=%d)", nm, imagebg->width, imagebg->height, imagebg->type, imagebg->pixbytes);
|
||||
}
|
||||
cc_charbufaddline(ans, buf);
|
||||
FREE(nm);
|
||||
return res;
|
||||
}
|
||||
|
||||
// cmd, help, handler, ptr, min, max, type
|
||||
static cc_parhandler_t handlers[] = {
|
||||
{"xc", "x center of field in array coordinates", NULL, (void*)&settings.x0, NULL, NULL, CC_PAR_INT},
|
||||
{"yc", "y center of field in array coordinates", NULL, (void*)&settings.y0, NULL, NULL, CC_PAR_INT},
|
||||
{"x", "X coordinate of next star", setXYs, NULL, NULL, NULL, 0},
|
||||
{"y", "Y coordinate of next star", setXYs, NULL, NULL, NULL, 0},
|
||||
{"x", "X coordinate of next star (arcsec, in field coordinate system)", setXYs, NULL, NULL, NULL, CC_PAR_INT},
|
||||
{"y", "Y coordinate of next star (arcsec, in field coordinate system)", setXYs, NULL, NULL, NULL, CC_PAR_INT},
|
||||
{"fwhm", "stars min FWHM, arcsec", NULL, (void*)&settings.fwhm, (void*)&fwhmmin, (void*)&fwhmmax, CC_PAR_DOUBLE},
|
||||
{"scale", "CCD scale: arcsec/pix", NULL, (void*)&settings.scale, (void*)&scalemin, (void*)&scalemax, CC_PAR_DOUBLE},
|
||||
{"mag", "Next star magnitude: 0m is 0xffff/0xff (16/8 bit) ADUs per second", setmag, NULL, NULL, NULL, 0},
|
||||
{"mask", "load mask image (binary, ANDed)", loadmask, NULL, NULL, NULL, 0},
|
||||
{"mag", "Next star magnitude: 0m is 0xffff/0xff (16/8 bit) ADUs per second", setmag, NULL, (void*)&magmin, (void*)&magmax, CC_PAR_DOUBLE},
|
||||
{"mask", "load mask image (binary, ANDed)", loadmask, (void*)&maskfilename, NULL, NULL, CC_PAR_STRING},
|
||||
{"bkg", "load background image", loadbg, (void*)&bgfilename, NULL, NULL, CC_PAR_STRING},
|
||||
{"vx", "X axe drift speed (arcsec/s)", NULL, (void*)&settings.vX, (void*)&vmin, (void*)&vmax, CC_PAR_DOUBLE},
|
||||
{"vy", "Y axe drift speed (arcsec/s)", NULL, (void*)&settings.vY, (void*)&vmin, (void*)&vmax, CC_PAR_DOUBLE},
|
||||
{"vr", "rotation speed (arcsec/s)", NULL, (void*)&settings.vR, (void*)&vrotmin, (void*)&vrotmax, CC_PAR_DOUBLE},
|
||||
{"fluct", "stars position fluctuations (arcsec per sec)", NULL, (void*)&settings.fluct, (void*)&fluctmin, (void*)&fluctmax, CC_PAR_DOUBLE},
|
||||
{"beta", "Moffat `beta` parameter", NULL, (void*)&settings.beta, (void*)&betamin, NULL, CC_PAR_DOUBLE},
|
||||
{"lambda", "Poisson noice lambda value (>1)", NULL, (void*)&settings.noiselambda, (void*)&noicelambdamin, NULL, CC_PAR_DOUBLE},
|
||||
{"rotangle", "Starting rotation angle (arcsec)", NULL, (void*)&settings.rotan0, (void*)&rotanmin, (void*)&rotanmax, CC_PAR_DOUBLE},
|
||||
//{"", "", NULL, (void*)&settings., (void*)&, (void*)&, CC_PAR_DOUBLE},
|
||||
CC_PARHANDLER_END
|
||||
};
|
||||
|
||||
61
Readme.md
61
Readme.md
@ -11,12 +11,15 @@ To restart server (e.g. if hardware was off) kill it with SIGUSR1
|
||||
cmake options:
|
||||
|
||||
- `-DAPOGEE=ON` - compile Apogee plugin
|
||||
- `-DDEBUG=ON` - make with a lot debugging info
|
||||
- `-DIMAGEVIEW=ON` - compile with image viewer support (only for standalone) (OpenGL!!!)
|
||||
- `-DASTAR=ON` - compile "artifical star" plugin
|
||||
- `-DBASLER=ON` - compile Basler support plugin
|
||||
- `-DDEBUG=ON` - make with a lot debugging info
|
||||
- `-DDUMMY=OFF` - compile without dummy camera plugin
|
||||
- `-DEXAMPLES=ON` - compile also some exaples of libccdcapture use
|
||||
- `-DFLI=ON` - compile FLI support plugin
|
||||
- `-DFLYCAPT=ON` - compile GrassHopper PointGrey plugin
|
||||
- `-DFLYCAP=ON` - compile GrassHopper PointGrey plugin
|
||||
- `-DHIKROBOT=ON` - compile HikRobot support plugin
|
||||
- `-DIMAGEVIEW=OFF` - compile without image viewer support (OpenGL!!!)
|
||||
- `-DZWO=ON` - compile ZWO support plugin
|
||||
|
||||
|
||||
@ -36,6 +39,7 @@ Usage: ccd_capture [args] [output file prefix]
|
||||
-V, --verbose verbose level (-V - messages, -VV - debug, -VVV - all shit)
|
||||
-W, --wheeldev=arg wheel device plugin (e.g. devdummy.so)
|
||||
-Y, --objtype=arg object type (neon, object, flat etc)
|
||||
-_, --plugincmd custom camera device plugin command
|
||||
-a, --addsteps=arg move focuser to relative position, mm (only for standalone)
|
||||
-c, --conf-ioport=arg configure I/O port pins to given value (decimal number, pin1 is LSB, 1 == output, 0 == input)
|
||||
-d, --dark not open shutter, when exposing ("dark frames")
|
||||
@ -43,6 +47,7 @@ Usage: ccd_capture [args] [output file prefix]
|
||||
-g, --goto=arg move focuser to absolute position, mm
|
||||
-h, --hbin=arg horizontal binning to N pixels
|
||||
-i, --get-ioport get value of I/O port pins
|
||||
-k, --shmkey=arg shared memory (with image data) key (default: 7777777)
|
||||
-l, --nflushes=arg N flushes before exposing (default: 1)
|
||||
-n, --nframes=arg make series of N frames
|
||||
-o, --outfile=arg output file name
|
||||
@ -64,15 +69,16 @@ Usage: ccd_capture [args] [output file prefix]
|
||||
--client run as client
|
||||
--close-shutter close shutter
|
||||
--focdevno=arg focuser device number (if many: 0, 1, 2 etc)
|
||||
--forceimsock force using image through socket transition even if can use SHM
|
||||
--gain=arg CMOS gain level
|
||||
--help show this help
|
||||
--imageport=arg local INET socket port to send/receive images
|
||||
--imageport=arg INET image socket port
|
||||
--infty=arg start (!=0) or stop(==0) infinity capturing loop
|
||||
--logfile=arg logging file name (if run as server)
|
||||
--open-shutter open shutter
|
||||
--path=arg UNIX socket name
|
||||
--pidfile=arg PID file (default: /tmp/CCD_Capture.pid)
|
||||
--path=arg UNIX socket name (command socket)
|
||||
--plugin=arg common device plugin (e.g devfli.so)
|
||||
--port=arg local INET socket port
|
||||
--port=arg local INET command socket port
|
||||
--restart restart image server
|
||||
--rewrite rewrite output file if exists
|
||||
--set-fan=arg set fan speed (0 - off, 1 - low, 2 - high)
|
||||
@ -106,3 +112,44 @@ Mouse functions:
|
||||
- Wheel up - scroll up, or scroll left (with Shift), or zoom+ (with Ctrl).
|
||||
- Wheel down - scroll down, or scroll right (with Shift), or zoom- (with Ctrl).
|
||||
|
||||
## Plugins custom commands
|
||||
Since version 1.2.0 introduced custom camera plugin commands system. Commonly to read help just
|
||||
type `-_help`. You can point as much custom commands in one commandline as you need. They can be a
|
||||
procedures/flags (like `-_cmd`) or a setters/getters (like `-_key` and `-_key=value`).
|
||||
|
||||
### Dummy camera plugin custom commands
|
||||
This plugin simply emulates image aqcuisition process where images are 2-D sinusoide with given periods.
|
||||
Each next frame will be shifted by one pixel.
|
||||
|
||||
Commands:
|
||||
|
||||
- px = (double) [1, inf] - set/get sin period over X axis (pix)
|
||||
- py = (double) [1, inf] - set/get sin period over Y axis (pix)
|
||||
|
||||
|
||||
### Artifical star plugin custom commands
|
||||
This plugin lets you to emulate star field with up to 32 stars. You can shift center of field emulating
|
||||
telescope correction, also you can rotate field emulating derotation.
|
||||
All stars (Moffat) have the same FWHM and scale parameters. Their coordinates are given by arrays `x`
|
||||
and `y` with a hardware magnitude `mag`. You can emulate image drift and rotation. Also you can add
|
||||
a little image position (full frame position) fluctuations. To emulate poisson noice just point its `lambda`
|
||||
value (`lambda==1` means no noise).
|
||||
|
||||
Commands:
|
||||
|
||||
- xc = (int) - x center of field in array coordinates
|
||||
- yc = (int) - y center of field in array coordinates
|
||||
- x - X coordinate of next star
|
||||
- y - Y coordinate of next star
|
||||
- fwhm = (double) [0.1, 10] - stars min FWHM, arcsec
|
||||
- scale = (double) [0.001, 3600] - CCD scale: arcsec/pix
|
||||
- mag - Next star magnitude: 0m is 0xffff/0xff (16/8 bit) ADUs per second
|
||||
- mask - load mask image (binary, ANDed)
|
||||
- vx = (double) [-20, 20] - X axe drift speed (arcsec/s)
|
||||
- vy = (double) [-20, 20] - Y axe drift speed (arcsec/s)
|
||||
- vr = (double) [-36000, 36000] - rotation speed (arcsec/s)
|
||||
- fluct = (double) [0, 3] - stars position fluctuations (arcsec per sec)
|
||||
- beta = (double) [0.5, inf] - Moffat `beta` parameter
|
||||
- lambda = (double) [1, inf] - Poisson noice lambda value (>1)
|
||||
- rotangle = (double) [0, 1.296e+06] - Starting rotation angle (arcsec)
|
||||
|
||||
|
||||
14
ccdcapture.c
14
ccdcapture.c
@ -745,8 +745,11 @@ static size_t print_val(cc_partype_t t, void *val, char *buf, size_t bufl){
|
||||
case CC_PAR_DOUBLE:
|
||||
l = snprintf(buf, bufl, "%g", *(double*)val);
|
||||
break;
|
||||
case CC_PAR_STRING:
|
||||
l = snprintf(buf, bufl, "%s", *(char**)val);
|
||||
break;
|
||||
default:
|
||||
l = snprintf(buf, bufl, "hoojnya");
|
||||
l = snprintf(buf, bufl, "(undefined)");
|
||||
break;
|
||||
}
|
||||
return l;
|
||||
@ -795,6 +798,10 @@ cc_hresult cc_plugin_customcmd(const char *str, cc_parhandler_t *handlers, cc_ch
|
||||
dval = atof(val);
|
||||
UPDATE_VAL(double, dval, "%g");
|
||||
break;
|
||||
case CC_PAR_STRING:
|
||||
if(*(char**)phptr->ptr) free(*(char**)phptr->ptr);
|
||||
*(char**)phptr->ptr = strdup(val);
|
||||
break;
|
||||
default:
|
||||
result = RESULT_FAIL;
|
||||
}
|
||||
@ -817,7 +824,7 @@ cc_hresult cc_plugin_customcmd(const char *str, cc_parhandler_t *handlers, cc_ch
|
||||
while(phptr->cmd){
|
||||
char *bptr = buf; size_t L = 511;
|
||||
ADDL("\t%s", phptr->cmd);
|
||||
if(phptr->ptr){
|
||||
if(phptr->type != CC_PAR_NONE){
|
||||
ADDL(" = (");
|
||||
switch(phptr->type){
|
||||
case CC_PAR_INT:
|
||||
@ -829,6 +836,9 @@ cc_hresult cc_plugin_customcmd(const char *str, cc_parhandler_t *handlers, cc_ch
|
||||
case CC_PAR_DOUBLE:
|
||||
ADDL("double");
|
||||
break;
|
||||
case CC_PAR_STRING:
|
||||
ADDL("string");
|
||||
break;
|
||||
default:
|
||||
ADDL("undefined");
|
||||
}
|
||||
|
||||
@ -275,9 +275,11 @@ typedef enum{
|
||||
#define CC_CMD_WPOS "wpos"
|
||||
|
||||
typedef enum{ // parameter type
|
||||
CC_PAR_NONE, // no parameter
|
||||
CC_PAR_INT,
|
||||
CC_PAR_FLOAT,
|
||||
CC_PAR_DOUBLE,
|
||||
CC_PAR_STRING,
|
||||
} cc_partype_t;
|
||||
|
||||
typedef struct{ // custom plugin parameters
|
||||
|
||||
@ -606,22 +606,27 @@ int prepare_ccds(){
|
||||
// run plugincmd handler if available
|
||||
if(GP->plugincmd){
|
||||
DBG("Plugincmd");
|
||||
if(!camera->plugincmd) WARNX(_("Camera plugin have no custom commands"));
|
||||
if(!camera->plugincmd) ERRX(_("Camera plugin have no custom commands"));
|
||||
else{
|
||||
char **p = GP->plugincmd;
|
||||
cc_charbuff *b = cc_charbufnew();
|
||||
DBG("got %s", *p);
|
||||
int stop = FALSE;
|
||||
while(p && *p){
|
||||
cc_charbufclr(b);
|
||||
cc_hresult r = camera->plugincmd(*p, b);
|
||||
if(r == RESULT_OK || r == RESULT_SILENCE) green("Command '%s'", *p);
|
||||
else red("Command '%s'", *p);
|
||||
else{
|
||||
stop = TRUE;
|
||||
red("Command '%s'", *p);
|
||||
}
|
||||
if(r != RESULT_SILENCE) printf(" returns \"%s\"", cc_hresult2str(r));
|
||||
if(b->buflen) printf("\n%s", b->buf);
|
||||
else printf("\n");
|
||||
++p;
|
||||
}
|
||||
cc_charbufdel(&b);
|
||||
if(stop) signals(9);
|
||||
}
|
||||
}
|
||||
if(GP->fanspeed > -1){
|
||||
|
||||
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-02-19 11:54+0300\n"
|
||||
"POT-Creation-Date: 2024-02-21 11:24+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"
|
||||
@ -392,188 +392,188 @@ msgstr ""
|
||||
msgid "Camera plugin have no custom commands"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:629
|
||||
#: ccdfunc.c:634
|
||||
msgid "Camera plugin have no fun speed setter"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:632
|
||||
#: ccdfunc.c:637
|
||||
msgid "Can't set fan speed"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:633
|
||||
#: ccdfunc.c:638
|
||||
#, c-format
|
||||
msgid "Set fan speed to %d"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:639
|
||||
#: ccdfunc.c:644
|
||||
#, c-format
|
||||
msgid "Camera model: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:640
|
||||
#: ccdfunc.c:645
|
||||
#, c-format
|
||||
msgid "Pixel size: %g x %g"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:646
|
||||
#: ccdfunc.c:651
|
||||
#, c-format
|
||||
msgid "Full array: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:649
|
||||
#: ccdfunc.c:654
|
||||
#, c-format
|
||||
msgid "Field of view: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:652
|
||||
#: ccdfunc.c:657
|
||||
#, c-format
|
||||
msgid "Current format: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:654
|
||||
#: ccdfunc.c:659
|
||||
msgid "Camera plugin have no temperature setter"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:655
|
||||
#: ccdfunc.c:660
|
||||
#, c-format
|
||||
msgid "Can't set T to %g degC"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:664
|
||||
#: ccdfunc.c:669
|
||||
#, c-format
|
||||
msgid "Shutter command: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:666
|
||||
#: ccdfunc.c:671
|
||||
#, c-format
|
||||
msgid "Can't run shutter command %s (unsupported?)"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:669
|
||||
#: ccdfunc.c:674
|
||||
#, c-format
|
||||
msgid "Try to configure I/O port as %d"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:671
|
||||
#: ccdfunc.c:676
|
||||
msgid "Can't configure (unsupported?)"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:678
|
||||
#: ccdfunc.c:683
|
||||
msgid "Can't get IOport state (unsupported?)"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:681
|
||||
#: ccdfunc.c:686
|
||||
#, c-format
|
||||
msgid "Try to write %d to I/O port"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:683
|
||||
#: ccdfunc.c:688
|
||||
msgid "Can't set IOport"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:690
|
||||
#: ccdfunc.c:695
|
||||
#, c-format
|
||||
msgid "Set gain to %g"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:691
|
||||
#: ccdfunc.c:696
|
||||
#, c-format
|
||||
msgid "Can't set gain to %g"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:696
|
||||
#: ccdfunc.c:701
|
||||
#, c-format
|
||||
msgid "Set brightness to %g"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:697
|
||||
#: ccdfunc.c:702
|
||||
#, c-format
|
||||
msgid "Can't set brightness to %g"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:703 server.c:278
|
||||
#: ccdfunc.c:708 server.c:278
|
||||
#, c-format
|
||||
msgid "Can't set binning %dx%d"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:715 server.c:279
|
||||
#: ccdfunc.c:720 server.c:279
|
||||
msgid "Can't set given geometry"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:719
|
||||
#, c-format
|
||||
msgid "Can't set %d flushes"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:722
|
||||
msgid "Camera plugin have no exposition setter"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:724
|
||||
#, c-format
|
||||
msgid "Can't set exposure time to %f seconds"
|
||||
msgid "Can't set %d flushes"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:727
|
||||
msgid "Can't change frame type"
|
||||
msgid "Camera plugin have no exposition setter"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:730
|
||||
msgid "Can't set bit depth"
|
||||
#: ccdfunc.c:729
|
||||
#, c-format
|
||||
msgid "Can't set exposure time to %f seconds"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:732
|
||||
msgid "Can't change frame type"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:735
|
||||
msgid "Can't set bit depth"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:737
|
||||
msgid "Can't set readout speed"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:733
|
||||
#: ccdfunc.c:738
|
||||
#, c-format
|
||||
msgid "Readout mode: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:734
|
||||
#: ccdfunc.c:739
|
||||
msgid "Only show statistics"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:737
|
||||
#: ccdfunc.c:742
|
||||
msgid "Can't get current binning"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:761
|
||||
#: ccdfunc.c:766
|
||||
#, c-format
|
||||
msgid "Capture frame %d"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:762 ccdfunc.c:837 server.c:149 server.c:150
|
||||
#: ccdfunc.c:767 ccdfunc.c:842 server.c:149 server.c:150
|
||||
msgid "Camera plugin have no function `start exposition`"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:764 ccdfunc.c:839 server.c:155 server.c:156
|
||||
#: ccdfunc.c:769 ccdfunc.c:844 server.c:155 server.c:156
|
||||
msgid "Can't start exposition"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:769
|
||||
#: ccdfunc.c:774
|
||||
msgid "Can't capture image"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:772
|
||||
#: ccdfunc.c:777
|
||||
msgid "Read grabbed image"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:774 ccdfunc.c:852 server.c:173 server.c:174
|
||||
#: ccdfunc.c:779 ccdfunc.c:857 server.c:173 server.c:174
|
||||
msgid "Camera plugin have no function `capture`"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:776 ccdfunc.c:853
|
||||
#: ccdfunc.c:781 ccdfunc.c:858
|
||||
msgid "Can't grab image"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:788 client.c:270
|
||||
#: ccdfunc.c:793 client.c:270
|
||||
#, c-format
|
||||
msgid "%d seconds till pause ends\n"
|
||||
msgstr ""
|
||||
|
||||
#: ccdfunc.c:850
|
||||
#: ccdfunc.c:855
|
||||
msgid "Some error when capture"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
msgid ""
|
||||
msgstr "Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-02-15 16:32+0300\n"
|
||||
"POT-Creation-Date: 2024-02-20 16:30+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"
|
||||
@ -21,7 +21,7 @@ msgstr "Project-Id-Version: PACKAGE VERSION\n"
|
||||
msgid "%.1f seconds till exposition ends"
|
||||
msgstr "%.1f ÓÅËÕÎÄ ÄÏ ÏËÏÎÞÁÎÉÑ ÜËÓÐÏÚÉÃÉÉ"
|
||||
|
||||
#: ccdfunc.c:788 client.c:270
|
||||
#: ccdfunc.c:793 client.c:270
|
||||
#, c-format
|
||||
msgid "%d seconds till pause ends\n"
|
||||
msgstr "%d ÓÅËÕÎÄ ÄÏ ÏËÏÎÞÁÎÉÑ ÐÁÕÚÙ\n"
|
||||
@ -46,7 +46,7 @@ msgstr "
|
||||
msgid "Camera device unknown"
|
||||
msgstr "õÓÔÒÏÊÓÔ×Ï Ó×ÅÏÐÒÉÅÍÎÉËÁ ÎÅ ÏÐÏÚÎÁÎÏ"
|
||||
|
||||
#: ccdfunc.c:639
|
||||
#: ccdfunc.c:644
|
||||
#, c-format
|
||||
msgid "Camera model: %s"
|
||||
msgstr "íÏÄÅÌØ Ó×ÅÔÏÐÒÉÅÍÎÉËÁ: %s"
|
||||
@ -60,22 +60,22 @@ msgstr "
|
||||
msgid "Camera plugin have no custom commands"
|
||||
msgstr "õ ÐÌÁÇÉÎÁ ËÁÍÅÒÙ ÎÅÔ ÏÓÏÂÙÈ ËÏÍÁÎÄ"
|
||||
|
||||
#: ccdfunc.c:722
|
||||
#: ccdfunc.c:727
|
||||
#, fuzzy
|
||||
msgid "Camera plugin have no exposition setter"
|
||||
msgstr "õ ÐÌÁÇÉÎÁ ËÁÍÅÒÙ ÎÅÔ ÏÓÏÂÙÈ ËÏÍÁÎÄ"
|
||||
|
||||
#: ccdfunc.c:629
|
||||
#: ccdfunc.c:634
|
||||
#, fuzzy
|
||||
msgid "Camera plugin have no fun speed setter"
|
||||
msgstr "õ ÐÌÁÇÉÎÁ ËÁÍÅÒÙ ÎÅÔ ÏÓÏÂÙÈ ËÏÍÁÎÄ"
|
||||
|
||||
#: ccdfunc.c:774 ccdfunc.c:852 server.c:173 server.c:174
|
||||
#: ccdfunc.c:779 ccdfunc.c:857 server.c:173 server.c:174
|
||||
#, fuzzy
|
||||
msgid "Camera plugin have no function `capture`"
|
||||
msgstr "õ ÐÌÁÇÉÎÁ ËÁÍÅÒÙ ÎÅÔ ÏÓÏÂÙÈ ËÏÍÁÎÄ"
|
||||
|
||||
#: ccdfunc.c:762 ccdfunc.c:837 server.c:149 server.c:150
|
||||
#: ccdfunc.c:767 ccdfunc.c:842 server.c:149 server.c:150
|
||||
#, fuzzy
|
||||
msgid "Camera plugin have no function `start exposition`"
|
||||
msgstr "õ ÐÌÁÇÉÎÁ ËÁÍÅÒÙ ÎÅÔ ÏÓÏÂÙÈ ËÏÍÁÎÄ"
|
||||
@ -85,28 +85,28 @@ msgstr "
|
||||
msgid "Camera plugin have no model name getter"
|
||||
msgstr "õ ÐÌÁÇÉÎÁ ËÁÍÅÒÙ ÎÅÔ ÏÓÏÂÙÈ ËÏÍÁÎÄ"
|
||||
|
||||
#: ccdfunc.c:654
|
||||
#: ccdfunc.c:659
|
||||
#, fuzzy
|
||||
msgid "Camera plugin have no temperature setter"
|
||||
msgstr "õ ÐÌÁÇÉÎÁ ËÁÍÅÒÙ ÎÅÔ ÏÓÏÂÙÈ ËÏÍÁÎÄ"
|
||||
|
||||
#: ccdfunc.c:769
|
||||
#: ccdfunc.c:774
|
||||
msgid "Can't capture image"
|
||||
msgstr "îÅ ÍÏÇÕ ÚÁÈ×ÁÔÉÔØ ÉÚÏÂÒÁÖÅÎÉÅ"
|
||||
|
||||
#: ccdfunc.c:727
|
||||
#: ccdfunc.c:732
|
||||
msgid "Can't change frame type"
|
||||
msgstr "îÅ ÍÏÇÕ ÉÚÍÅÎÉÔØ ÔÉÐ ËÁÄÒÁ"
|
||||
|
||||
#: ccdfunc.c:671
|
||||
#: ccdfunc.c:676
|
||||
msgid "Can't configure (unsupported?)"
|
||||
msgstr "îÅ ÍÏÇÕ ÓËÏÎÆÉÇÕÒÉÒÏ×ÁÔØ (ÏÐÃÉÑ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ?)"
|
||||
|
||||
#: ccdfunc.c:678
|
||||
#: ccdfunc.c:683
|
||||
msgid "Can't get IOport state (unsupported?)"
|
||||
msgstr "îÅ ÍÏÇÕ ÐÏÌÕÞÉÔØ ÓÏÓÔÏÑÎÉÅ ÐÏÒÔÁ I/O (ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ?)"
|
||||
|
||||
#: ccdfunc.c:737
|
||||
#: ccdfunc.c:742
|
||||
msgid "Can't get current binning"
|
||||
msgstr "îÅ ÍÏÇÕ ÐÏÌÕÞÉÔØ ÔÅËÕÝÅÅ ÚÎÁÞÅÎÉÅ ÂÉÎÎÉÎÇÁ"
|
||||
|
||||
@ -122,7 +122,7 @@ msgstr "
|
||||
msgid "Can't get max wheel position"
|
||||
msgstr "îÅ ÍÏÇÕ ÏÐÒÅÄÅÌÉÔØ ÐÒÅÄÅÌØÎÕÀ ÐÏÚÉÃÉÀ ËÏÌÅÓÁ"
|
||||
|
||||
#: ccdfunc.c:776 ccdfunc.c:853
|
||||
#: ccdfunc.c:781 ccdfunc.c:858
|
||||
msgid "Can't grab image"
|
||||
msgstr "îÅ ÍÏÇÕ ÚÁÈ×ÁÔÉÔØ ÉÚÏÂÒÁÖÅÎÉÅ"
|
||||
|
||||
@ -142,7 +142,7 @@ msgstr "
|
||||
msgid "Can't open OpenGL window, image preview will be inaccessible"
|
||||
msgstr "îÅ ÍÏÇÕ ÏÔËÒÙÔØ ÏËÎÏ OpenGL, ÏÔÏÂÒÁÖÅÎÉÅ ÂÕÄÅÔ ÎÅÄÏÓÔÕÐÎÏ"
|
||||
|
||||
#: ccdfunc.c:666
|
||||
#: ccdfunc.c:671
|
||||
#, c-format
|
||||
msgid "Can't run shutter command %s (unsupported?)"
|
||||
msgstr "îÅ ÍÏÇÕ ×ÙÐÏÌÎÉÔØ ËÏÍÁÎÄÕ ÚÁÔ×ÏÒÁ %s (ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ?)"
|
||||
@ -152,16 +152,16 @@ msgstr "
|
||||
msgid "Can't save file with prefix %s"
|
||||
msgstr "îÅ ÍÏÇÕ ÓÏÈÒÁÎÉÔØ ÆÁÊÌ Ó ÐÒÅÆÉËÓÏÍ %s"
|
||||
|
||||
#: ccdfunc.c:719
|
||||
#: ccdfunc.c:724
|
||||
#, c-format
|
||||
msgid "Can't set %d flushes"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ %d ÓÂÒÏÓÏ×"
|
||||
|
||||
#: ccdfunc.c:683
|
||||
#: ccdfunc.c:688
|
||||
msgid "Can't set IOport"
|
||||
msgstr "îÅ ÍÏÇÕ ÐÏÍÅÎÑÔØ ÚÎÁÞÅÎÉÑ ÐÏÒÔÁ I/O"
|
||||
|
||||
#: ccdfunc.c:655
|
||||
#: ccdfunc.c:660
|
||||
#, c-format
|
||||
msgid "Can't set T to %g degC"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÔÅÍÐÅÒÁÔÕÒÕ × %g ÇÒÁÄã"
|
||||
@ -178,35 +178,35 @@ msgstr "
|
||||
msgid "Can't set active wheel number"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÎÏÍÅÒ ÁËÔÉ×ÎÏÇÏ ËÏÌÅÓÁ"
|
||||
|
||||
#: ccdfunc.c:703 server.c:278
|
||||
#: ccdfunc.c:708 server.c:278
|
||||
#, c-format
|
||||
msgid "Can't set binning %dx%d"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÂÉÎÎÉÎÇ %dx%d"
|
||||
|
||||
#: ccdfunc.c:730
|
||||
#: ccdfunc.c:735
|
||||
msgid "Can't set bit depth"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÒÁÚÒÑÄÎÏÓÔØ áãð"
|
||||
|
||||
#: ccdfunc.c:697
|
||||
#: ccdfunc.c:702
|
||||
#, c-format
|
||||
msgid "Can't set brightness to %g"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÑÒËÏÓÔØ × %g"
|
||||
|
||||
#: ccdfunc.c:724
|
||||
#: ccdfunc.c:729
|
||||
#, c-format
|
||||
msgid "Can't set exposure time to %f seconds"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÜËÓÐÏÚÉÃÉÀ × %f ÓÅËÕÎÄ"
|
||||
|
||||
#: ccdfunc.c:632
|
||||
#: ccdfunc.c:637
|
||||
msgid "Can't set fan speed"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÓËÏÒÏÓÔØ ×ÅÎÔÉÌÑÔÏÒÏ×"
|
||||
|
||||
#: ccdfunc.c:691
|
||||
#: ccdfunc.c:696
|
||||
#, c-format
|
||||
msgid "Can't set gain to %g"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ Gain × %g"
|
||||
|
||||
#: ccdfunc.c:715 server.c:279
|
||||
#: ccdfunc.c:720 server.c:279
|
||||
msgid "Can't set given geometry"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÇÅÏÍÅÔÒÉÀ"
|
||||
|
||||
@ -220,7 +220,7 @@ msgstr "
|
||||
msgid "Can't set position %g: out of limits [%g, %g]"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÐÏÚÉÃÉÀ %g: ×ÎÅ ÐÒÅÄÅÌÏ× [%g, %g]"
|
||||
|
||||
#: ccdfunc.c:732
|
||||
#: ccdfunc.c:737
|
||||
msgid "Can't set readout speed"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÓËÏÒÏÓÔØ ÓÞÉÔÙ×ÁÎÉÑ"
|
||||
|
||||
@ -229,16 +229,16 @@ msgstr "
|
||||
msgid "Can't set wheel position %d"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÐÏÌÏÖÅÎÉÅ ËÏÌÅÓÁ %d"
|
||||
|
||||
#: ccdfunc.c:764 ccdfunc.c:839 server.c:155 server.c:156
|
||||
#: ccdfunc.c:769 ccdfunc.c:844 server.c:155 server.c:156
|
||||
msgid "Can't start exposition"
|
||||
msgstr "îÅ ÍÏÇÕ ÎÁÞÁÔØ ÜËÓÐÏÚÉÃÉÀ"
|
||||
|
||||
#: ccdfunc.c:761
|
||||
#: ccdfunc.c:766
|
||||
#, c-format
|
||||
msgid "Capture frame %d"
|
||||
msgstr "úÁÈ×ÁÔ ËÁÄÒÁ %d"
|
||||
|
||||
#: ccdfunc.c:652
|
||||
#: ccdfunc.c:657
|
||||
#, c-format
|
||||
msgid "Current format: %s"
|
||||
msgstr "ôÅËÕÝÉÊ ÆÏÒÍÁÔ: %s"
|
||||
@ -256,7 +256,7 @@ msgstr "
|
||||
msgid "Error saving file"
|
||||
msgstr "ïÛÉÂËÁ ÓÏÈÒÁÎÅÎÉÑ ÆÁÊÌÁ"
|
||||
|
||||
#: ccdfunc.c:649
|
||||
#: ccdfunc.c:654
|
||||
#, c-format
|
||||
msgid "Field of view: %s"
|
||||
msgstr "ðÏÌÅ ÚÒÅÎÉÑ: %s"
|
||||
@ -285,7 +285,7 @@ msgstr "
|
||||
msgid "Found %d wheels, you point number %d"
|
||||
msgstr "ïÂÎÁÒÕÖÅÎÏ %d ËÏÌÅÓ, ×Ù ÕËÁÚÁÌÉ %d"
|
||||
|
||||
#: ccdfunc.c:646
|
||||
#: ccdfunc.c:651
|
||||
#, c-format
|
||||
msgid "Full array: %s"
|
||||
msgstr "ðÏÌÎÙÊ ÆÏÒÍÁÔ: %s"
|
||||
@ -324,20 +324,20 @@ msgstr "
|
||||
msgid "No wheels found"
|
||||
msgstr "ôÕÒÅÌÅÊ ÎÅ ÏÂÎÁÒÕÖÅÎÏ"
|
||||
|
||||
#: ccdfunc.c:734
|
||||
#: ccdfunc.c:739
|
||||
msgid "Only show statistics"
|
||||
msgstr "ôÏÌØËÏ ÏÔÏÂÒÁÚÉÔØ ÓÔÁÔÉÓÔÉËÕ"
|
||||
|
||||
#: ccdfunc.c:640
|
||||
#: ccdfunc.c:645
|
||||
#, c-format
|
||||
msgid "Pixel size: %g x %g"
|
||||
msgstr "òÁÚÍÅÒ ÐÉËÓÅÌÑ: %g x %g"
|
||||
|
||||
#: ccdfunc.c:772
|
||||
#: ccdfunc.c:777
|
||||
msgid "Read grabbed image"
|
||||
msgstr "óÞÉÔÙ×ÁÎÉÅ ÉÚÏÂÒÁÖÅÎÉÑ"
|
||||
|
||||
#: ccdfunc.c:733
|
||||
#: ccdfunc.c:738
|
||||
#, c-format
|
||||
msgid "Readout mode: %s"
|
||||
msgstr "òÅÖÉÍ ÓÞÉÔÙ×ÁÎÉÑ: %s"
|
||||
@ -346,36 +346,36 @@ msgstr "
|
||||
msgid "Server timeout"
|
||||
msgstr "ôÁÊÍÁÕÔ ÓÅÒ×ÅÒÁ"
|
||||
|
||||
#: ccdfunc.c:696
|
||||
#: ccdfunc.c:701
|
||||
#, c-format
|
||||
msgid "Set brightness to %g"
|
||||
msgstr "õÓÔÁÎÏ×ÉÔØ ÑÒËÏÓÔØ × %g"
|
||||
|
||||
#: ccdfunc.c:633
|
||||
#: ccdfunc.c:638
|
||||
#, c-format
|
||||
msgid "Set fan speed to %d"
|
||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÓËÏÒÏÓÔØ ×ÅÎÔÉÌÑÔÏÒÏ× × %d"
|
||||
|
||||
#: ccdfunc.c:690
|
||||
#: ccdfunc.c:695
|
||||
#, c-format
|
||||
msgid "Set gain to %g"
|
||||
msgstr "õÓÔÁÎÏ×ÉÔØ Gain × %g"
|
||||
|
||||
#: ccdfunc.c:664
|
||||
#: ccdfunc.c:669
|
||||
#, c-format
|
||||
msgid "Shutter command: %s\n"
|
||||
msgstr "ëÏÍÁÎÄÁ ÚÁÔ×ÏÒÁ: %s\n"
|
||||
|
||||
#: ccdfunc.c:850
|
||||
#: ccdfunc.c:855
|
||||
msgid "Some error when capture"
|
||||
msgstr "ïÛÉÂËÁ ÐÒÉ ÚÁÈ×ÁÔÅ"
|
||||
|
||||
#: ccdfunc.c:669
|
||||
#: ccdfunc.c:674
|
||||
#, c-format
|
||||
msgid "Try to configure I/O port as %d"
|
||||
msgstr "ðÏÐÙÔËÁ ÓËÏÎÆÉÇÕÒÉÒÏ×ÁÔØ ÐÏÒÔ I/O ËÁË %d"
|
||||
|
||||
#: ccdfunc.c:681
|
||||
#: ccdfunc.c:686
|
||||
#, c-format
|
||||
msgid "Try to write %d to I/O port"
|
||||
msgstr "ðÏÐÙÔËÁ ÚÁÐÉÓÉ %d × ÐÏÒÔ I/O"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user