OSDN Git Service

GPS valid=07にならなくても記録を開始してしまうバグ修正
[scilog/scilog.git] / ad_file.h
1 #if     !defined(__AD_FILE_H__)
2 #define __AD_FILE_H__
3
4 #include "ad_ring.h"
5 #include "conf.h"
6
7 // データ記録用dir 末尾に/付けない
8 #ifdef  DUMMY
9         #define DIR_DATA                "/home/ntaka/dev/arm2011n/data"
10 #else
11         #define DIR_DATA                "/home/data"
12 #endif
13
14 #if 0
15 // NAV-TIMEUTCパケットのファイル記録用データタイプ
16 typedef struct {
17     unsigned long   tow;    // ms GPS Millisecond Time of Week
18     unsigned long   tacc;   // ns Time Accuracy Estimate
19     long   nano;            // ns Nanoseconds of second, range -1e9 .. 1e9 (UTC)
20     unsigned int    year __attribute__((aligned(1)));   // 12 UTC
21     unsigned char   month __attribute__((aligned(1)));  // 16
22     unsigned char   day __attribute__((aligned(1)));
23     unsigned char   hour __attribute__((aligned(1)));
24     unsigned char   min __attribute__((aligned(1)));
25     unsigned char   sec __attribute__((aligned(1)));
26     unsigned char   valid __attribute__((aligned(1)));  // Validity Flags
27                             //  bit0 validTOW 1 = Valid Time of Week
28                             //  bit1 validWKN 1 = Valid Week Number
29                             //  bit2 validUTC 1 = Valid UTC (Leap Seconds already known)
30 } UbloxNavTimeUtcRecType __attribute__((aligned(1)));
31
32 // 高速サンプルデータ記録用データタイプ
33 typedef struct {
34         UbloxNavTimeUtcRecType  gps;                    // GPSタイムスタンプ
35         unsigned char   data[AD_CHNUM][AD_SAMPLE][AD_BYTES];    // AD
36 } HighSampleRecType;
37
38 #define HIGH_WRITE_LEN  szieof(HighSampleRecType)
39 #endif
40 #define HIGH_HEADER_LEN 14
41 #define HIGH_WRITE_LEN_MAX      (HIGH_HEADER_LEN + AD_CHNUM*AD_SAMPLE*AD_BYTES)
42 #define HIGH_WRITE_LEN  (HIGH_HEADER_LEN + AD_CHNUM*conf_freq_get()*AD_BYTES)   // 記録周波数で変わる
43
44 int sec_file_open(FILE **fp, AdData *D);
45 int sec_file_out(FILE *fp, char *out, int len);
46 int sec_file_close(FILE *fp);
47 int sec_make_rec_data(AdData *ad, char *buf);
48
49 int high_file_open(FILE **fp, AdData *D);
50 int high_file_out(FILE *fp, char *out, int len);
51 int high_file_close(FILE *fp);
52 int high_make_rec_data(AdData *ad, char *buf);
53
54 #endif