tested on ZWO

This commit is contained in:
Edward Emelianov 2022-03-18 16:54:17 +03:00
parent c452b36a16
commit a0813678f7
9 changed files with 265 additions and 252 deletions

View File

@ -113,7 +113,7 @@ static int camcapt(IMG *ima){
long image_size = ima->h * ima->w * 2;
if(ASI_SUCCESS != ASIGetDataAfterExp(caminfo.CameraID, d, image_size)){
printf("Couldn't read exposure data\n");
return 1;
return FALSE;
}
return TRUE;
}
@ -275,6 +275,7 @@ static int camsett(float t){
}
if(!zwo_getfloat(&f, ASI_COOLER_ON)) return FALSE;
DBG("COOLERON = %g", f);
/*
#ifdef EBUG
double t0 = dtime();
float c, p, tn;
@ -289,6 +290,7 @@ static int camsett(float t){
printf("fan: %g, t: %g, cooler: %g, perc: %g, tnow: %g\n", f, t, c, p, tn/10.);
}
#endif
*/
return TRUE;
}
@ -365,6 +367,7 @@ static int camgmg(float *mg){ // get max gain
}
static int camggl(frameformat *max, frameformat *step){ // get geometry limits
DBG("array: %dx%d, off: %dx%d", camera.array.w, camera.array.h, camera.array.xoff, camera.array.yoff);
if(max) *max = camera.array;
if(step) *step = (frameformat){1,1,1,1};
return TRUE;

View File

@ -215,11 +215,13 @@ int saveFITS(IMG *img){
WRITEKEY(fp, TSTRING, "PXSIZE", bufc, "Pixel size in m");
snprintf(bufc, FLEN_VALUE, "(%d, %d)(%d, %d)", camera->field.xoff, camera->field.yoff,
camera->field.xoff + camera->field.w, camera->field.yoff + camera->field.h);
WRITEKEY(fp, TSTRING, "VIEWFLD", bufc, "Camera field of view");
WRITEKEY(fp, TSTRING, "VIEWFLD", bufc, "Camera maximal field of view");
snprintf(bufc, FLEN_VALUE, "(%d, %d)(%d, %d)", camera->array.xoff, camera->array.yoff,
camera->array.xoff + camera->array.w, camera->array.yoff + camera->array.h);
WRITEKEY(fp, TSTRING, "ARRAYFLD", bufc, "Camera full array size");
// CRVAL1, CRVAL2 / Offset in X, Y
WRITEKEY(fp, TSTRING, "ARRAYFLD", bufc, "Camera full array size (with overscans)");
snprintf(bufc, FLEN_VALUE, "(%d, %d)(%d, %d)", camera->geometry.xoff, camera->geometry.yoff,
camera->geometry.xoff + camera->geometry.w, camera->geometry.yoff + camera->geometry.h);
WRITEKEY(fp, TSTRING, "GEOMETRY", bufc, "Camera current frame geometry"); // CRVAL1, CRVAL2 / Offset in X, Y
if(GP->X0 > -1) WRITEKEY(fp, TINT, "X0", &GP->X0, "Subframe left border without binning");
if(GP->Y0 > -1) WRITEKEY(fp, TINT, "Y0", &GP->Y0, "Subframe upper border without binning");
if(GP->objtype) strncpy(bufc, GP->objtype, FLEN_CARD-1);
@ -690,6 +692,8 @@ void ccds(){
/*********************** expose control ***********************/
// cancel previous exp
camera->cancel();
if(GP->hbin < 1) GP->hbin = 1;
if(GP->vbin < 1) GP->vbin = 1;
if(!camera->setbin(GP->hbin, GP->vbin))
WARNX(_("Can't set binning %dx%d"), GP->hbin, GP->vbin);
if(GP->X0 < 0) GP->X0 = x0; // default values

View File

@ -108,8 +108,10 @@ static void process_data(int sock){
if(!isnan(GP->gain)) SENDMSG(CMD_GAIN "=%g", GP->gain);
if(!isnan(GP->brightness)) SENDMSG(CMD_BRIGHTNESS "=%g", GP->brightness);
if(GP->nflushes > 0) SENDMSG(CMD_NFLUSHES "=%d", GP->nflushes);
if(GP->outfile || GP->outfileprefix){
if(GP->rewrite) SENDMSG(CMD_REWRITE "=1");
else SENDMSG(CMD_REWRITE "=0");
}
if(GP->outfile) SENDMSG(CMD_FILENAME "=%s", makeabspath(GP->outfile));
if(GP->outfileprefix) SENDMSG(CMD_FILENAMEPREFIX "=%s", makeabspath(GP->outfileprefix));
// if client gives filename and exptime, make exposition
@ -123,9 +125,9 @@ static void process_data(int sock){
void client(int sock){
process_data(sock);
if(!GP->waitexpend) return;
double timeout = GP->waitexpend ? CLIENT_TIMEOUT : 0.1;
double t0 = dtime(), tw = t0;
while(dtime() - t0 < CLIENT_TIMEOUT){
while(dtime() - t0 < timeout){
if(GP->waitexpend && dtime() - tw > WAIT_TIMEOUT){
SENDMSG(CMD_TREMAIN); // get remained time
tw = dtime();
@ -150,6 +152,6 @@ void client(int sock){
}
}
}
WARNX(_("Server timeout"));
if(GP->waitexpend) WARNX(_("Server timeout"));
DBG("Timeout");
}

View File

@ -19,7 +19,6 @@ static glob_pars G = {
.instrument = NULL,
.exptime = -1.,
.nframes = 1,
.hbin = 1, .vbin = 1,
.X0 = -1, .Y0 = -1,
.X1 = -1, .Y1 = -1,
.focdevno = -1,

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-18 15:13+0300\n"
"POT-Creation-Date: 2022-03-18 16:49+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,227 +17,227 @@ msgstr ""
"Content-Type: text/plain; charset=koi8-r\n"
"Content-Transfer-Encoding: 8bit\n"
#: cmdlnopts.c:43
#: cmdlnopts.c:42
msgid "common device plugin (e.g devfli.so)"
msgstr ""
#: cmdlnopts.c:44
#: cmdlnopts.c:43
msgid "camera device plugin (e.g. devfli.so)"
msgstr ""
#: cmdlnopts.c:45
#: cmdlnopts.c:44
msgid "focuser device plugin (e.g. devzwo.so)"
msgstr ""
#: cmdlnopts.c:46
#: cmdlnopts.c:45
msgid "wheel device plugin (e.g. devdummy.so)"
msgstr ""
#: cmdlnopts.c:47
#: cmdlnopts.c:46
msgid "list connected devices"
msgstr ""
#: cmdlnopts.c:48
#: cmdlnopts.c:47
msgid "camera device number (if many: 0, 1, 2 etc)"
msgstr ""
#: cmdlnopts.c:49
#: cmdlnopts.c:48
msgid "filter wheel device number (if many: 0, 1, 2 etc)"
msgstr ""
#: cmdlnopts.c:50
#: cmdlnopts.c:49
msgid "focuser device number (if many: 0, 1, 2 etc)"
msgstr ""
#: cmdlnopts.c:51
#: cmdlnopts.c:50
msgid "show this help"
msgstr ""
#: cmdlnopts.c:52
#: cmdlnopts.c:51
msgid "rewrite output file if exists"
msgstr ""
#: cmdlnopts.c:53
#: cmdlnopts.c:52
msgid "verbose level (each -v increase it)"
msgstr ""
#: cmdlnopts.c:54
#: cmdlnopts.c:53
msgid "not open shutter, when exposing (\"dark frames\")"
msgstr ""
#: cmdlnopts.c:55
#: cmdlnopts.c:54
msgid "run in 8-bit mode"
msgstr ""
#: cmdlnopts.c:56
#: cmdlnopts.c:55
msgid "fast readout mode"
msgstr ""
#: cmdlnopts.c:57
#: cmdlnopts.c:56
msgid "set CCD temperature to given value (degr C)"
msgstr ""
#: cmdlnopts.c:58
#: cmdlnopts.c:57
msgid "set fan speed (0 - off, 1 - low, 2 - high)"
msgstr ""
#: cmdlnopts.c:60
#: cmdlnopts.c:59
msgid "program author"
msgstr ""
#: cmdlnopts.c:61
#: cmdlnopts.c:60
msgid "object type (neon, object, flat etc)"
msgstr ""
#: cmdlnopts.c:62
#: cmdlnopts.c:61
msgid "instrument name"
msgstr ""
#: cmdlnopts.c:63
#: cmdlnopts.c:62
msgid "object name"
msgstr ""
#: cmdlnopts.c:64
#: cmdlnopts.c:63
msgid "observers' names"
msgstr ""
#: cmdlnopts.c:65
#: cmdlnopts.c:64
msgid "observing program name"
msgstr ""
#: cmdlnopts.c:66
#: cmdlnopts.c:65
msgid "add records to header from given file[s]"
msgstr ""
#: cmdlnopts.c:67
#: cmdlnopts.c:66
msgid "output file name"
msgstr ""
#: cmdlnopts.c:68
#: cmdlnopts.c:67
msgid "wait while exposition ends"
msgstr ""
#: cmdlnopts.c:70
#: cmdlnopts.c:69
msgid "N flushes before exposing (default: 1)"
msgstr ""
#: cmdlnopts.c:71
#: cmdlnopts.c:70
msgid "horizontal binning to N pixels"
msgstr ""
#: cmdlnopts.c:72
#: cmdlnopts.c:71
msgid "vertical binning to N pixels"
msgstr ""
#: cmdlnopts.c:73
#: cmdlnopts.c:72
msgid "make series of N frames"
msgstr ""
#: cmdlnopts.c:74
#: cmdlnopts.c:73
msgid "make pause for N seconds between expositions"
msgstr ""
#: cmdlnopts.c:75
#: cmdlnopts.c:74
msgid "set exposure time to given value (seconds!)"
msgstr ""
#: cmdlnopts.c:76
#: cmdlnopts.c:75
msgid "cancel current exposition"
msgstr ""
#: cmdlnopts.c:77
#: cmdlnopts.c:76
msgid ""
"absolute (not divided by binning!) frame X0 coordinate (-1 - all with "
"overscan)"
msgstr ""
#: cmdlnopts.c:78
#: cmdlnopts.c:77
msgid "absolute frame Y0 coordinate (-1 - all with overscan)"
msgstr ""
#: cmdlnopts.c:79
#: cmdlnopts.c:78
msgid "absolute frame X1 coordinate (-1 - all with overscan)"
msgstr ""
#: cmdlnopts.c:80
#: cmdlnopts.c:79
msgid "absolute frame Y1 coordinate (-1 - all with overscan)"
msgstr ""
#: cmdlnopts.c:82
#: cmdlnopts.c:81
msgid "open shutter"
msgstr ""
#: cmdlnopts.c:83
#: cmdlnopts.c:82
msgid "close shutter"
msgstr ""
#: cmdlnopts.c:84
#: cmdlnopts.c:83
msgid "run exposition on LOW @ pin5 I/O port"
msgstr ""
#: cmdlnopts.c:85
#: cmdlnopts.c:84
msgid "run exposition on HIGH @ pin5 I/O port"
msgstr ""
#: cmdlnopts.c:86
#: cmdlnopts.c:85
msgid "get value of I/O port pins"
msgstr ""
#: cmdlnopts.c:87
#: cmdlnopts.c:86
msgid "move stepper motor asynchronous"
msgstr ""
#: cmdlnopts.c:89
#: cmdlnopts.c:88
msgid "set I/O port pins to given value (decimal number, pin1 is LSB)"
msgstr ""
#: cmdlnopts.c:90
#: cmdlnopts.c:89
msgid ""
"configure I/O port pins to given value (decimal number, pin1 is LSB, 1 == "
"output, 0 == input)"
msgstr ""
#: cmdlnopts.c:92
#: cmdlnopts.c:91
msgid "move focuser to absolute position, mm"
msgstr ""
#: cmdlnopts.c:93
#: cmdlnopts.c:92
msgid "move focuser to relative position, mm"
msgstr ""
#: cmdlnopts.c:95
#: cmdlnopts.c:94
msgid "set wheel position"
msgstr ""
#: cmdlnopts.c:97
#: cmdlnopts.c:96
msgid "CMOS gain level"
msgstr ""
#: cmdlnopts.c:98
#: cmdlnopts.c:97
msgid "CMOS brightness level"
msgstr ""
#: cmdlnopts.c:100
#: cmdlnopts.c:99
msgid "logging file name (if run as server)"
msgstr ""
#: cmdlnopts.c:101
#: cmdlnopts.c:100
msgid "UNIX socket name"
msgstr ""
#: cmdlnopts.c:102
#: cmdlnopts.c:101
msgid "local INET socket port"
msgstr ""
#: cmdlnopts.c:103
#: cmdlnopts.c:102
msgid "run as client"
msgstr ""
#: cmdlnopts.c:104
#: cmdlnopts.c:103
msgid "PID file (default: "
msgstr ""
#: cmdlnopts.c:107
#: cmdlnopts.c:106
msgid "Display image in OpenGL window"
msgstr ""
@ -275,273 +275,273 @@ msgstr ""
msgid "Can't save file with prefix %s"
msgstr ""
#: ccdfunc.c:332
#: ccdfunc.c:334
#, c-format
msgid "File saved as '%s'"
msgstr ""
#: ccdfunc.c:336
#: ccdfunc.c:338
msgid "Error saving file"
msgstr ""
#: ccdfunc.c:376
#: ccdfunc.c:378
#, c-format
msgid "Image stat:\n"
msgstr ""
#: ccdfunc.c:384
#: ccdfunc.c:386
msgid "Focuser device not pointed"
msgstr ""
#: ccdfunc.c:391
#: ccdfunc.c:393
msgid "No focusers found"
msgstr ""
#: ccdfunc.c:422
#: ccdfunc.c:424
#, c-format
msgid "Found %d focusers, you point number %d"
msgstr ""
#: ccdfunc.c:426
#: ccdfunc.c:428
msgid "Can't set active focuser number"
msgstr ""
#: ccdfunc.c:440
#: ccdfunc.c:442
msgid "Can't get focuser limit positions"
msgstr ""
#: ccdfunc.c:447
#: ccdfunc.c:449
msgid "Can't get current focuser position"
msgstr ""
#: ccdfunc.c:461
#: ccdfunc.c:463
#, c-format
msgid "Can't set position %g: out of limits [%g, %g]"
msgstr ""
#: ccdfunc.c:465
#: ccdfunc.c:467
msgid "Can't home focuser"
msgstr ""
#: ccdfunc.c:467
#: ccdfunc.c:469
#, c-format
msgid "Can't set position %g"
msgstr ""
#: ccdfunc.c:475
#: ccdfunc.c:477
msgid "Wheel device not pointed"
msgstr ""
#: ccdfunc.c:482
#: ccdfunc.c:484
msgid "No wheels found"
msgstr ""
#: ccdfunc.c:513
#: ccdfunc.c:515
#, c-format
msgid "Found %d wheels, you point number %d"
msgstr ""
#: ccdfunc.c:517
#: ccdfunc.c:519
msgid "Can't set active wheel number"
msgstr ""
#: ccdfunc.c:533
#: ccdfunc.c:535
msgid "Can't get max wheel position"
msgstr ""
#: ccdfunc.c:540
#: ccdfunc.c:542
#, c-format
msgid "Wheel position should be from 0 to %d"
msgstr ""
#: ccdfunc.c:544
#: ccdfunc.c:546
#, c-format
msgid "Can't set wheel position %d"
msgstr ""
#: ccdfunc.c:561
#: ccdfunc.c:563
#, c-format
msgid "%.1f seconds till exposition ends"
msgstr ""
#: ccdfunc.c:575
#: ccdfunc.c:577
msgid "Camera device not pointed"
msgstr ""
#: ccdfunc.c:582 ccdfunc.c:583
#: ccdfunc.c:584 ccdfunc.c:585
msgid "No cameras found"
msgstr ""
#: ccdfunc.c:618
#: ccdfunc.c:620
#, c-format
msgid "Found %d cameras, you point number %d"
msgstr ""
#: ccdfunc.c:622
#: ccdfunc.c:624
msgid "Can't set active camera number"
msgstr ""
#: ccdfunc.c:628
#: ccdfunc.c:630
msgid "Can't set fan speed"
msgstr ""
#: ccdfunc.c:629
#: ccdfunc.c:631
#, c-format
msgid "Set fan speed to %d"
msgstr ""
#: ccdfunc.c:634
#: ccdfunc.c:636
#, c-format
msgid "Camera model: %s"
msgstr ""
#: ccdfunc.c:635
#: ccdfunc.c:637
#, c-format
msgid "Pixel size: %g x %g"
msgstr ""
#: ccdfunc.c:641
#: ccdfunc.c:643
#, c-format
msgid "Full array: %s"
msgstr ""
#: ccdfunc.c:644
#: ccdfunc.c:646
#, c-format
msgid "Field of view: %s"
msgstr ""
#: ccdfunc.c:647
#: ccdfunc.c:649
#, c-format
msgid "Can't set T to %g degC"
msgstr ""
#: ccdfunc.c:654
#: ccdfunc.c:656
#, c-format
msgid "Shutter command: %s\n"
msgstr ""
#: ccdfunc.c:656
#: ccdfunc.c:658
#, c-format
msgid "Can't run shutter command %s (unsupported?)"
msgstr ""
#. "Попытка сконфигурировать порт I/O как %d\n"
#: ccdfunc.c:660
#: ccdfunc.c:662
#, c-format
msgid "Try to configure I/O port as %d"
msgstr ""
#: ccdfunc.c:662
#: ccdfunc.c:664
msgid "Can't configure (unsupported?)"
msgstr ""
#: ccdfunc.c:668
#: ccdfunc.c:670
msgid "Can't get IOport state (unsupported?)"
msgstr ""
#. "Попытка записи %d в порт I/O\n"
#: ccdfunc.c:672
#: ccdfunc.c:674
#, c-format
msgid "Try to write %d to I/O port"
msgstr ""
#: ccdfunc.c:674
#: ccdfunc.c:676
msgid "Can't set IOport"
msgstr ""
#: ccdfunc.c:681
#: ccdfunc.c:683
#, c-format
msgid "Set gain to %g"
msgstr ""
#: ccdfunc.c:682
#: ccdfunc.c:684
#, c-format
msgid "Can't set gain to %g"
msgstr ""
#: ccdfunc.c:687
#: ccdfunc.c:689
#, c-format
msgid "Set brightness to %g"
msgstr ""
#: ccdfunc.c:688
#: ccdfunc.c:690
#, c-format
msgid "Can't set brightness to %g"
msgstr ""
#: ccdfunc.c:694
#: ccdfunc.c:698 server.c:199
#, c-format
msgid "Can't set binning %dx%d"
msgstr ""
#: ccdfunc.c:704
#: ccdfunc.c:708 server.c:200
msgid "Can't set given geometry"
msgstr ""
#: ccdfunc.c:708
#, c-format
msgid "Can't set %d flushes"
msgstr ""
#: ccdfunc.c:712
#, c-format
msgid "Can't set %d flushes"
msgstr ""
#: ccdfunc.c:716
#, c-format
msgid "Can't set exposure time to %f seconds"
msgstr ""
#: ccdfunc.c:715
#: ccdfunc.c:719
msgid "Can't change frame type"
msgstr ""
#: ccdfunc.c:718
#: ccdfunc.c:722
msgid "Can't set bit depth"
msgstr ""
#: ccdfunc.c:720
#: ccdfunc.c:724
msgid "Can't set readout speed"
msgstr ""
#: ccdfunc.c:721
#: ccdfunc.c:725
#, c-format
msgid "Readout mode: %s"
msgstr ""
#: ccdfunc.c:722
#: ccdfunc.c:726
msgid "Only show statistics"
msgstr ""
#. GET binning should be AFTER setgeometry!
#: ccdfunc.c:724
#: ccdfunc.c:728
msgid "Can't get current binning"
msgstr ""
#: ccdfunc.c:737
#: ccdfunc.c:741
msgid "Can't open OpenGL window, image preview will be inaccessible"
msgstr ""
#. Захват кадра %d\n
#: ccdfunc.c:744
#: ccdfunc.c:748
#, c-format
msgid "Capture frame %d"
msgstr ""
#: ccdfunc.c:746 server.c:108
#: ccdfunc.c:750 server.c:108
msgid "Can't start exposition"
msgstr ""
#: ccdfunc.c:750 ccdfunc.c:772 ccdfunc.c:813
#: ccdfunc.c:754 ccdfunc.c:776 ccdfunc.c:817
msgid "Can't capture image"
msgstr ""
#: ccdfunc.c:753
#: ccdfunc.c:757
msgid "Read grabbed image"
msgstr ""
#: ccdfunc.c:756 ccdfunc.c:776 ccdfunc.c:817
#: ccdfunc.c:760 ccdfunc.c:780 ccdfunc.c:821
msgid "Can't grab image"
msgstr ""
#. %d секунд до окончания паузы\n
#: ccdfunc.c:793
#: ccdfunc.c:797
#, c-format
msgid "%d seconds till pause ends\n"
msgstr ""
@ -550,11 +550,11 @@ msgstr ""
msgid "No camera device"
msgstr ""
#: client.c:143
#: client.c:145
msgid "Can't make exposition"
msgstr ""
#: client.c:153
#: client.c:155
msgid "Server timeout"
msgstr ""

View File

@ -7,7 +7,7 @@
msgid ""
msgstr "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-18 15:13+0300\n"
"POT-Creation-Date: 2022-03-18 16:49+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:561
#: ccdfunc.c:563
#, c-format
msgid "%.1f seconds till exposition ends"
msgstr ""
#. %d секунд до окончания паузы\n
#: ccdfunc.c:793
#: ccdfunc.c:797
#, c-format
msgid "%d seconds till pause ends\n"
msgstr ""
@ -31,15 +31,15 @@ msgstr ""
msgid "Already initialized!"
msgstr ""
#: cmdlnopts.c:98
#: cmdlnopts.c:97
msgid "CMOS brightness level"
msgstr ""
#: cmdlnopts.c:97
#: cmdlnopts.c:96
msgid "CMOS gain level"
msgstr ""
#: ccdfunc.c:575
#: ccdfunc.c:577
msgid "Camera device not pointed"
msgstr ""
@ -47,20 +47,20 @@ msgstr ""
msgid "Camera device unknown"
msgstr ""
#: ccdfunc.c:634
#: ccdfunc.c:636
#, c-format
msgid "Camera model: %s"
msgstr ""
#: ccdfunc.c:750 ccdfunc.c:772 ccdfunc.c:813
#: ccdfunc.c:754 ccdfunc.c:776 ccdfunc.c:817
msgid "Can't capture image"
msgstr ""
#: ccdfunc.c:715
#: ccdfunc.c:719
msgid "Can't change frame type"
msgstr ""
#: ccdfunc.c:662
#: ccdfunc.c:664
msgid "Can't configure (unsupported?)"
msgstr ""
@ -84,32 +84,32 @@ msgstr ""
msgid "Can't find wheel in plugin %s: %s"
msgstr ""
#: ccdfunc.c:668
#: ccdfunc.c:670
msgid "Can't get IOport state (unsupported?)"
msgstr ""
#. GET binning should be AFTER setgeometry!
#: ccdfunc.c:724
#: ccdfunc.c:728
msgid "Can't get current binning"
msgstr ""
#: ccdfunc.c:447
#: ccdfunc.c:449
msgid "Can't get current focuser position"
msgstr ""
#: ccdfunc.c:440
#: ccdfunc.c:442
msgid "Can't get focuser limit positions"
msgstr ""
#: ccdfunc.c:533
#: ccdfunc.c:535
msgid "Can't get max wheel position"
msgstr ""
#: ccdfunc.c:756 ccdfunc.c:776 ccdfunc.c:817
#: ccdfunc.c:760 ccdfunc.c:780 ccdfunc.c:821
msgid "Can't grab image"
msgstr ""
#: ccdfunc.c:465
#: ccdfunc.c:467
msgid "Can't home focuser"
msgstr ""
@ -117,15 +117,15 @@ msgstr ""
msgid "Can't init mutex!"
msgstr ""
#: client.c:143
#: client.c:145
msgid "Can't make exposition"
msgstr ""
#: ccdfunc.c:737
#: ccdfunc.c:741
msgid "Can't open OpenGL window, image preview will be inaccessible"
msgstr ""
#: ccdfunc.c:656
#: ccdfunc.c:658
#, c-format
msgid "Can't run shutter command %s (unsupported?)"
msgstr ""
@ -136,94 +136,94 @@ msgstr ""
msgid "Can't save file with prefix %s"
msgstr ""
#: ccdfunc.c:708
#: ccdfunc.c:712
#, c-format
msgid "Can't set %d flushes"
msgstr ""
#: ccdfunc.c:674
#: ccdfunc.c:676
msgid "Can't set IOport"
msgstr ""
#: ccdfunc.c:647
#: ccdfunc.c:649
#, c-format
msgid "Can't set T to %g degC"
msgstr ""
#: ccdfunc.c:622
#: ccdfunc.c:624
msgid "Can't set active camera number"
msgstr ""
#: ccdfunc.c:426
#: ccdfunc.c:428
msgid "Can't set active focuser number"
msgstr ""
#: ccdfunc.c:517
#: ccdfunc.c:519
msgid "Can't set active wheel number"
msgstr ""
#: ccdfunc.c:694
#: ccdfunc.c:698 server.c:199
#, c-format
msgid "Can't set binning %dx%d"
msgstr ""
#: ccdfunc.c:718
#: ccdfunc.c:722
msgid "Can't set bit depth"
msgstr ""
#: ccdfunc.c:688
#: ccdfunc.c:690
#, c-format
msgid "Can't set brightness to %g"
msgstr ""
#: ccdfunc.c:712
#: ccdfunc.c:716
#, c-format
msgid "Can't set exposure time to %f seconds"
msgstr ""
#: ccdfunc.c:628
#: ccdfunc.c:630
msgid "Can't set fan speed"
msgstr ""
#: ccdfunc.c:682
#: ccdfunc.c:684
#, c-format
msgid "Can't set gain to %g"
msgstr ""
#: ccdfunc.c:704
#: ccdfunc.c:708 server.c:200
msgid "Can't set given geometry"
msgstr ""
#: ccdfunc.c:467
#: ccdfunc.c:469
#, c-format
msgid "Can't set position %g"
msgstr ""
#: ccdfunc.c:461
#: ccdfunc.c:463
#, c-format
msgid "Can't set position %g: out of limits [%g, %g]"
msgstr ""
#: ccdfunc.c:720
#: ccdfunc.c:724
msgid "Can't set readout speed"
msgstr ""
#: ccdfunc.c:544
#: ccdfunc.c:546
#, c-format
msgid "Can't set wheel position %d"
msgstr ""
#: ccdfunc.c:746 server.c:108
#: ccdfunc.c:750 server.c:108
msgid "Can't start exposition"
msgstr ""
#. Захват кадра %d\n
#: ccdfunc.c:744
#: ccdfunc.c:748
#, c-format
msgid "Capture frame %d"
msgstr ""
#: cmdlnopts.c:107
#: cmdlnopts.c:106
msgid "Display image in OpenGL window"
msgstr ""
@ -232,40 +232,40 @@ msgstr ""
msgid "Equalization of histogram: %s"
msgstr ""
#: ccdfunc.c:336
#: ccdfunc.c:338
msgid "Error saving file"
msgstr ""
#: ccdfunc.c:644
#: ccdfunc.c:646
#, c-format
msgid "Field of view: %s"
msgstr ""
#: ccdfunc.c:332
#: ccdfunc.c:334
#, c-format
msgid "File saved as '%s'"
msgstr ""
#: ccdfunc.c:384
#: ccdfunc.c:386
msgid "Focuser device not pointed"
msgstr ""
#: ccdfunc.c:618
#: ccdfunc.c:620
#, c-format
msgid "Found %d cameras, you point number %d"
msgstr ""
#: ccdfunc.c:422
#: ccdfunc.c:424
#, c-format
msgid "Found %d focusers, you point number %d"
msgstr ""
#: ccdfunc.c:513
#: ccdfunc.c:515
#, c-format
msgid "Found %d wheels, you point number %d"
msgstr ""
#: ccdfunc.c:641
#: ccdfunc.c:643
#, c-format
msgid "Full array: %s"
msgstr ""
@ -275,12 +275,12 @@ msgstr ""
msgid "Histogram conversion: %s"
msgstr ""
#: ccdfunc.c:376
#: ccdfunc.c:378
#, c-format
msgid "Image stat:\n"
msgstr ""
#: cmdlnopts.c:70
#: cmdlnopts.c:69
msgid "N flushes before exposing (default: 1)"
msgstr ""
@ -292,212 +292,212 @@ msgstr ""
msgid "No camera device"
msgstr ""
#: ccdfunc.c:582 ccdfunc.c:583
#: ccdfunc.c:584 ccdfunc.c:585
msgid "No cameras found"
msgstr ""
#: ccdfunc.c:391
#: ccdfunc.c:393
msgid "No focusers found"
msgstr ""
#: ccdfunc.c:482
#: ccdfunc.c:484
msgid "No wheels found"
msgstr ""
#: ccdfunc.c:722
#: ccdfunc.c:726
msgid "Only show statistics"
msgstr ""
#: cmdlnopts.c:104
#: cmdlnopts.c:103
msgid "PID file (default: "
msgstr ""
#: ccdfunc.c:635
#: ccdfunc.c:637
#, c-format
msgid "Pixel size: %g x %g"
msgstr ""
#: ccdfunc.c:753
#: ccdfunc.c:757
msgid "Read grabbed image"
msgstr ""
#: ccdfunc.c:721
#: ccdfunc.c:725
#, c-format
msgid "Readout mode: %s"
msgstr ""
#: client.c:153
#: client.c:155
msgid "Server timeout"
msgstr ""
#: ccdfunc.c:687
#: ccdfunc.c:689
#, c-format
msgid "Set brightness to %g"
msgstr ""
#: ccdfunc.c:629
#: ccdfunc.c:631
#, c-format
msgid "Set fan speed to %d"
msgstr ""
#: ccdfunc.c:681
#: ccdfunc.c:683
#, c-format
msgid "Set gain to %g"
msgstr ""
#: ccdfunc.c:654
#: ccdfunc.c:656
#, c-format
msgid "Shutter command: %s\n"
msgstr ""
#. "Попытка сконфигурировать порт I/O как %d\n"
#: ccdfunc.c:660
#: ccdfunc.c:662
#, c-format
msgid "Try to configure I/O port as %d"
msgstr ""
#. "Попытка записи %d в порт I/O\n"
#: ccdfunc.c:672
#: ccdfunc.c:674
#, c-format
msgid "Try to write %d to I/O port"
msgstr ""
#: cmdlnopts.c:101
#: cmdlnopts.c:100
msgid "UNIX socket name"
msgstr ""
#: ccdfunc.c:475
#: ccdfunc.c:477
msgid "Wheel device not pointed"
msgstr ""
#: ccdfunc.c:540
#: ccdfunc.c:542
#, c-format
msgid "Wheel position should be from 0 to %d"
msgstr ""
#: cmdlnopts.c:77
#: cmdlnopts.c:76
msgid "absolute (not divided by binning!) frame X0 coordinate (-1 - all "
"with overscan)"
msgstr ""
#: cmdlnopts.c:79
#: cmdlnopts.c:78
msgid "absolute frame X1 coordinate (-1 - all with overscan)"
msgstr ""
#: cmdlnopts.c:78
#: cmdlnopts.c:77
msgid "absolute frame Y0 coordinate (-1 - all with overscan)"
msgstr ""
#: cmdlnopts.c:80
#: cmdlnopts.c:79
msgid "absolute frame Y1 coordinate (-1 - all with overscan)"
msgstr ""
#: cmdlnopts.c:66
#: cmdlnopts.c:65
msgid "add records to header from given file[s]"
msgstr ""
#: cmdlnopts.c:48
#: cmdlnopts.c:47
msgid "camera device number (if many: 0, 1, 2 etc)"
msgstr ""
#: cmdlnopts.c:44
#: cmdlnopts.c:43
msgid "camera device plugin (e.g. devfli.so)"
msgstr ""
#: cmdlnopts.c:76
#: cmdlnopts.c:75
msgid "cancel current exposition"
msgstr ""
#: cmdlnopts.c:83
#: cmdlnopts.c:82
msgid "close shutter"
msgstr ""
#: cmdlnopts.c:43
#: cmdlnopts.c:42
msgid "common device plugin (e.g devfli.so)"
msgstr ""
#: cmdlnopts.c:90
#: cmdlnopts.c:89
msgid "configure I/O port pins to given value (decimal number, pin1 is LSB, "
"1 == output, 0 == input)"
msgstr ""
#: cmdlnopts.c:56
#: cmdlnopts.c:55
msgid "fast readout mode"
msgstr ""
#: cmdlnopts.c:49
#: cmdlnopts.c:48
msgid "filter wheel device number (if many: 0, 1, 2 etc)"
msgstr ""
#: cmdlnopts.c:50
#: cmdlnopts.c:49
msgid "focuser device number (if many: 0, 1, 2 etc)"
msgstr ""
#: cmdlnopts.c:45
#: cmdlnopts.c:44
msgid "focuser device plugin (e.g. devzwo.so)"
msgstr ""
#: cmdlnopts.c:86
#: cmdlnopts.c:85
msgid "get value of I/O port pins"
msgstr ""
#: cmdlnopts.c:71
#: cmdlnopts.c:70
msgid "horizontal binning to N pixels"
msgstr ""
#: cmdlnopts.c:62
#: cmdlnopts.c:61
msgid "instrument name"
msgstr ""
#: cmdlnopts.c:47
#: cmdlnopts.c:46
msgid "list connected devices"
msgstr ""
#: cmdlnopts.c:102
#: cmdlnopts.c:101
msgid "local INET socket port"
msgstr ""
#: cmdlnopts.c:100
#: cmdlnopts.c:99
msgid "logging file name (if run as server)"
msgstr ""
#: cmdlnopts.c:74
#: cmdlnopts.c:73
msgid "make pause for N seconds between expositions"
msgstr ""
#: cmdlnopts.c:73
#: cmdlnopts.c:72
msgid "make series of N frames"
msgstr ""
#: cmdlnopts.c:92
#: cmdlnopts.c:91
msgid "move focuser to absolute position, mm"
msgstr ""
#: cmdlnopts.c:93
#: cmdlnopts.c:92
msgid "move focuser to relative position, mm"
msgstr ""
#: cmdlnopts.c:87
#: cmdlnopts.c:86
msgid "move stepper motor asynchronous"
msgstr ""
#: cmdlnopts.c:54
#: cmdlnopts.c:53
msgid "not open shutter, when exposing (\"dark frames\")"
msgstr ""
#: cmdlnopts.c:63
#: cmdlnopts.c:62
msgid "object name"
msgstr ""
#: cmdlnopts.c:61
#: cmdlnopts.c:60
msgid "object type (neon, object, flat etc)"
msgstr ""
#: cmdlnopts.c:64
#: cmdlnopts.c:63
msgid "observers' names"
msgstr ""
#: cmdlnopts.c:65
#: cmdlnopts.c:64
msgid "observing program name"
msgstr ""
@ -509,74 +509,74 @@ msgstr ""
msgid "on"
msgstr ""
#: cmdlnopts.c:82
#: cmdlnopts.c:81
msgid "open shutter"
msgstr ""
#: cmdlnopts.c:67
#: cmdlnopts.c:66
msgid "output file name"
msgstr ""
#: cmdlnopts.c:60
#: cmdlnopts.c:59
msgid "program author"
msgstr ""
#: cmdlnopts.c:52
#: cmdlnopts.c:51
msgid "rewrite output file if exists"
msgstr ""
#: cmdlnopts.c:103
#: cmdlnopts.c:102
msgid "run as client"
msgstr ""
#: cmdlnopts.c:85
#: cmdlnopts.c:84
msgid "run exposition on HIGH @ pin5 I/O port"
msgstr ""
#: cmdlnopts.c:84
#: cmdlnopts.c:83
msgid "run exposition on LOW @ pin5 I/O port"
msgstr ""
#: cmdlnopts.c:55
#: cmdlnopts.c:54
msgid "run in 8-bit mode"
msgstr ""
#: cmdlnopts.c:57
#: cmdlnopts.c:56
msgid "set CCD temperature to given value (degr C)"
msgstr ""
#: cmdlnopts.c:89
#: cmdlnopts.c:88
msgid "set I/O port pins to given value (decimal number, pin1 is LSB)"
msgstr ""
#: cmdlnopts.c:75
#: cmdlnopts.c:74
msgid "set exposure time to given value (seconds!)"
msgstr ""
#: cmdlnopts.c:58
#: cmdlnopts.c:57
msgid "set fan speed (0 - off, 1 - low, 2 - high)"
msgstr ""
#: cmdlnopts.c:95
#: cmdlnopts.c:94
msgid "set wheel position"
msgstr ""
#: cmdlnopts.c:51
#: cmdlnopts.c:50
msgid "show this help"
msgstr ""
#: cmdlnopts.c:53
#: cmdlnopts.c:52
msgid "verbose level (each -v increase it)"
msgstr ""
#: cmdlnopts.c:72
#: cmdlnopts.c:71
msgid "vertical binning to N pixels"
msgstr ""
#: cmdlnopts.c:68
#: cmdlnopts.c:67
msgid "wait while exposition ends"
msgstr ""
#: cmdlnopts.c:46
#: cmdlnopts.c:45
msgid "wheel device plugin (e.g. devdummy.so)"
msgstr ""

4
main.c
View File

@ -51,8 +51,10 @@ void signals(int signo){
}
// slave: cancel exposition
WARNX("Get signal %d - exit", signo);
if(!GP->client){
DBG("Cancel capturing");
if(!GP->client) cancel();
cancel();
}
#ifdef IMAGEVIEW
DBG("KILL GL");
closeGL();

View File

@ -196,6 +196,8 @@ static int camdevini(int n){
if(GP->hbin < 1) GP->hbin = 1;
if(GP->vbin < 1) GP->vbin = 1;
fixima();
if(!camera->setbin(GP->hbin, GP->vbin)) WARNX(_("Can't set binning %dx%d"), GP->hbin, GP->vbin);
if(!camera->setgeometry(&curformat)) WARNX(_("Can't set given geometry"));
pthread_mutex_unlock(&locmutex);
return TRUE;
}
@ -516,9 +518,9 @@ static hresult formathandler(int fd, const char *key, const char *val){
fixima();
}
if(0 == strcmp(key, CMD_FRAMEMAX)) snprintf(buf, 63, CMD_FRAMEMAX "=%d,%d,%d,%d",
frmformatmax.xoff, frmformatmax.yoff, frmformatmax.xoff+frmformatmax.w, frmformatmax.yoff+frmformatmax.w);
frmformatmax.xoff, frmformatmax.yoff, frmformatmax.xoff+frmformatmax.w, frmformatmax.yoff+frmformatmax.h);
else snprintf(buf, 63, CMD_FRAMEFORMAT "=%d,%d,%d,%d",
camera->array.xoff, camera->array.yoff, camera->array.xoff+camera->array.w, camera->array.yoff+camera->array.w);
camera->geometry.xoff, camera->geometry.yoff, camera->geometry.xoff+camera->geometry.w, camera->geometry.yoff+camera->geometry.h);
sendstrmessage(fd, buf);
return RESULT_SILENCE;
}

View File

@ -111,8 +111,9 @@ int start_socket(int isserver, char *path, int isnet){
if(isnet) freeaddrinfo(res);
if(isserver) server(sock);
else client(sock);
DBG("Close socket");
close(sock);
signals(0);
if(isserver) signals(0);
return 0;
}