diff --git a/ZWO_cameras/zwofunc.c b/ZWO_cameras/zwofunc.c index 64b746b..e27d775 100644 --- a/ZWO_cameras/zwofunc.c +++ b/ZWO_cameras/zwofunc.c @@ -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; diff --git a/ccdfunc.c b/ccdfunc.c index 8735507..aebcff5 100644 --- a/ccdfunc.c +++ b/ccdfunc.c @@ -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 diff --git a/client.c b/client.c index ac18fa0..d6b2122 100644 --- a/client.c +++ b/client.c @@ -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->rewrite) SENDMSG(CMD_REWRITE "=1"); - else SENDMSG(CMD_REWRITE "=0"); + 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"); } diff --git a/cmdlnopts.c b/cmdlnopts.c index bf2ffb6..d0cc7be 100644 --- a/cmdlnopts.c +++ b/cmdlnopts.c @@ -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, diff --git a/locale/ru/messages.po b/locale/ru/messages.po index b9a333e..2d98da9 100644 --- a/locale/ru/messages.po +++ b/locale/ru/messages.po @@ -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 \n" "Language-Team: LANGUAGE \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 "" diff --git a/locale/ru/ru.po b/locale/ru/ru.po index 4da5a87..0efda7c 100644 --- a/locale/ru/ru.po +++ b/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-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 \n" "Language-Team: LANGUAGE \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 "" diff --git a/main.c b/main.c index 0dc1e29..83d3768 100644 --- a/main.c +++ b/main.c @@ -51,8 +51,10 @@ void signals(int signo){ } // slave: cancel exposition WARNX("Get signal %d - exit", signo); - DBG("Cancel capturing"); - if(!GP->client) cancel(); + if(!GP->client){ + DBG("Cancel capturing"); + cancel(); + } #ifdef IMAGEVIEW DBG("KILL GL"); closeGL(); diff --git a/server.c b/server.c index a0e297e..6c6e820 100644 --- a/server.c +++ b/server.c @@ -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; } diff --git a/socket.c b/socket.c index 3d7c06d..9fe16bb 100644 --- a/socket.c +++ b/socket.c @@ -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; }