mirror of
https://github.com/eddyem/CCD_Capture.git
synced 2025-12-06 02:35:13 +03:00
fixed small speed in standalone mode; searching for reasons of the same for network mode
This commit is contained in:
parent
070df2be89
commit
e9f1c67055
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
#include "basestructs.h"
|
#include "basestructs.h"
|
||||||
#include "omp.h"
|
#include "omp.h"
|
||||||
|
//#include "socket.h" // timestamp
|
||||||
|
|
||||||
extern Camera camera;
|
extern Camera camera;
|
||||||
|
|
||||||
@ -32,7 +33,7 @@ static int isopened = FALSE, is16bit = FALSE;
|
|||||||
static char camname[BUFSIZ] = {0};
|
static char camname[BUFSIZ] = {0};
|
||||||
static size_t payloadsize = 0; // size of imgBuf
|
static size_t payloadsize = 0; // size of imgBuf
|
||||||
static unsigned char *imgBuf = NULL;
|
static unsigned char *imgBuf = NULL;
|
||||||
static uint32_t expostime = 0.; // current exposition time (in microseconds)
|
static uint32_t expostime = 0; // current exposition time (in microseconds)
|
||||||
static PYLON_DEVICECALLBACK_HANDLE hCb;
|
static PYLON_DEVICECALLBACK_HANDLE hCb;
|
||||||
static int curhbin = 1, curvbin = 1;
|
static int curhbin = 1, curvbin = 1;
|
||||||
|
|
||||||
@ -322,9 +323,11 @@ static int pollcapt(capture_status *st, float *remain){
|
|||||||
|
|
||||||
static int capture(IMG *ima){
|
static int capture(IMG *ima){
|
||||||
FNAME();
|
FNAME();
|
||||||
|
//double __t0 = dtime();
|
||||||
if(!ima || !ima->data || !imgBuf || !isopened) return FALSE;
|
if(!ima || !ima->data || !imgBuf || !isopened) return FALSE;
|
||||||
static int toohot = FALSE;
|
static int toohot = FALSE;
|
||||||
float_values f;
|
float_values f;
|
||||||
|
//TIMESTAMP("start capt");
|
||||||
if(!getFloat("DeviceTemperature", &f)) WARNX("Can't get temperature");
|
if(!getFloat("DeviceTemperature", &f)) WARNX("Can't get temperature");
|
||||||
else{
|
else{
|
||||||
DBG("Temperature: %.1f", f.val);
|
DBG("Temperature: %.1f", f.val);
|
||||||
@ -338,17 +341,20 @@ static int capture(IMG *ima){
|
|||||||
}
|
}
|
||||||
PylonGrabResult_t grabResult;
|
PylonGrabResult_t grabResult;
|
||||||
_Bool bufferReady;
|
_Bool bufferReady;
|
||||||
|
//TIMESTAMP("grab single frame");
|
||||||
GENAPIC_RESULT res = PylonDeviceGrabSingleFrame(hDev, 0, imgBuf, payloadsize,
|
GENAPIC_RESULT res = PylonDeviceGrabSingleFrame(hDev, 0, imgBuf, payloadsize,
|
||||||
&grabResult, &bufferReady, 500 + (uint32_t)expostime);
|
&grabResult, &bufferReady, 1000 + expostime);
|
||||||
|
//TIMESTAMP("end of grabbing");
|
||||||
if(res != GENAPI_E_OK || !bufferReady){
|
if(res != GENAPI_E_OK || !bufferReady){
|
||||||
WARNX("res != GENAPI_E_OK || !bufferReady");
|
WARNX("res != GENAPI_E_OK || !bufferReady");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
if(grabResult.Status != Grabbed){
|
if(grabResult.Status != Grabbed){
|
||||||
WARNX("grabResult.Status != Grabbed");
|
WARNX("grabResult.Status != Grabbed (%d)", grabResult.Status);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
int width = grabResult.SizeX, height = grabResult.SizeY, stride = grabResult.SizeX + grabResult.PaddingX;
|
int width = grabResult.SizeX, height = grabResult.SizeY, stride = grabResult.SizeX + grabResult.PaddingX;
|
||||||
|
//TIMESTAMP("start converting");
|
||||||
if(is16bit){
|
if(is16bit){
|
||||||
int s2 = stride<<1, w2 = width<<1;
|
int s2 = stride<<1, w2 = width<<1;
|
||||||
OMP_FOR()
|
OMP_FOR()
|
||||||
@ -367,6 +373,7 @@ static int capture(IMG *ima){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//TIMESTAMP("image ready");
|
||||||
ima->bitpix = (is16bit) ? 16 : 8;
|
ima->bitpix = (is16bit) ? 16 : 8;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -26,6 +26,7 @@
|
|||||||
#include <usefull_macros.h>
|
#include <usefull_macros.h>
|
||||||
|
|
||||||
#include "basestructs.h"
|
#include "basestructs.h"
|
||||||
|
#include "omp.h"
|
||||||
|
|
||||||
extern Camera camera;
|
extern Camera camera;
|
||||||
extern Focuser focuser;
|
extern Focuser focuser;
|
||||||
@ -67,12 +68,14 @@ static int startexp(){
|
|||||||
static int camcapt(IMG *ima){
|
static int camcapt(IMG *ima){
|
||||||
static int n = 0;
|
static int n = 0;
|
||||||
if(!ima || !ima->data) return FALSE;
|
if(!ima || !ima->data) return FALSE;
|
||||||
uint16_t *d = ima->data;
|
OMP_FOR()
|
||||||
for(int y = 0; y < ima->h; ++y)
|
for(int y = 0; y < ima->h; ++y){
|
||||||
|
uint16_t *d = &ima->data[y*ima->w];
|
||||||
for(int x = 0; x < ima->w; ++x){ // sinusoide 100x200
|
for(int x = 0; x < ima->w; ++x){ // sinusoide 100x200
|
||||||
//*d++ = (uint16_t)(((n+x)%100)/99.*65535.);
|
//*d++ = (uint16_t)(((n+x)%100)/99.*65535.);
|
||||||
*d++ = (uint16_t)((1 + sin((n+x) * M_PI/50)*sin((n+y) * M_PI/100))*32767.);
|
*d++ = (uint16_t)((1 + sin((n+x) * M_PI/50)*sin((n+y) * M_PI/100))*32767.);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
++n;
|
++n;
|
||||||
ima->bitpix = 16;
|
ima->bitpix = 16;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|||||||
67
ccdfunc.c
67
ccdfunc.c
@ -28,6 +28,7 @@
|
|||||||
|
|
||||||
#include "ccdfunc.h"
|
#include "ccdfunc.h"
|
||||||
#include "cmdlnopts.h"
|
#include "cmdlnopts.h"
|
||||||
|
#include "socket.h"
|
||||||
#ifdef IMAGEVIEW
|
#ifdef IMAGEVIEW
|
||||||
#include "imageview.h"
|
#include "imageview.h"
|
||||||
#endif
|
#endif
|
||||||
@ -774,24 +775,31 @@ DBG("w=%d, h=%d", raw_width, raw_height);
|
|||||||
IMG ima = {.data = img, .w = raw_width, .h = raw_height};
|
IMG ima = {.data = img, .w = raw_width, .h = raw_height};
|
||||||
if(GP->nframes < 1) GP->nframes = 1;
|
if(GP->nframes < 1) GP->nframes = 1;
|
||||||
for(int j = 0; j < GP->nframes; ++j){
|
for(int j = 0; j < GP->nframes; ++j){
|
||||||
|
TIMESTAMP("Start next cycle");
|
||||||
|
TIMEINIT();
|
||||||
// úÁÈ×ÁÔ ËÁÄÒÁ %d\n
|
// úÁÈ×ÁÔ ËÁÄÒÁ %d\n
|
||||||
verbose(1, _("Capture frame %d"), j);
|
verbose(1, _("Capture frame %d"), j);
|
||||||
if(!camera->startexposition()){
|
if(!camera->startexposition()){
|
||||||
WARNX(_("Can't start exposition"));
|
WARNX(_("Can't start exposition"));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
TIMESTAMP("Check capture");
|
||||||
if(capt() != CAPTURE_READY){
|
if(capt() != CAPTURE_READY){
|
||||||
WARNX(_("Can't capture image"));
|
WARNX(_("Can't capture image"));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
verbose(2, _("Read grabbed image"));
|
verbose(2, _("Read grabbed image"));
|
||||||
|
TIMESTAMP("Read grabbed");
|
||||||
//if(!camera) return;
|
//if(!camera) return;
|
||||||
if(!camera->capture(&ima)){
|
if(!camera->capture(&ima)){
|
||||||
WARNX(_("Can't grab image"));
|
WARNX(_("Can't grab image"));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
TIMESTAMP("Calc stat");
|
||||||
calculate_stat(&ima);
|
calculate_stat(&ima);
|
||||||
|
TIMESTAMP("Save fits");
|
||||||
saveFITS(&ima, NULL);
|
saveFITS(&ima, NULL);
|
||||||
|
TIMESTAMP("Ready");
|
||||||
if(GP->pause_len && j != (GP->nframes - 1)){
|
if(GP->pause_len && j != (GP->nframes - 1)){
|
||||||
double delta, time1 = dtime() + GP->pause_len;
|
double delta, time1 = dtime() + GP->pause_len;
|
||||||
while((delta = time1 - dtime()) > 0.){
|
while((delta = time1 - dtime()) > 0.){
|
||||||
@ -821,30 +829,28 @@ void camstop(){
|
|||||||
|
|
||||||
|
|
||||||
#ifdef IMAGEVIEW
|
#ifdef IMAGEVIEW
|
||||||
static volatile int grabends = 1;
|
static volatile int grabno = 0, lastgrabno = 0, exitgrab = FALSE;
|
||||||
static void *grabnext(void *arg){
|
static void *grabnext(void *arg){
|
||||||
FNAME();
|
FNAME();
|
||||||
grabends = 0;
|
|
||||||
static int retval = FALSE;
|
|
||||||
IMG *ima = (IMG*) arg;
|
IMG *ima = (IMG*) arg;
|
||||||
DBG("nxt");
|
do{
|
||||||
if(!ima || !camera) goto eof;
|
if(exitgrab) return NULL;
|
||||||
if(!camera->startexposition()){ WARNX(_("Can't start exposition")); goto eof; }
|
TIMESTAMP("Start next exp");
|
||||||
|
TIMEINIT();
|
||||||
|
if(!ima || !camera) return NULL;
|
||||||
|
if(!camera->startexposition()){ WARNX(_("Can't start exposition")); continue; }
|
||||||
capture_status cs;
|
capture_status cs;
|
||||||
DBG("Poll");
|
TIMESTAMP("Poll");
|
||||||
while(!camera->pollcapture(&cs, NULL)){
|
while(!camera->pollcapture(&cs, NULL)){
|
||||||
usleep(10000);
|
usleep(10000);
|
||||||
if(!camera) goto eof;
|
if(!camera) return NULL;
|
||||||
}
|
}
|
||||||
DBG("get");
|
TIMESTAMP("get");
|
||||||
if(!camera->capture(ima)){ WARNX(_("Can't grab image")); goto eof; }
|
if(!camera->capture(ima)){ WARNX(_("Can't grab image")); continue; }
|
||||||
calculate_stat(ima);
|
//calculate_stat(ima);
|
||||||
retval = TRUE;
|
TIMESTAMP("OK");
|
||||||
DBG("OK");
|
++grabno;
|
||||||
eof:
|
}while(1);
|
||||||
grabends = 1;
|
|
||||||
pthread_exit((void*)&retval);
|
|
||||||
DBG("EXIT");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -861,7 +867,8 @@ int ccdcaptured(IMG **imgptr){
|
|||||||
if(imgptr == (void*)-1){ // kill `grabnext`
|
if(imgptr == (void*)-1){ // kill `grabnext`
|
||||||
DBG("Wait for grabbing thread ends");
|
DBG("Wait for grabbing thread ends");
|
||||||
if(grabthread){
|
if(grabthread){
|
||||||
//pthread_cancel(grabthread); - this kills some cameras
|
exitgrab = TRUE;
|
||||||
|
//pthread_cancel(grabthread); // this kills some cameras
|
||||||
//pthread_timedjoin_np
|
//pthread_timedjoin_np
|
||||||
pthread_join(grabthread, NULL);
|
pthread_join(grabthread, NULL);
|
||||||
grabthread = 0;
|
grabthread = 0;
|
||||||
@ -884,26 +891,30 @@ int ccdcaptured(IMG **imgptr){
|
|||||||
}else ima = *imgptr;
|
}else ima = *imgptr;
|
||||||
|
|
||||||
if(!grabthread){ // start new grab
|
if(!grabthread){ // start new grab
|
||||||
DBG("\n\n\nStart new grab");
|
TIMESTAMP("Start new grab");
|
||||||
|
TIMEINIT();
|
||||||
if(pthread_create(&grabthread, NULL, &grabnext, (void*)ima)){
|
if(pthread_create(&grabthread, NULL, &grabnext, (void*)ima)){
|
||||||
WARN("Can't create grabbing thread");
|
WARN("Can't create grabbing thread");
|
||||||
grabthread = 0;
|
grabthread = 0;
|
||||||
}
|
}
|
||||||
tlast = dtime();
|
tlast = dtime();
|
||||||
}else{ // grab in process
|
}else{ // grab in process
|
||||||
if(grabends){ // thread is dead
|
if(grabno != lastgrabno){ // done
|
||||||
DBG("Grab ends");
|
lastgrabno = grabno;
|
||||||
void *vr;
|
TIMESTAMP("Grab ends");
|
||||||
pthread_join(grabthread, &vr);
|
//void *vr;
|
||||||
int retcode = *(int*)vr;
|
//pthread_join(grabthread, &vr);
|
||||||
DBG("retcode = %d", retcode);
|
//int retcode = *(int*)vr;
|
||||||
grabthread = 0;
|
//DBG("retcode = %d", retcode);
|
||||||
|
//grabthread = 0;
|
||||||
if(GP->verbose > 1){
|
if(GP->verbose > 1){
|
||||||
double t = dtime();
|
double t = dtime();
|
||||||
green("Framerate=%.2g\n", 1./(t-tlast));
|
green("Framerate=%.2g (%g seconds for exp)\n", 1./(t-tlast), t-tlast);
|
||||||
tlast = t;
|
tlast = t;
|
||||||
}
|
}
|
||||||
if(retcode) return TRUE;
|
//TIMESTAMP("Framerate");
|
||||||
|
//if(retcode)
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|||||||
37
client.c
37
client.c
@ -41,7 +41,7 @@ static int xc0,yc0,xc1,yc1; // current format
|
|||||||
|
|
||||||
#ifdef IMAGEVIEW
|
#ifdef IMAGEVIEW
|
||||||
static IMG ima = {0};
|
static IMG ima = {0};
|
||||||
static volatile atomic_int grabends = 0;
|
static volatile atomic_int grabno = 0, oldgrabno = 0;
|
||||||
static int imdatalen = 0, imbufsz = 0;
|
static int imdatalen = 0, imbufsz = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -74,6 +74,7 @@ static char *readmsg(int fd){
|
|||||||
// parser of CCD server messages; return TRUE to exit from polling cycle of `getans` (if receive 'FAIL', 'OK' or 'BUSY')
|
// parser of CCD server messages; return TRUE to exit from polling cycle of `getans` (if receive 'FAIL', 'OK' or 'BUSY')
|
||||||
static int parseans(char *ans){
|
static int parseans(char *ans){
|
||||||
if(!ans) return FALSE;
|
if(!ans) return FALSE;
|
||||||
|
TIMESTAMP("parseans() begin");
|
||||||
//DBG("Parsing of '%s'", ans);
|
//DBG("Parsing of '%s'", ans);
|
||||||
if(0 == strcmp(hresult2str(RESULT_BUSY), ans)){
|
if(0 == strcmp(hresult2str(RESULT_BUSY), ans)){
|
||||||
WARNX("Server busy");
|
WARNX("Server busy");
|
||||||
@ -103,6 +104,7 @@ static int parseans(char *ans){
|
|||||||
imdatalen = ima.w * ima.h * 2;
|
imdatalen = ima.w * ima.h * 2;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
TIMESTAMP("parseans() end");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -119,7 +121,7 @@ static int getans(int sock, const char *msg){
|
|||||||
}
|
}
|
||||||
t0 = dtime();
|
t0 = dtime();
|
||||||
ans = s;
|
ans = s;
|
||||||
DBG("Got from server: %s", ans);
|
TIMESTAMP("Got from server: %s", ans);
|
||||||
verbose(1, "\t%s", ans);
|
verbose(1, "\t%s", ans);
|
||||||
if(parseans(ans)){
|
if(parseans(ans)){
|
||||||
if(msg && strncmp(ans, msg, strlen(msg))) continue;
|
if(msg && strncmp(ans, msg, strlen(msg))) continue;
|
||||||
@ -297,6 +299,7 @@ void init_grab_sock(int sock){
|
|||||||
static void getimage(){
|
static void getimage(){
|
||||||
FNAME();
|
FNAME();
|
||||||
int sock = controlfd;
|
int sock = controlfd;
|
||||||
|
TIMESTAMP("Get image sizes");
|
||||||
SENDMSG(CMD_IMWIDTH);
|
SENDMSG(CMD_IMWIDTH);
|
||||||
SENDMSG(CMD_IMHEIGHT);
|
SENDMSG(CMD_IMHEIGHT);
|
||||||
int imsock = open_socket(FALSE, GP->imageport, TRUE);
|
int imsock = open_socket(FALSE, GP->imageport, TRUE);
|
||||||
@ -310,6 +313,7 @@ static void getimage(){
|
|||||||
int got = 0;
|
int got = 0;
|
||||||
while(dtime() - t0 < CLIENT_TIMEOUT){
|
while(dtime() - t0 < CLIENT_TIMEOUT){
|
||||||
if(!canberead(imsock)) continue;
|
if(!canberead(imsock)) continue;
|
||||||
|
TIMESTAMP("Read data");
|
||||||
uint8_t *target = ((uint8_t*)ima.data)+got;
|
uint8_t *target = ((uint8_t*)ima.data)+got;
|
||||||
int rd = read(imsock, target, imdatalen - got);
|
int rd = read(imsock, target, imdatalen - got);
|
||||||
if(rd <= 0){
|
if(rd <= 0){
|
||||||
@ -320,12 +324,12 @@ static void getimage(){
|
|||||||
DBG("Read %d bytes; total read %d from %d; first: %x %x %x %x", rd, got, imdatalen, target[0],
|
DBG("Read %d bytes; total read %d from %d; first: %x %x %x %x", rd, got, imdatalen, target[0],
|
||||||
target[1], target[2], target[3]);
|
target[1], target[2], target[3]);
|
||||||
if(got == imdatalen){
|
if(got == imdatalen){
|
||||||
DBG("Got image");
|
|
||||||
grabends = 1;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(dtime() - t0 > CLIENT_TIMEOUT) WARNX("Timeout, image didn't received");
|
if(dtime() - t0 > CLIENT_TIMEOUT) WARNX("Timeout, image didn't received");
|
||||||
|
TIMESTAMP("Got image");
|
||||||
|
++grabno;
|
||||||
close(imsock);
|
close(imsock);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -334,10 +338,9 @@ static void *grabnext(void _U_ *arg){ // daemon grabbing images through the net
|
|||||||
if(controlfd < 0) return NULL;
|
if(controlfd < 0) return NULL;
|
||||||
int sock = controlfd;
|
int sock = controlfd;
|
||||||
while(1){
|
while(1){
|
||||||
DBG("WAIT");
|
|
||||||
while(grabends); // wait until image processed
|
|
||||||
expstate = CAMERA_CAPTURE;
|
expstate = CAMERA_CAPTURE;
|
||||||
DBG("CAPT");
|
TIMESTAMP("End of cycle, start new");
|
||||||
|
TIMEINIT();
|
||||||
SENDMSG(CMD_EXPSTATE "=%d", CAMERA_CAPTURE); // start capture
|
SENDMSG(CMD_EXPSTATE "=%d", CAMERA_CAPTURE); // start capture
|
||||||
double timeout = GP->exptime + CLIENT_TIMEOUT, t0 = dtime();
|
double timeout = GP->exptime + CLIENT_TIMEOUT, t0 = dtime();
|
||||||
useconds_t sleept = 500000; // 0.5s
|
useconds_t sleept = 500000; // 0.5s
|
||||||
@ -346,18 +349,18 @@ static void *grabnext(void _U_ *arg){ // daemon grabbing images through the net
|
|||||||
if(sleept < 1000) sleept = 1000;
|
if(sleept < 1000) sleept = 1000;
|
||||||
}
|
}
|
||||||
while(dtime() - t0 < timeout){
|
while(dtime() - t0 < timeout){
|
||||||
DBG("SLEEP!");
|
TIMESTAMP("Wait for exposition ends");
|
||||||
usleep(sleept);
|
usleep(sleept);
|
||||||
//SENDMSG(CMD_EXPSTATE);
|
TIMESTAMP("check answer");
|
||||||
getans(sock, NULL);
|
getans(sock, NULL);
|
||||||
DBG("EXPSTATE ===> %d", expstate);
|
TIMESTAMP("EXPSTATE ===> %d", expstate);
|
||||||
if(expstate != CAMERA_CAPTURE) break;
|
if(expstate != CAMERA_CAPTURE) break;
|
||||||
}
|
}
|
||||||
if(dtime() - t0 >= timeout || expstate != CAMERA_FRAMERDY){
|
if(dtime() - t0 >= timeout || expstate != CAMERA_FRAMERDY){
|
||||||
WARNX("Image wasn't received");
|
WARNX("Image wasn't received");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
DBG("Frame ready");
|
TIMESTAMP("Frame ready");
|
||||||
getimage();
|
getimage();
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -368,13 +371,13 @@ static void *waitimage(void _U_ *arg){ // passive waiting for next image
|
|||||||
if(controlfd < 0) return NULL;
|
if(controlfd < 0) return NULL;
|
||||||
int sock = controlfd;
|
int sock = controlfd;
|
||||||
while(1){
|
while(1){
|
||||||
while(grabends); // wait until image processed
|
|
||||||
getans(sock, NULL);
|
getans(sock, NULL);
|
||||||
if(expstate != CAMERA_FRAMERDY){
|
if(expstate != CAMERA_FRAMERDY){
|
||||||
usleep(1000);
|
usleep(1000);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
DBG("Image can be downloaded");
|
TIMESTAMP("End of cycle, start new");
|
||||||
|
TIMEINIT();
|
||||||
getimage();
|
getimage();
|
||||||
expstate = CAMERA_IDLE;
|
expstate = CAMERA_IDLE;
|
||||||
}
|
}
|
||||||
@ -398,12 +401,14 @@ int sockcaptured(IMG **imgptr){
|
|||||||
}
|
}
|
||||||
if(!grabthread || pthread_kill(grabthread, 0)){ // start new grab
|
if(!grabthread || pthread_kill(grabthread, 0)){ // start new grab
|
||||||
if(GP->viewer){
|
if(GP->viewer){
|
||||||
|
TIMEINIT();
|
||||||
DBG("\n\n\nStart new waiting");
|
DBG("\n\n\nStart new waiting");
|
||||||
if(pthread_create(&grabthread, NULL, &waitimage, NULL)){
|
if(pthread_create(&grabthread, NULL, &waitimage, NULL)){
|
||||||
WARN("Can't create waiting thread");
|
WARN("Can't create waiting thread");
|
||||||
grabthread = 0;
|
grabthread = 0;
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
|
TIMEINIT();
|
||||||
DBG("\n\n\nStart new grab");
|
DBG("\n\n\nStart new grab");
|
||||||
if(pthread_create(&grabthread, NULL, &grabnext, NULL)){
|
if(pthread_create(&grabthread, NULL, &grabnext, NULL)){
|
||||||
WARN("Can't create grabbing thread");
|
WARN("Can't create grabbing thread");
|
||||||
@ -411,11 +416,11 @@ int sockcaptured(IMG **imgptr){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else{ // grab in process
|
}else{ // grab in process
|
||||||
if(grabends){ // image is ready
|
if(grabno != oldgrabno){ // image is ready
|
||||||
DBG("Image ready");
|
TIMESTAMP("Image ready");
|
||||||
if(*imgptr && (*imgptr != &ima)) free(*imgptr);
|
if(*imgptr && (*imgptr != &ima)) free(*imgptr);
|
||||||
*imgptr = &ima;
|
*imgptr = &ima;
|
||||||
grabends = 0;
|
oldgrabno = grabno;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -28,6 +28,7 @@
|
|||||||
#include "imageview.h"
|
#include "imageview.h"
|
||||||
#include "events.h"
|
#include "events.h"
|
||||||
#include "omp.h"
|
#include "omp.h"
|
||||||
|
//#include "socket.h" // for timestamp
|
||||||
|
|
||||||
windowData *win = NULL; // main window (common variable for events.c)
|
windowData *win = NULL; // main window (common variable for events.c)
|
||||||
static pthread_t GLUTthread = 0; // main GLUT thread
|
static pthread_t GLUTthread = 0; // main GLUT thread
|
||||||
@ -557,8 +558,10 @@ int viewer(imagefunc newimage){
|
|||||||
}
|
}
|
||||||
if((win->winevt & WINEVT_GETIMAGE) || !(win->winevt & WINEVT_PAUSE)){
|
if((win->winevt & WINEVT_GETIMAGE) || !(win->winevt & WINEVT_PAUSE)){
|
||||||
if(newimage(&img)){
|
if(newimage(&img)){
|
||||||
|
//TIMESTAMP("got image -> change");
|
||||||
win->winevt &= ~WINEVT_GETIMAGE;
|
win->winevt &= ~WINEVT_GETIMAGE;
|
||||||
change_displayed_image(img); // change image if refreshed
|
change_displayed_image(img); // change image if refreshed
|
||||||
|
//TIMESTAMP("changed");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(!win->winevt){
|
if(!win->winevt){
|
||||||
|
|||||||
@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-04-05 18:17+0300\n"
|
"POT-Creation-Date: 2023-04-06 15:51+0300\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@ -253,346 +253,346 @@ msgstr ""
|
|||||||
msgid "Display image in OpenGL window"
|
msgid "Display image in OpenGL window"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:64
|
#: ccdfunc.c:65
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't find plugin %s: %s"
|
msgid "Can't find plugin %s: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:76
|
#: ccdfunc.c:77
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't find focuser in plugin %s: %s"
|
msgid "Can't find focuser in plugin %s: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:87
|
#: ccdfunc.c:88
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't find camera in plugin %s: %s"
|
msgid "Can't find camera in plugin %s: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:98
|
#: ccdfunc.c:99
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't find wheel in plugin %s: %s"
|
msgid "Can't find wheel in plugin %s: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:184
|
#: ccdfunc.c:185
|
||||||
msgid "Camera device unknown"
|
msgid "Camera device unknown"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Не могу сохранить файл
|
#. Не могу сохранить файл
|
||||||
#: ccdfunc.c:208
|
#: ccdfunc.c:209
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't save file with prefix %s"
|
msgid "Can't save file with prefix %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:356
|
#: ccdfunc.c:357
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "File saved as '%s'"
|
msgid "File saved as '%s'"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:365
|
#: ccdfunc.c:366
|
||||||
msgid "Error saving file"
|
msgid "Error saving file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:405
|
#: ccdfunc.c:406
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Image stat:\n"
|
msgid "Image stat:\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:413
|
#: ccdfunc.c:414
|
||||||
msgid "Focuser device not pointed"
|
msgid "Focuser device not pointed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:420
|
#: ccdfunc.c:421
|
||||||
msgid "No focusers found"
|
msgid "No focusers found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:451
|
#: ccdfunc.c:452
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Found %d focusers, you point number %d"
|
msgid "Found %d focusers, you point number %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:455
|
#: ccdfunc.c:456
|
||||||
msgid "Can't set active focuser number"
|
msgid "Can't set active focuser number"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:469
|
#: ccdfunc.c:470
|
||||||
msgid "Can't get focuser limit positions"
|
msgid "Can't get focuser limit positions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:476
|
#: ccdfunc.c:477
|
||||||
msgid "Can't get current focuser position"
|
msgid "Can't get current focuser position"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:490
|
#: ccdfunc.c:491
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't set position %g: out of limits [%g, %g]"
|
msgid "Can't set position %g: out of limits [%g, %g]"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:494
|
#: ccdfunc.c:495
|
||||||
msgid "Can't home focuser"
|
msgid "Can't home focuser"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:496
|
#: ccdfunc.c:497
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't set position %g"
|
msgid "Can't set position %g"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:504
|
#: ccdfunc.c:505
|
||||||
msgid "Wheel device not pointed"
|
msgid "Wheel device not pointed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:511
|
#: ccdfunc.c:512
|
||||||
msgid "No wheels found"
|
msgid "No wheels found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:542
|
#: ccdfunc.c:543
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Found %d wheels, you point number %d"
|
msgid "Found %d wheels, you point number %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:546
|
#: ccdfunc.c:547
|
||||||
msgid "Can't set active wheel number"
|
msgid "Can't set active wheel number"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:562
|
#: ccdfunc.c:563
|
||||||
msgid "Can't get max wheel position"
|
msgid "Can't get max wheel position"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:569
|
#: ccdfunc.c:570
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Wheel position should be from 0 to %d"
|
msgid "Wheel position should be from 0 to %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:573
|
#: ccdfunc.c:574
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't set wheel position %d"
|
msgid "Can't set wheel position %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:590
|
#: ccdfunc.c:591
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%.1f seconds till exposition ends"
|
msgid "%.1f seconds till exposition ends"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:605
|
#: ccdfunc.c:606
|
||||||
msgid "Camera device not pointed"
|
msgid "Camera device not pointed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:612 ccdfunc.c:613
|
#: ccdfunc.c:613 ccdfunc.c:614
|
||||||
msgid "No cameras found"
|
msgid "No cameras found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:643
|
#: ccdfunc.c:644
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Found %d cameras, you point number %d"
|
msgid "Found %d cameras, you point number %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:647
|
#: ccdfunc.c:648
|
||||||
msgid "Can't set active camera number"
|
msgid "Can't set active camera number"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:653
|
#: ccdfunc.c:654
|
||||||
msgid "Can't set fan speed"
|
msgid "Can't set fan speed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:654
|
#: ccdfunc.c:655
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Set fan speed to %d"
|
msgid "Set fan speed to %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:659
|
#: ccdfunc.c:660
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Camera model: %s"
|
msgid "Camera model: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:660
|
#: ccdfunc.c:661
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Pixel size: %g x %g"
|
msgid "Pixel size: %g x %g"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:666
|
#: ccdfunc.c:667
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Full array: %s"
|
msgid "Full array: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:669
|
#: ccdfunc.c:670
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Field of view: %s"
|
msgid "Field of view: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:672
|
#: ccdfunc.c:673
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Current format: %s"
|
msgid "Current format: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:675
|
#: ccdfunc.c:676
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't set T to %g degC"
|
msgid "Can't set T to %g degC"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:683
|
#: ccdfunc.c:684
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Shutter command: %s\n"
|
msgid "Shutter command: %s\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:685
|
#: ccdfunc.c:686
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't run shutter command %s (unsupported?)"
|
msgid "Can't run shutter command %s (unsupported?)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. "Попытка сконфигурировать порт I/O как %d\n"
|
#. "Попытка сконфигурировать порт I/O как %d\n"
|
||||||
#: ccdfunc.c:689
|
#: ccdfunc.c:690
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Try to configure I/O port as %d"
|
msgid "Try to configure I/O port as %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:691
|
#: ccdfunc.c:692
|
||||||
msgid "Can't configure (unsupported?)"
|
msgid "Can't configure (unsupported?)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:698
|
#: ccdfunc.c:699
|
||||||
msgid "Can't get IOport state (unsupported?)"
|
msgid "Can't get IOport state (unsupported?)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. "Попытка записи %d в порт I/O\n"
|
#. "Попытка записи %d в порт I/O\n"
|
||||||
#: ccdfunc.c:702
|
#: ccdfunc.c:703
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Try to write %d to I/O port"
|
msgid "Try to write %d to I/O port"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:704
|
#: ccdfunc.c:705
|
||||||
msgid "Can't set IOport"
|
msgid "Can't set IOport"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:711
|
|
||||||
#, c-format
|
|
||||||
msgid "Set gain to %g"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ccdfunc.c:712
|
#: ccdfunc.c:712
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't set gain to %g"
|
msgid "Set gain to %g"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:717
|
#: ccdfunc.c:713
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Set brightness to %g"
|
msgid "Can't set gain to %g"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:718
|
#: ccdfunc.c:718
|
||||||
#, c-format
|
#, c-format
|
||||||
|
msgid "Set brightness to %g"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ccdfunc.c:719
|
||||||
|
#, c-format
|
||||||
msgid "Can't set brightness to %g"
|
msgid "Can't set brightness to %g"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:724 server.c:227
|
#: ccdfunc.c:725 server.c:234
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't set binning %dx%d"
|
msgid "Can't set binning %dx%d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:736 server.c:228
|
#: ccdfunc.c:737 server.c:235
|
||||||
msgid "Can't set given geometry"
|
msgid "Can't set given geometry"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:740
|
#: ccdfunc.c:741
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't set %d flushes"
|
msgid "Can't set %d flushes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:744
|
#: ccdfunc.c:745
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't set exposure time to %f seconds"
|
msgid "Can't set exposure time to %f seconds"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:747
|
#: ccdfunc.c:748
|
||||||
msgid "Can't change frame type"
|
msgid "Can't change frame type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:750
|
#: ccdfunc.c:751
|
||||||
msgid "Can't set bit depth"
|
msgid "Can't set bit depth"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:752
|
#: ccdfunc.c:753
|
||||||
msgid "Can't set readout speed"
|
msgid "Can't set readout speed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:753
|
#: ccdfunc.c:754
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Readout mode: %s"
|
msgid "Readout mode: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:754
|
#: ccdfunc.c:755
|
||||||
msgid "Only show statistics"
|
msgid "Only show statistics"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. GET binning should be AFTER setgeometry!
|
#. GET binning should be AFTER setgeometry!
|
||||||
#: ccdfunc.c:756
|
#: ccdfunc.c:757
|
||||||
msgid "Can't get current binning"
|
msgid "Can't get current binning"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Захват кадра %d\n
|
#. Захват кадра %d\n
|
||||||
#: ccdfunc.c:778
|
#: ccdfunc.c:781
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Capture frame %d"
|
msgid "Capture frame %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:780 ccdfunc.c:832 server.c:122
|
#: ccdfunc.c:783 ccdfunc.c:841 server.c:122
|
||||||
msgid "Can't start exposition"
|
msgid "Can't start exposition"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:784
|
#: ccdfunc.c:788
|
||||||
msgid "Can't capture image"
|
msgid "Can't capture image"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:787
|
#: ccdfunc.c:791
|
||||||
msgid "Read grabbed image"
|
msgid "Read grabbed image"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ccdfunc.c:790 ccdfunc.c:840
|
#: ccdfunc.c:795 ccdfunc.c:849
|
||||||
msgid "Can't grab image"
|
msgid "Can't grab image"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. %d секунд до окончания паузы\n
|
#. %d секунд до окончания паузы\n
|
||||||
#: ccdfunc.c:799 client.c:269
|
#: ccdfunc.c:807 client.c:271
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d seconds till pause ends\n"
|
msgid "%d seconds till pause ends\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: server.c:165
|
#: server.c:170
|
||||||
msgid "No camera device"
|
msgid "No camera device"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: client.c:256
|
#: client.c:258
|
||||||
msgid "Can't make exposition"
|
msgid "Can't make exposition"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: client.c:285
|
#: client.c:287
|
||||||
msgid "Server timeout"
|
msgid "Server timeout"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: imageview.c:50
|
#: imageview.c:51
|
||||||
msgid "Already initialized!"
|
msgid "Already initialized!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: imageview.c:286
|
#: imageview.c:287
|
||||||
msgid "Can't init mutex!"
|
msgid "Can't init mutex!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: imageview.c:388
|
#: imageview.c:389
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Histogram conversion: %s"
|
msgid "Histogram conversion: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: imageview.c:508 imageview.c:581
|
#: imageview.c:509 imageview.c:584
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Equalization of histogram: %s"
|
msgid "Equalization of histogram: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: imageview.c:508 imageview.c:581
|
#: imageview.c:509 imageview.c:584
|
||||||
msgid "on"
|
msgid "on"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: imageview.c:508 imageview.c:581
|
#: imageview.c:509 imageview.c:584
|
||||||
msgid "off"
|
msgid "off"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: imageview.c:547
|
#: imageview.c:548
|
||||||
msgid "Can't open OpenGL window, image preview will be inaccessible"
|
msgid "Can't open OpenGL window, image preview will be inaccessible"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|||||||
152
locale/ru/ru.po
152
locale/ru/ru.po
@ -7,7 +7,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr "Project-Id-Version: PACKAGE VERSION\n"
|
msgstr "Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-04-05 18:17+0300\n"
|
"POT-Creation-Date: 2023-04-06 15:49+0300\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@ -16,18 +16,18 @@ msgstr "Project-Id-Version: PACKAGE VERSION\n"
|
|||||||
"Content-Type: text/plain; charset=koi8-r\n"
|
"Content-Type: text/plain; charset=koi8-r\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
#: ccdfunc.c:590
|
#: ccdfunc.c:591
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%.1f seconds till exposition ends"
|
msgid "%.1f seconds till exposition ends"
|
||||||
msgstr "%.1f ÓÅËÕÎÄ ÄÏ ÏËÏÎÞÁÎÉÑ ÜËÓÐÏÚÉÃÉÉ"
|
msgstr "%.1f ÓÅËÕÎÄ ÄÏ ÏËÏÎÞÁÎÉÑ ÜËÓÐÏÚÉÃÉÉ"
|
||||||
|
|
||||||
#. %d Ñ<>екунд до окончаниÑ<C2B8> паузы\n
|
#. %d Ñ<>екунд до окончаниÑ<C2B8> паузы\n
|
||||||
#: ccdfunc.c:799 client.c:269
|
#: ccdfunc.c:807 client.c:271
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d seconds till pause ends\n"
|
msgid "%d seconds till pause ends\n"
|
||||||
msgstr "%d ÓÅËÕÎÄ ÄÏ ÏËÏÎÞÁÎÉÑ ÐÁÕÚÙ\n"
|
msgstr "%d ÓÅËÕÎÄ ÄÏ ÏËÏÎÞÁÎÉÑ ÐÁÕÚÙ\n"
|
||||||
|
|
||||||
#: imageview.c:50
|
#: imageview.c:51
|
||||||
msgid "Already initialized!"
|
msgid "Already initialized!"
|
||||||
msgstr "õÖÅ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎÏ!"
|
msgstr "õÖÅ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎÏ!"
|
||||||
|
|
||||||
@ -39,191 +39,191 @@ msgstr "
|
|||||||
msgid "CMOS gain level"
|
msgid "CMOS gain level"
|
||||||
msgstr "ÕÒÏ×ÅÎØ Gain CMOS"
|
msgstr "ÕÒÏ×ÅÎØ Gain CMOS"
|
||||||
|
|
||||||
#: ccdfunc.c:605
|
#: ccdfunc.c:606
|
||||||
msgid "Camera device not pointed"
|
msgid "Camera device not pointed"
|
||||||
msgstr "õÓÔÒÏÊÓÔ×Ï Ó×ÅÏÐÒÉÅÍÎÉËÁ ÎÅ ÐÏÄËÌÀÞÅÎÏ"
|
msgstr "õÓÔÒÏÊÓÔ×Ï Ó×ÅÏÐÒÉÅÍÎÉËÁ ÎÅ ÐÏÄËÌÀÞÅÎÏ"
|
||||||
|
|
||||||
#: ccdfunc.c:184
|
#: ccdfunc.c:185
|
||||||
msgid "Camera device unknown"
|
msgid "Camera device unknown"
|
||||||
msgstr "õÓÔÒÏÊÓÔ×Ï Ó×ÅÏÐÒÉÅÍÎÉËÁ ÎÅ ÏÐÏÚÎÁÎÏ"
|
msgstr "õÓÔÒÏÊÓÔ×Ï Ó×ÅÏÐÒÉÅÍÎÉËÁ ÎÅ ÏÐÏÚÎÁÎÏ"
|
||||||
|
|
||||||
#: ccdfunc.c:659
|
#: ccdfunc.c:660
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Camera model: %s"
|
msgid "Camera model: %s"
|
||||||
msgstr "íÏÄÅÌØ Ó×ÅÔÏÐÒÉÅÍÎÉËÁ: %s"
|
msgstr "íÏÄÅÌØ Ó×ÅÔÏÐÒÉÅÍÎÉËÁ: %s"
|
||||||
|
|
||||||
#: ccdfunc.c:784
|
#: ccdfunc.c:788
|
||||||
msgid "Can't capture image"
|
msgid "Can't capture image"
|
||||||
msgstr "îÅ ÍÏÇÕ ÚÁÈ×ÁÔÉÔØ ÉÚÏÂÒÁÖÅÎÉÅ"
|
msgstr "îÅ ÍÏÇÕ ÚÁÈ×ÁÔÉÔØ ÉÚÏÂÒÁÖÅÎÉÅ"
|
||||||
|
|
||||||
#: ccdfunc.c:747
|
#: ccdfunc.c:748
|
||||||
msgid "Can't change frame type"
|
msgid "Can't change frame type"
|
||||||
msgstr "îÅ ÍÏÇÕ ÉÚÍÅÎÉÔØ ÔÉÐ ËÁÄÒÁ"
|
msgstr "îÅ ÍÏÇÕ ÉÚÍÅÎÉÔØ ÔÉÐ ËÁÄÒÁ"
|
||||||
|
|
||||||
#: ccdfunc.c:691
|
#: ccdfunc.c:692
|
||||||
msgid "Can't configure (unsupported?)"
|
msgid "Can't configure (unsupported?)"
|
||||||
msgstr "îÅ ÍÏÇÕ ÓËÏÎÆÉÇÕÒÉÒÏ×ÁÔØ (ÏÐÃÉÑ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ?)"
|
msgstr "îÅ ÍÏÇÕ ÓËÏÎÆÉÇÕÒÉÒÏ×ÁÔØ (ÏÐÃÉÑ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ?)"
|
||||||
|
|
||||||
#: ccdfunc.c:87
|
#: ccdfunc.c:88
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't find camera in plugin %s: %s"
|
msgid "Can't find camera in plugin %s: %s"
|
||||||
msgstr "îÅ ÍÏÇÕ ÎÁÊÔÉ ÐÌÁÇÉÎ ËÁÍÅÒÙ %s: %s"
|
msgstr "îÅ ÍÏÇÕ ÎÁÊÔÉ ÐÌÁÇÉÎ ËÁÍÅÒÙ %s: %s"
|
||||||
|
|
||||||
#: ccdfunc.c:76
|
#: ccdfunc.c:77
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't find focuser in plugin %s: %s"
|
msgid "Can't find focuser in plugin %s: %s"
|
||||||
msgstr "îÅ ÍÏÇÕ ÎÁÊÔÉ ÐÌÁÇÉÎ ÆÏËÕÓÅÒÁ %s: %s"
|
msgstr "îÅ ÍÏÇÕ ÎÁÊÔÉ ÐÌÁÇÉÎ ÆÏËÕÓÅÒÁ %s: %s"
|
||||||
|
|
||||||
#: ccdfunc.c:64
|
#: ccdfunc.c:65
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't find plugin %s: %s"
|
msgid "Can't find plugin %s: %s"
|
||||||
msgstr "îÅ ÍÏÇÕ ÎÁÊÔÉ ÐÌÁÇÉÎ %s: %s"
|
msgstr "îÅ ÍÏÇÕ ÎÁÊÔÉ ÐÌÁÇÉÎ %s: %s"
|
||||||
|
|
||||||
#: ccdfunc.c:98
|
#: ccdfunc.c:99
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't find wheel in plugin %s: %s"
|
msgid "Can't find wheel in plugin %s: %s"
|
||||||
msgstr "îÅ ÍÏÇÕ ÎÁÊÔÉ ÐÌÁÇÉÎ ÔÕÒÅÌÉ %s: %s"
|
msgstr "îÅ ÍÏÇÕ ÎÁÊÔÉ ÐÌÁÇÉÎ ÔÕÒÅÌÉ %s: %s"
|
||||||
|
|
||||||
#: ccdfunc.c:698
|
#: ccdfunc.c:699
|
||||||
msgid "Can't get IOport state (unsupported?)"
|
msgid "Can't get IOport state (unsupported?)"
|
||||||
msgstr "îÅ ÍÏÇÕ ÐÏÌÕÞÉÔØ ÓÏÓÔÏÑÎÉÅ ÐÏÒÔÁ I/O (ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ?)"
|
msgstr "îÅ ÍÏÇÕ ÐÏÌÕÞÉÔØ ÓÏÓÔÏÑÎÉÅ ÐÏÒÔÁ I/O (ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ?)"
|
||||||
|
|
||||||
#. GET binning should be AFTER setgeometry!
|
#. GET binning should be AFTER setgeometry!
|
||||||
#: ccdfunc.c:756
|
#: ccdfunc.c:757
|
||||||
msgid "Can't get current binning"
|
msgid "Can't get current binning"
|
||||||
msgstr "îÅ ÍÏÇÕ ÐÏÌÕÞÉÔØ ÔÅËÕÝÅÅ ÚÎÁÞÅÎÉÅ ÂÉÎÎÉÎÇÁ"
|
msgstr "îÅ ÍÏÇÕ ÐÏÌÕÞÉÔØ ÔÅËÕÝÅÅ ÚÎÁÞÅÎÉÅ ÂÉÎÎÉÎÇÁ"
|
||||||
|
|
||||||
#: ccdfunc.c:476
|
#: ccdfunc.c:477
|
||||||
msgid "Can't get current focuser position"
|
msgid "Can't get current focuser position"
|
||||||
msgstr "îÅ ÍÏÇÕ ÏÐÒÅÄÅÌÉÔØ ÔÅËÕÝÕÀ ÐÏÚÉÃÉÀ ÆÏËÕÓÅÒÁ"
|
msgstr "îÅ ÍÏÇÕ ÏÐÒÅÄÅÌÉÔØ ÔÅËÕÝÕÀ ÐÏÚÉÃÉÀ ÆÏËÕÓÅÒÁ"
|
||||||
|
|
||||||
#: ccdfunc.c:469
|
#: ccdfunc.c:470
|
||||||
msgid "Can't get focuser limit positions"
|
msgid "Can't get focuser limit positions"
|
||||||
msgstr "îÅ ÍÏÇÕ ÏÐÒÅÄÅÌÉÔØ ÐÒÅÄÅÌØÎÕÀ ÐÏÚÉÃÉÀ ÆÏËÕÓÅÒÁ"
|
msgstr "îÅ ÍÏÇÕ ÏÐÒÅÄÅÌÉÔØ ÐÒÅÄÅÌØÎÕÀ ÐÏÚÉÃÉÀ ÆÏËÕÓÅÒÁ"
|
||||||
|
|
||||||
#: ccdfunc.c:562
|
#: ccdfunc.c:563
|
||||||
msgid "Can't get max wheel position"
|
msgid "Can't get max wheel position"
|
||||||
msgstr "îÅ ÍÏÇÕ ÏÐÒÅÄÅÌÉÔØ ÐÒÅÄÅÌØÎÕÀ ÐÏÚÉÃÉÀ ËÏÌÅÓÁ"
|
msgstr "îÅ ÍÏÇÕ ÏÐÒÅÄÅÌÉÔØ ÐÒÅÄÅÌØÎÕÀ ÐÏÚÉÃÉÀ ËÏÌÅÓÁ"
|
||||||
|
|
||||||
#: ccdfunc.c:790 ccdfunc.c:840
|
#: ccdfunc.c:795 ccdfunc.c:849
|
||||||
msgid "Can't grab image"
|
msgid "Can't grab image"
|
||||||
msgstr "îÅ ÍÏÇÕ ÚÁÈ×ÁÔÉÔØ ÉÚÏÂÒÁÖÅÎÉÅ"
|
msgstr "îÅ ÍÏÇÕ ÚÁÈ×ÁÔÉÔØ ÉÚÏÂÒÁÖÅÎÉÅ"
|
||||||
|
|
||||||
#: ccdfunc.c:494
|
#: ccdfunc.c:495
|
||||||
msgid "Can't home focuser"
|
msgid "Can't home focuser"
|
||||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÆÏËÕÓÅÒ × ÎÕÌØ"
|
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÆÏËÕÓÅÒ × ÎÕÌØ"
|
||||||
|
|
||||||
#: imageview.c:286
|
#: imageview.c:287
|
||||||
msgid "Can't init mutex!"
|
msgid "Can't init mutex!"
|
||||||
msgstr "îÅ ÍÏÇÕ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÔØ ÍØÀÔÅËÓ!"
|
msgstr "îÅ ÍÏÇÕ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÔØ ÍØÀÔÅËÓ!"
|
||||||
|
|
||||||
#: client.c:256
|
#: client.c:258
|
||||||
msgid "Can't make exposition"
|
msgid "Can't make exposition"
|
||||||
msgstr "îÅ ÍÏÇÕ ×ÙÐÏÌÎÉÔØ ÜËÓÐÏÚÉÃÉÀ"
|
msgstr "îÅ ÍÏÇÕ ×ÙÐÏÌÎÉÔØ ÜËÓÐÏÚÉÃÉÀ"
|
||||||
|
|
||||||
#: imageview.c:547
|
#: imageview.c:548
|
||||||
msgid "Can't open OpenGL window, image preview will be inaccessible"
|
msgid "Can't open OpenGL window, image preview will be inaccessible"
|
||||||
msgstr "îÅ ÍÏÇÕ ÏÔËÒÙÔØ ÏËÎÏ OpenGL, ÏÔÏÂÒÁÖÅÎÉÅ ÂÕÄÅÔ ÎÅÄÏÓÔÕÐÎÏ"
|
msgstr "îÅ ÍÏÇÕ ÏÔËÒÙÔØ ÏËÎÏ OpenGL, ÏÔÏÂÒÁÖÅÎÉÅ ÂÕÄÅÔ ÎÅÄÏÓÔÕÐÎÏ"
|
||||||
|
|
||||||
#: ccdfunc.c:685
|
#: ccdfunc.c:686
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't run shutter command %s (unsupported?)"
|
msgid "Can't run shutter command %s (unsupported?)"
|
||||||
msgstr "îÅ ÍÏÇÕ ×ÙÐÏÌÎÉÔØ ËÏÍÁÎÄÕ ÚÁÔ×ÏÒÁ %s (ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ?)"
|
msgstr "îÅ ÍÏÇÕ ×ÙÐÏÌÎÉÔØ ËÏÍÁÎÄÕ ÚÁÔ×ÏÒÁ %s (ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ?)"
|
||||||
|
|
||||||
#. Ð<>е могу Ñ<>охранить файл
|
#. Ð<>е могу Ñ<>охранить файл
|
||||||
#: ccdfunc.c:208
|
#: ccdfunc.c:209
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't save file with prefix %s"
|
msgid "Can't save file with prefix %s"
|
||||||
msgstr "îÅ ÍÏÇÕ ÓÏÈÒÁÎÉÔØ ÆÁÊÌ Ó ÐÒÅÆÉËÓÏÍ %s"
|
msgstr "îÅ ÍÏÇÕ ÓÏÈÒÁÎÉÔØ ÆÁÊÌ Ó ÐÒÅÆÉËÓÏÍ %s"
|
||||||
|
|
||||||
#: ccdfunc.c:740
|
#: ccdfunc.c:741
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't set %d flushes"
|
msgid "Can't set %d flushes"
|
||||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ %d ÓÂÒÏÓÏ×"
|
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ %d ÓÂÒÏÓÏ×"
|
||||||
|
|
||||||
#: ccdfunc.c:704
|
#: ccdfunc.c:705
|
||||||
msgid "Can't set IOport"
|
msgid "Can't set IOport"
|
||||||
msgstr "îÅ ÍÏÇÕ ÐÏÍÅÎÑÔØ ÚÎÁÞÅÎÉÑ ÐÏÒÔÁ I/O"
|
msgstr "îÅ ÍÏÇÕ ÐÏÍÅÎÑÔØ ÚÎÁÞÅÎÉÑ ÐÏÒÔÁ I/O"
|
||||||
|
|
||||||
#: ccdfunc.c:675
|
#: ccdfunc.c:676
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't set T to %g degC"
|
msgid "Can't set T to %g degC"
|
||||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÔÅÍÐÅÒÁÔÕÒÕ × %g ÇÒÁÄã"
|
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÔÅÍÐÅÒÁÔÕÒÕ × %g ÇÒÁÄã"
|
||||||
|
|
||||||
#: ccdfunc.c:647
|
#: ccdfunc.c:648
|
||||||
msgid "Can't set active camera number"
|
msgid "Can't set active camera number"
|
||||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÎÏÍÅÒ ÁËÔÉ×ÎÏÊ ËÁÍÅÒÙ"
|
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÎÏÍÅÒ ÁËÔÉ×ÎÏÊ ËÁÍÅÒÙ"
|
||||||
|
|
||||||
#: ccdfunc.c:455
|
#: ccdfunc.c:456
|
||||||
msgid "Can't set active focuser number"
|
msgid "Can't set active focuser number"
|
||||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÎÏÍÅÒ ÁËÔÉ×ÎÏÇÏ ÆÏËÕÓÅÒÁ"
|
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÎÏÍÅÒ ÁËÔÉ×ÎÏÇÏ ÆÏËÕÓÅÒÁ"
|
||||||
|
|
||||||
#: ccdfunc.c:546
|
#: ccdfunc.c:547
|
||||||
msgid "Can't set active wheel number"
|
msgid "Can't set active wheel number"
|
||||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÎÏÍÅÒ ÁËÔÉ×ÎÏÇÏ ËÏÌÅÓÁ"
|
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÎÏÍÅÒ ÁËÔÉ×ÎÏÇÏ ËÏÌÅÓÁ"
|
||||||
|
|
||||||
#: ccdfunc.c:724 server.c:227
|
#: ccdfunc.c:725 server.c:234
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't set binning %dx%d"
|
msgid "Can't set binning %dx%d"
|
||||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÂÉÎÎÉÎÇ %dx%d"
|
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÂÉÎÎÉÎÇ %dx%d"
|
||||||
|
|
||||||
#: ccdfunc.c:750
|
#: ccdfunc.c:751
|
||||||
msgid "Can't set bit depth"
|
msgid "Can't set bit depth"
|
||||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÒÁÚÒÑÄÎÏÓÔØ áãð"
|
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÒÁÚÒÑÄÎÏÓÔØ áãð"
|
||||||
|
|
||||||
#: ccdfunc.c:718
|
#: ccdfunc.c:719
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't set brightness to %g"
|
msgid "Can't set brightness to %g"
|
||||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÑÒËÏÓÔØ × %g"
|
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÑÒËÏÓÔØ × %g"
|
||||||
|
|
||||||
#: ccdfunc.c:744
|
#: ccdfunc.c:745
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't set exposure time to %f seconds"
|
msgid "Can't set exposure time to %f seconds"
|
||||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÜËÓÐÏÚÉÃÉÀ × %f ÓÅËÕÎÄ"
|
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÜËÓÐÏÚÉÃÉÀ × %f ÓÅËÕÎÄ"
|
||||||
|
|
||||||
#: ccdfunc.c:653
|
#: ccdfunc.c:654
|
||||||
msgid "Can't set fan speed"
|
msgid "Can't set fan speed"
|
||||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÓËÏÒÏÓÔØ ×ÅÎÔÉÌÑÔÏÒÏ×"
|
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÓËÏÒÏÓÔØ ×ÅÎÔÉÌÑÔÏÒÏ×"
|
||||||
|
|
||||||
#: ccdfunc.c:712
|
#: ccdfunc.c:713
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't set gain to %g"
|
msgid "Can't set gain to %g"
|
||||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ Gain × %g"
|
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ Gain × %g"
|
||||||
|
|
||||||
#: ccdfunc.c:736 server.c:228
|
#: ccdfunc.c:737 server.c:235
|
||||||
msgid "Can't set given geometry"
|
msgid "Can't set given geometry"
|
||||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÇÅÏÍÅÔÒÉÀ"
|
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÇÅÏÍÅÔÒÉÀ"
|
||||||
|
|
||||||
#: ccdfunc.c:496
|
#: ccdfunc.c:497
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't set position %g"
|
msgid "Can't set position %g"
|
||||||
msgstr "îÅ ÍÏÇÕ ÉÚÍÅÎÉÔØ ÐÏÚÉÃÉÀ ÎÁ %g"
|
msgstr "îÅ ÍÏÇÕ ÉÚÍÅÎÉÔØ ÐÏÚÉÃÉÀ ÎÁ %g"
|
||||||
|
|
||||||
#: ccdfunc.c:490
|
#: ccdfunc.c:491
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't set position %g: out of limits [%g, %g]"
|
msgid "Can't set position %g: out of limits [%g, %g]"
|
||||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÐÏÚÉÃÉÀ %g: ×ÎÅ ÐÒÅÄÅÌÏ× [%g, %g]"
|
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÐÏÚÉÃÉÀ %g: ×ÎÅ ÐÒÅÄÅÌÏ× [%g, %g]"
|
||||||
|
|
||||||
#: ccdfunc.c:752
|
#: ccdfunc.c:753
|
||||||
msgid "Can't set readout speed"
|
msgid "Can't set readout speed"
|
||||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÓËÏÒÏÓÔØ ÓÞÉÔÙ×ÁÎÉÑ"
|
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÓËÏÒÏÓÔØ ÓÞÉÔÙ×ÁÎÉÑ"
|
||||||
|
|
||||||
#: ccdfunc.c:573
|
#: ccdfunc.c:574
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Can't set wheel position %d"
|
msgid "Can't set wheel position %d"
|
||||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÐÏÌÏÖÅÎÉÅ ËÏÌÅÓÁ %d"
|
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÐÏÌÏÖÅÎÉÅ ËÏÌÅÓÁ %d"
|
||||||
|
|
||||||
#: ccdfunc.c:780 ccdfunc.c:832 server.c:122
|
#: ccdfunc.c:783 ccdfunc.c:841 server.c:122
|
||||||
msgid "Can't start exposition"
|
msgid "Can't start exposition"
|
||||||
msgstr "îÅ ÍÏÇÕ ÎÁÞÁÔØ ÜËÓÐÏÚÉÃÉÀ"
|
msgstr "îÅ ÍÏÇÕ ÎÁÞÁÔØ ÜËÓÐÏÚÉÃÉÀ"
|
||||||
|
|
||||||
#. Захват кадра %d\n
|
#. Захват кадра %d\n
|
||||||
#: ccdfunc.c:778
|
#: ccdfunc.c:781
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Capture frame %d"
|
msgid "Capture frame %d"
|
||||||
msgstr "úÁÈ×ÁÔ ËÁÄÒÁ %d"
|
msgstr "úÁÈ×ÁÔ ËÁÄÒÁ %d"
|
||||||
|
|
||||||
#: ccdfunc.c:672
|
#: ccdfunc.c:673
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Current format: %s"
|
msgid "Current format: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -232,55 +232,55 @@ msgstr ""
|
|||||||
msgid "Display image in OpenGL window"
|
msgid "Display image in OpenGL window"
|
||||||
msgstr "ïÔÏÂÒÁÖÅÎÉÅ ÉÚÏÂÒÁÖÅÎÉÑ × ÏËÎÅ OpenGL"
|
msgstr "ïÔÏÂÒÁÖÅÎÉÅ ÉÚÏÂÒÁÖÅÎÉÑ × ÏËÎÅ OpenGL"
|
||||||
|
|
||||||
#: imageview.c:508 imageview.c:581
|
#: imageview.c:509 imageview.c:584
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Equalization of histogram: %s"
|
msgid "Equalization of histogram: %s"
|
||||||
msgstr "üË×ÁÌÉÚÁÃÉÑ ÇÉÓÔÏÇÒÁÍÍÙ: %s"
|
msgstr "üË×ÁÌÉÚÁÃÉÑ ÇÉÓÔÏÇÒÁÍÍÙ: %s"
|
||||||
|
|
||||||
#: ccdfunc.c:365
|
#: ccdfunc.c:366
|
||||||
msgid "Error saving file"
|
msgid "Error saving file"
|
||||||
msgstr "ïÛÉÂËÁ ÓÏÈÒÁÎÅÎÉÑ ÆÁÊÌÁ"
|
msgstr "ïÛÉÂËÁ ÓÏÈÒÁÎÅÎÉÑ ÆÁÊÌÁ"
|
||||||
|
|
||||||
#: ccdfunc.c:669
|
#: ccdfunc.c:670
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Field of view: %s"
|
msgid "Field of view: %s"
|
||||||
msgstr "ðÏÌÅ ÚÒÅÎÉÑ: %s"
|
msgstr "ðÏÌÅ ÚÒÅÎÉÑ: %s"
|
||||||
|
|
||||||
#: ccdfunc.c:356
|
#: ccdfunc.c:357
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "File saved as '%s'"
|
msgid "File saved as '%s'"
|
||||||
msgstr "æÁÊÌ ÓÏÈÒÁÎÅÎ ËÁË '%s'"
|
msgstr "æÁÊÌ ÓÏÈÒÁÎÅÎ ËÁË '%s'"
|
||||||
|
|
||||||
#: ccdfunc.c:413
|
#: ccdfunc.c:414
|
||||||
msgid "Focuser device not pointed"
|
msgid "Focuser device not pointed"
|
||||||
msgstr "õÓÔÒÏÊÓÔ×Ï ÆÏËÕÓÅÒÁ ÎÅ ÕËÁÚÁÎÏ"
|
msgstr "õÓÔÒÏÊÓÔ×Ï ÆÏËÕÓÅÒÁ ÎÅ ÕËÁÚÁÎÏ"
|
||||||
|
|
||||||
#: ccdfunc.c:643
|
#: ccdfunc.c:644
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Found %d cameras, you point number %d"
|
msgid "Found %d cameras, you point number %d"
|
||||||
msgstr "ïÂÎÁÒÕÖÅÎÏ %d ËÁÍÅÒ, ×Ù ÕËÁÚÁÌÉ %d"
|
msgstr "ïÂÎÁÒÕÖÅÎÏ %d ËÁÍÅÒ, ×Ù ÕËÁÚÁÌÉ %d"
|
||||||
|
|
||||||
#: ccdfunc.c:451
|
#: ccdfunc.c:452
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Found %d focusers, you point number %d"
|
msgid "Found %d focusers, you point number %d"
|
||||||
msgstr "ïÂÎÁÒÕÖÅÎÏ %d ÆÏËÕÓÅÒÏ×, ×Ù ÕËÁÚÁÌÉ %d"
|
msgstr "ïÂÎÁÒÕÖÅÎÏ %d ÆÏËÕÓÅÒÏ×, ×Ù ÕËÁÚÁÌÉ %d"
|
||||||
|
|
||||||
#: ccdfunc.c:542
|
#: ccdfunc.c:543
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Found %d wheels, you point number %d"
|
msgid "Found %d wheels, you point number %d"
|
||||||
msgstr "ïÂÎÁÒÕÖÅÎÏ %d ËÏÌÅÓ, ×Ù ÕËÁÚÁÌÉ %d"
|
msgstr "ïÂÎÁÒÕÖÅÎÏ %d ËÏÌÅÓ, ×Ù ÕËÁÚÁÌÉ %d"
|
||||||
|
|
||||||
#: ccdfunc.c:666
|
#: ccdfunc.c:667
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Full array: %s"
|
msgid "Full array: %s"
|
||||||
msgstr "ðÏÌÎÙÊ ÆÏÒÍÁÔ: %s"
|
msgstr "ðÏÌÎÙÊ ÆÏÒÍÁÔ: %s"
|
||||||
|
|
||||||
#: imageview.c:388
|
#: imageview.c:389
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Histogram conversion: %s"
|
msgid "Histogram conversion: %s"
|
||||||
msgstr "ðÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÇÉÓÔÏÇÒÁÍÍÙ: %s"
|
msgstr "ðÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÇÉÓÔÏÇÒÁÍÍÙ: %s"
|
||||||
|
|
||||||
#: ccdfunc.c:405
|
#: ccdfunc.c:406
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Image stat:\n"
|
msgid "Image stat:\n"
|
||||||
msgstr "óÔÁÔÉÓÔÉËÁ ÐÏ ÉÚÏÂÒÁÖÅÎÉÀ: \n"
|
msgstr "óÔÁÔÉÓÔÉËÁ ÐÏ ÉÚÏÂÒÁÖÅÎÉÀ: \n"
|
||||||
@ -289,23 +289,23 @@ msgstr "
|
|||||||
msgid "N flushes before exposing (default: 1)"
|
msgid "N flushes before exposing (default: 1)"
|
||||||
msgstr "N ÚÁÓ×ÅÞÉ×ÁÎÉÊ ÐÅÒÅÄ ÜËÓÐÏÚÉÃÉÅÊ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1)"
|
msgstr "N ÚÁÓ×ÅÞÉ×ÁÎÉÊ ÐÅÒÅÄ ÜËÓÐÏÚÉÃÉÅÊ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1)"
|
||||||
|
|
||||||
#: server.c:165
|
#: server.c:170
|
||||||
msgid "No camera device"
|
msgid "No camera device"
|
||||||
msgstr "îÅ ÕËÁÚÁÎÏ ÕÓÔÒÏÊÓÔ×Ï ËÁÍÅÒÙ"
|
msgstr "îÅ ÕËÁÚÁÎÏ ÕÓÔÒÏÊÓÔ×Ï ËÁÍÅÒÙ"
|
||||||
|
|
||||||
#: ccdfunc.c:612 ccdfunc.c:613
|
#: ccdfunc.c:613 ccdfunc.c:614
|
||||||
msgid "No cameras found"
|
msgid "No cameras found"
|
||||||
msgstr "ëÁÍÅÒ ÎÅ ÏÂÎÁÒÕÖÅÎÏ"
|
msgstr "ëÁÍÅÒ ÎÅ ÏÂÎÁÒÕÖÅÎÏ"
|
||||||
|
|
||||||
#: ccdfunc.c:420
|
#: ccdfunc.c:421
|
||||||
msgid "No focusers found"
|
msgid "No focusers found"
|
||||||
msgstr "æÏËÕÓÅÒÏ× ÎÅ ÏÂÎÁÒÕÖÅÎÏ"
|
msgstr "æÏËÕÓÅÒÏ× ÎÅ ÏÂÎÁÒÕÖÅÎÏ"
|
||||||
|
|
||||||
#: ccdfunc.c:511
|
#: ccdfunc.c:512
|
||||||
msgid "No wheels found"
|
msgid "No wheels found"
|
||||||
msgstr "ôÕÒÅÌÅÊ ÎÅ ÏÂÎÁÒÕÖÅÎÏ"
|
msgstr "ôÕÒÅÌÅÊ ÎÅ ÏÂÎÁÒÕÖÅÎÏ"
|
||||||
|
|
||||||
#: ccdfunc.c:754
|
#: ccdfunc.c:755
|
||||||
msgid "Only show statistics"
|
msgid "Only show statistics"
|
||||||
msgstr "ôÏÌØËÏ ÏÔÏÂÒÁÚÉÔØ ÓÔÁÔÉÓÔÉËÕ"
|
msgstr "ôÏÌØËÏ ÏÔÏÂÒÁÚÉÔØ ÓÔÁÔÉÓÔÉËÕ"
|
||||||
|
|
||||||
@ -313,52 +313,52 @@ msgstr "
|
|||||||
msgid "PID file (default: "
|
msgid "PID file (default: "
|
||||||
msgstr "PID-ÆÁÊÌ (ÐÏ ÕÍÏÌÞÁÎÉÀ: "
|
msgstr "PID-ÆÁÊÌ (ÐÏ ÕÍÏÌÞÁÎÉÀ: "
|
||||||
|
|
||||||
#: ccdfunc.c:660
|
#: ccdfunc.c:661
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Pixel size: %g x %g"
|
msgid "Pixel size: %g x %g"
|
||||||
msgstr "òÁÚÍÅÒ ÐÉËÓÅÌÑ: %g x %g"
|
msgstr "òÁÚÍÅÒ ÐÉËÓÅÌÑ: %g x %g"
|
||||||
|
|
||||||
#: ccdfunc.c:787
|
#: ccdfunc.c:791
|
||||||
msgid "Read grabbed image"
|
msgid "Read grabbed image"
|
||||||
msgstr "óÞÉÔÙ×ÁÎÉÅ ÉÚÏÂÒÁÖÅÎÉÑ"
|
msgstr "óÞÉÔÙ×ÁÎÉÅ ÉÚÏÂÒÁÖÅÎÉÑ"
|
||||||
|
|
||||||
#: ccdfunc.c:753
|
#: ccdfunc.c:754
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Readout mode: %s"
|
msgid "Readout mode: %s"
|
||||||
msgstr "òÅÖÉÍ ÓÞÉÔÙ×ÁÎÉÑ: %s"
|
msgstr "òÅÖÉÍ ÓÞÉÔÙ×ÁÎÉÑ: %s"
|
||||||
|
|
||||||
#: client.c:285
|
#: client.c:287
|
||||||
msgid "Server timeout"
|
msgid "Server timeout"
|
||||||
msgstr "ôÁÊÍÁÕÔ ÓÅÒ×ÅÒÁ"
|
msgstr "ôÁÊÍÁÕÔ ÓÅÒ×ÅÒÁ"
|
||||||
|
|
||||||
#: ccdfunc.c:717
|
#: ccdfunc.c:718
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Set brightness to %g"
|
msgid "Set brightness to %g"
|
||||||
msgstr "õÓÔÁÎÏ×ÉÔØ ÑÒËÏÓÔØ × %g"
|
msgstr "õÓÔÁÎÏ×ÉÔØ ÑÒËÏÓÔØ × %g"
|
||||||
|
|
||||||
#: ccdfunc.c:654
|
#: ccdfunc.c:655
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Set fan speed to %d"
|
msgid "Set fan speed to %d"
|
||||||
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÓËÏÒÏÓÔØ ×ÅÎÔÉÌÑÔÏÒÏ× × %d"
|
msgstr "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ÓËÏÒÏÓÔØ ×ÅÎÔÉÌÑÔÏÒÏ× × %d"
|
||||||
|
|
||||||
#: ccdfunc.c:711
|
#: ccdfunc.c:712
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Set gain to %g"
|
msgid "Set gain to %g"
|
||||||
msgstr "õÓÔÁÎÏ×ÉÔØ Gain × %g"
|
msgstr "õÓÔÁÎÏ×ÉÔØ Gain × %g"
|
||||||
|
|
||||||
#: ccdfunc.c:683
|
#: ccdfunc.c:684
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Shutter command: %s\n"
|
msgid "Shutter command: %s\n"
|
||||||
msgstr "ëÏÍÁÎÄÁ ÚÁÔ×ÏÒÁ: %s\n"
|
msgstr "ëÏÍÁÎÄÁ ÚÁÔ×ÏÒÁ: %s\n"
|
||||||
|
|
||||||
#. "Попытка Ñ<>конфигурировать порт I/O как %d\n"
|
#. "Попытка Ñ<>конфигурировать порт I/O как %d\n"
|
||||||
#: ccdfunc.c:689
|
#: ccdfunc.c:690
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Try to configure I/O port as %d"
|
msgid "Try to configure I/O port as %d"
|
||||||
msgstr "ðÏÐÙÔËÁ ÓËÏÎÆÉÇÕÒÉÒÏ×ÁÔØ ÐÏÒÔ I/O ËÁË %d"
|
msgstr "ðÏÐÙÔËÁ ÓËÏÎÆÉÇÕÒÉÒÏ×ÁÔØ ÐÏÒÔ I/O ËÁË %d"
|
||||||
|
|
||||||
#. "Попытка запиÑ<C2B8>и %d в порт I/O\n"
|
#. "Попытка запиÑ<C2B8>и %d в порт I/O\n"
|
||||||
#: ccdfunc.c:702
|
#: ccdfunc.c:703
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Try to write %d to I/O port"
|
msgid "Try to write %d to I/O port"
|
||||||
msgstr "ðÏÐÙÔËÁ ÚÁÐÉÓÉ %d × ÐÏÒÔ I/O"
|
msgstr "ðÏÐÙÔËÁ ÚÁÐÉÓÉ %d × ÐÏÒÔ I/O"
|
||||||
@ -367,11 +367,11 @@ msgstr "
|
|||||||
msgid "UNIX socket name"
|
msgid "UNIX socket name"
|
||||||
msgstr "éÍÑ UNIX-ÓÏËÅÔÁ"
|
msgstr "éÍÑ UNIX-ÓÏËÅÔÁ"
|
||||||
|
|
||||||
#: ccdfunc.c:504
|
#: ccdfunc.c:505
|
||||||
msgid "Wheel device not pointed"
|
msgid "Wheel device not pointed"
|
||||||
msgstr "õÓÔÒÏÊÓÔ×Ï ÔÕÒÅÌÉ ÎÅ ÕËÁÚÁÎÏ"
|
msgstr "õÓÔÒÏÊÓÔ×Ï ÔÕÒÅÌÉ ÎÅ ÕËÁÚÁÎÏ"
|
||||||
|
|
||||||
#: ccdfunc.c:569
|
#: ccdfunc.c:570
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Wheel position should be from 0 to %d"
|
msgid "Wheel position should be from 0 to %d"
|
||||||
msgstr "ðÏÚÉÃÉÑ ËÏÌÅÓÁ ÄÏÌÖÎÁ ÂÙÔØ ÏÔ 0 ÄÏ %d"
|
msgstr "ðÏÚÉÃÉÑ ËÏÌÅÓÁ ÄÏÌÖÎÁ ÂÙÔØ ÏÔ 0 ÄÏ %d"
|
||||||
@ -510,11 +510,11 @@ msgstr "
|
|||||||
msgid "observing program name"
|
msgid "observing program name"
|
||||||
msgstr "ÎÁÚ×ÁÎÉÅ ÐÒÏÇÒÁÍÍÙ"
|
msgstr "ÎÁÚ×ÁÎÉÅ ÐÒÏÇÒÁÍÍÙ"
|
||||||
|
|
||||||
#: imageview.c:508 imageview.c:581
|
#: imageview.c:509 imageview.c:584
|
||||||
msgid "off"
|
msgid "off"
|
||||||
msgstr "×ÙËÌ"
|
msgstr "×ÙËÌ"
|
||||||
|
|
||||||
#: imageview.c:508 imageview.c:581
|
#: imageview.c:509 imageview.c:584
|
||||||
msgid "on"
|
msgid "on"
|
||||||
msgstr "×ËÌ"
|
msgstr "×ËÌ"
|
||||||
|
|
||||||
|
|||||||
18
server.c
18
server.c
@ -113,7 +113,7 @@ static void fixima(){
|
|||||||
// functions for processCAM finite state machine
|
// functions for processCAM finite state machine
|
||||||
static inline void cameraidlestate(){ // idle - wait for capture commands
|
static inline void cameraidlestate(){ // idle - wait for capture commands
|
||||||
if(camflags & FLAG_STARTCAPTURE){ // start capturing
|
if(camflags & FLAG_STARTCAPTURE){ // start capturing
|
||||||
DBG("Start exposition");
|
TIMESTAMP("Start exposition");
|
||||||
camflags &= ~(FLAG_STARTCAPTURE | FLAG_CANCEL);
|
camflags &= ~(FLAG_STARTCAPTURE | FLAG_CANCEL);
|
||||||
camstate = CAMERA_CAPTURE;
|
camstate = CAMERA_CAPTURE;
|
||||||
fixima();
|
fixima();
|
||||||
@ -137,20 +137,25 @@ static inline void cameracapturestate(){ // capturing - wait for exposition ends
|
|||||||
capture_status cs;
|
capture_status cs;
|
||||||
if(camera->pollcapture(&cs, &tremain)){
|
if(camera->pollcapture(&cs, &tremain)){
|
||||||
if(cs != CAPTURE_PROCESS){
|
if(cs != CAPTURE_PROCESS){
|
||||||
DBG("Capture ready");
|
TIMESTAMP("Capture ready");
|
||||||
tremain = 0.;
|
tremain = 0.;
|
||||||
// now save frame
|
// now save frame
|
||||||
if(!ima.data) LOGERR("Can't save image: not initialized");
|
if(!ima.data) LOGERR("Can't save image: not initialized");
|
||||||
else{
|
else{
|
||||||
|
TIMESTAMP("start capture");
|
||||||
if(!camera->capture(&ima)){
|
if(!camera->capture(&ima)){
|
||||||
LOGERR("Can't capture image");
|
LOGERR("Can't capture image");
|
||||||
camstate = CAMERA_ERROR;
|
camstate = CAMERA_ERROR;
|
||||||
return;
|
return;
|
||||||
}else{
|
}else{
|
||||||
|
if(lastfile){
|
||||||
|
TIMESTAMP("Calc stat");
|
||||||
calculate_stat(&ima);
|
calculate_stat(&ima);
|
||||||
|
}
|
||||||
if(saveFITS(&ima, &lastfile)){
|
if(saveFITS(&ima, &lastfile)){
|
||||||
DBG("LAST file name changed");
|
DBG("LAST file name changed");
|
||||||
}
|
}
|
||||||
|
TIMESTAMP("Image saved");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
camstate = CAMERA_FRAMERDY;
|
camstate = CAMERA_FRAMERDY;
|
||||||
@ -221,6 +226,8 @@ static int camdevini(int n){
|
|||||||
curformat = frmformatmax;
|
curformat = frmformatmax;
|
||||||
DBG("\n\nGeometry format (offx/offy) w/h: (%d/%d) %d/%d", curformat.xoff, curformat.yoff,
|
DBG("\n\nGeometry format (offx/offy) w/h: (%d/%d) %d/%d", curformat.xoff, curformat.yoff,
|
||||||
curformat.w, curformat.h);
|
curformat.w, curformat.h);
|
||||||
|
curformat.xoff = 0;
|
||||||
|
curformat.yoff = 0;
|
||||||
if(GP->hbin < 1) GP->hbin = 1;
|
if(GP->hbin < 1) GP->hbin = 1;
|
||||||
if(GP->vbin < 1) GP->vbin = 1;
|
if(GP->vbin < 1) GP->vbin = 1;
|
||||||
fixima();
|
fixima();
|
||||||
@ -560,6 +567,8 @@ static hresult expstatehandler(_U_ int fd, _U_ const char *key, _U_ const char *
|
|||||||
return RESULT_OK;
|
return RESULT_OK;
|
||||||
}
|
}
|
||||||
else if(n == CAMERA_CAPTURE){ // start exposition
|
else if(n == CAMERA_CAPTURE){ // start exposition
|
||||||
|
TIMESTAMP("End of cycle - start new");
|
||||||
|
TIMEINIT();
|
||||||
camflags |= FLAG_STARTCAPTURE;
|
camflags |= FLAG_STARTCAPTURE;
|
||||||
return RESULT_OK;
|
return RESULT_OK;
|
||||||
}
|
}
|
||||||
@ -1028,6 +1037,7 @@ void server(int sock, int imsock){
|
|||||||
close(client);
|
close(client);
|
||||||
DBG("%d closed", client);
|
DBG("%d closed", client);
|
||||||
}else{WARN("accept()"); DBG("disconnected");}
|
}else{WARN("accept()"); DBG("disconnected");}
|
||||||
|
TIMESTAMP("Image sent");
|
||||||
}
|
}
|
||||||
if(poll_set[0].revents & POLLIN){ // check main for accept()
|
if(poll_set[0].revents & POLLIN){ // check main for accept()
|
||||||
struct sockaddr_in addr;
|
struct sockaddr_in addr;
|
||||||
@ -1053,8 +1063,10 @@ void server(int sock, int imsock){
|
|||||||
char buff[PATH_MAX+32];
|
char buff[PATH_MAX+32];
|
||||||
snprintf(buff, PATH_MAX, CMD_EXPSTATE "=%d", camstate);
|
snprintf(buff, PATH_MAX, CMD_EXPSTATE "=%d", camstate);
|
||||||
DBG("Send %s to %d clients", buff, nfd - 2);
|
DBG("Send %s to %d clients", buff, nfd - 2);
|
||||||
for(int i = 2; i < nfd; ++i)
|
for(int i = 2; i < nfd; ++i){
|
||||||
|
TIMESTAMP("Send message that all ready");
|
||||||
sendstrmessage(poll_set[i].fd, buff);
|
sendstrmessage(poll_set[i].fd, buff);
|
||||||
|
}
|
||||||
if(camstate == CAMERA_FRAMERDY){ // send to all last file name
|
if(camstate == CAMERA_FRAMERDY){ // send to all last file name
|
||||||
snprintf(buff, PATH_MAX+31, CMD_LASTFNAME "=%s", lastfile);
|
snprintf(buff, PATH_MAX+31, CMD_LASTFNAME "=%s", lastfile);
|
||||||
for(int i = 2; i < nfd; ++i)
|
for(int i = 2; i < nfd; ++i)
|
||||||
|
|||||||
4
socket.c
4
socket.c
@ -34,6 +34,10 @@
|
|||||||
#include "server.h"
|
#include "server.h"
|
||||||
#include "socket.h"
|
#include "socket.h"
|
||||||
|
|
||||||
|
#ifdef EBUG
|
||||||
|
double __t0 = 0.;
|
||||||
|
#endif
|
||||||
|
|
||||||
pthread_mutex_t locmutex = PTHREAD_MUTEX_INITIALIZER; // mutex for wheel/camera/focuser functions
|
pthread_mutex_t locmutex = PTHREAD_MUTEX_INITIALIZER; // mutex for wheel/camera/focuser functions
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
10
socket.h
10
socket.h
@ -19,6 +19,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
#include <usefull_macros.h>
|
||||||
|
|
||||||
// max & min TCP socket port number
|
// max & min TCP socket port number
|
||||||
#define PORTN_MAX (65535)
|
#define PORTN_MAX (65535)
|
||||||
@ -37,6 +38,15 @@
|
|||||||
// client will disconnect after this time from last server message
|
// client will disconnect after this time from last server message
|
||||||
#define CLIENT_TIMEOUT (3.0)
|
#define CLIENT_TIMEOUT (3.0)
|
||||||
|
|
||||||
|
#ifdef EBUG
|
||||||
|
extern double __t0;
|
||||||
|
#define TIMEINIT() do{__t0 = dtime();}while(0)
|
||||||
|
#define TIMESTAMP(...) do{DBG(__VA_ARGS__); fprintf(stderr, COLOR_GREEN "%g" COLOR_OLD "\n", dtime()-__t0);}while(0)
|
||||||
|
#else
|
||||||
|
#define TIMEINIT()
|
||||||
|
#define TIMESTAMP()
|
||||||
|
#endif
|
||||||
|
|
||||||
extern pthread_mutex_t locmutex;
|
extern pthread_mutex_t locmutex;
|
||||||
|
|
||||||
typedef enum{
|
typedef enum{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user