2015-07-23 13:31:18 +03:00

79 lines
2.5 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef __DEFINES_H__
#define __DEFINES_H__
#define _FILE_OFFSET_BITS 64
#define _LARGEFILE64_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <unistd.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <fcntl.h>
#include <time.h>
#include <signal.h>
#include <stdint.h>
#ifndef __CLIENT_C__
#include "bta_shdata.h"
#endif
#define WARN(...) do{fprintf(stderr, __VA_ARGS__);}while(0)
#define TIMEINTERVAL 9.99 // ÉÎÔÅÒ×ÁÌ ÕÓÒÅÄÎÅÎÉÑ ÄÁÎÎÙÈ (× ÓÅËÕÎÄÁÈ)
#define LOG_FILE "/Users/eddy/_data/.temp_daemon" // ÆÁÊÌ Ó ÌÏÇÁÍÉ
#define CACHE_FILE "/Users/eddy/_data/.cache" // ÉÎÄÅËÓÎÙÊ ÆÁÊÌ
#define OUT_FILE "/Users/eddy/_data/.out" // ÓÁÍÁ ÉÎÆÏÒÍÁÃÉÑ
#define PID_FILE "/Users/eddy/_data/.pid" // PID
#define A_PATH "/Users/eddy/_data"
#define PROC_BASE "/proc"
#define SHM_KEY 1234567890
#define CACHE_EVERY_PWR 10 // ËÜÛÉÒÕÅÍ ËÁÖÄÕÀ 2^CACHE_EVERY_PWR ÚÁÐÉÓØ
#define tell(fd) lseek(fd, 0, SEEK_CUR)
enum telescope_status{
STOP, // 0 - ÔÅÌÅÓËÏÐ ×ÙËÌÀÞÅÎ
GUIDING, // 1 - ×ÅÄÅÎÉÅ
READY, // 2 - ×ÓÅ ÏÓÔÁÎÏ×ÌÅÎÏ, ÐÉÔÁÎÉÅ ÅÓÔØ
OTHER, // 3 - ÎÁ×ÅÄÅÎÉÅ ÉÌÉ ÐÒÏÞÅÅ ÐÅÒÅÍÅÝÅÎÉÅ ÔÅÌÅÓËÏÐÁ/ËÕÐÏÌÁ
OPEN // 4 - ÚÁÂÒÁÌÏ ÏÔËÒÙÔÏ, ÉÄÕÔ ÎÁÂÌÀÄÅÎÉÑ
// 5 - úáòåúåò÷éòï÷áîï ÄÌÑ ÓÕÍÍÁÒÎÏÇÏ ×ÒÅÍÅÎÉ
};
typedef enum telescope_status Status;
typedef float data_type;
#pragma pack(4)
struct monitoring_data{
uint32_t seconds; // ×ÒÅÍÑ × ÓÅËÕÎÄÁÈ
data_type outdoor_temp; // ÍÅÄÉÁÎÁ ÔÅÍÐÅÒÁÔÕÒÙ ÚÁ TIMEINTERVAL ÓÎÁÒÕÖÉ
data_type indoor_temp; // -//- ÔÅÍÐÅÒÁÔÕÒÁ ×ÎÕÔÒÉ
data_type mirror_temp; // -//- ÔÅÍÐÅÒÁÔÕÒÁ ÚÅÒËÁÌÁ
data_type wind_speed; // ÍÁËÓÉÍÁÌØÎÁÑ ÚÁ TIMEINTERVAL ÓËÏÒÏÓÔØ ×ÅÔÒÁ
data_type pressure; // ÍÅÄÉÁÎÎÏÅ ÚÎÁÞÅÎÉÅ ÄÁ×ÌÅÎÉÑ (ÍÍ.ÒÔ.ÓÔ)
data_type humidity; // -//- ×ÌÁÖÎÏÓÔÉ
/* data_type sigma_ot; // ÓÔÁÎÄÁÒÔÎÏÅ ÏÔËÌÏÎÅÎÉÅ ×ÎÅÛÎÅÊ ÔÅÍÐÅÒÁÔÕÒÙ
data_type sigma_it; // -//- ×ÎÕÔÒÅÎÎÅÊ ÔÅÍÐÅÒÁÔÕÒÙ
data_type sigma_mt; // -//- ÔÅÍÐÅÒÁÔÕÒÙ ÚÅÒËÁÌÁ
data_type sigma_w; // -//- ÓËÏÒÏÓÔÉ ×ÅÔÒÁ
data_type sigma_p;
data_type sigma_h;
data_type avr_ot; // ÓÒÅÄÎÅÅ ÚÁ TIMEINTERVAL ÚÎÁÞÅÎÉÅ ×ÎÅÛÎÅÊ ÔÅÍÐÅÒÁÔÕÒÙ
data_type avr_it; // ...
data_type avr_mt;
data_type avr_w;
data_type avr_p;
data_type avr_h;*/
Status status; // ÓÏÓÔÏÑÎÉÅ ÔÅÌÅÓËÏÐÁ
};
typedef struct monitoring_data monit_d;
#pragma pack(4)
struct _cache{ // ÓÔÒÕËÔÕÒÁ ÄÌÑ ÈÒÁÎÅÎÉÑ ÄÁÎÎÙÈ × ËÜÛÅ
uint32_t time; // ×ÒÅÍÑ × ÓÅËÕÎÄÁÈ Ó 1.01.1970-0:0
uint64_t offset; // ÓÍÅÝÅÎÉÅ × ÌÏÇ-ÆÁÊÌÅ
};
typedef struct _cache Cache;
int *Visor = NULL; // ÓÏÓÔÏÑÎÉÅ ÚÁÂÒÁÌÁ
#endif