3 * sciLogger Logger Program
7 * conf_linux_time_set_XXX() add?
8 * thread_disp.cでGPS時刻をlinuxにset
12 * lcd.c i2clcd_init() i2cLCD基板のConfig変更 LCD自動初期化ON
17 * spiデバイス名変更 ->/dev/spikead spikeadデバイス側で変更したため
18 * ad_ring.h AdDataのADデータ型をlong->int32_tに変更
22 * thread_rcv.c b3_to_long32() 返り値long->int32_tにした
24 * LCDがリセットされて表示が更新されなくなる問題に対応
25 * thread_disp.c 毎分1回 LCD初期化する
26 * i2cLCD基板の自動初期化機能は、2行設定で初期化されるので使用しない
31 * rec_path= Default /home/data
36 * CH1から指定した番号のCHまでを記録する
37 * highファイルのヘッダにCH数を入れてないので、デコード時に指定する必要あり
39 * sec/highファイルの書込タイミングを制御するようにした
41 * highファイルは、00,10,20,30,40,50secに書込
44 * . environment-setup-cortexa8hf-vfp-neon-poky-linux-gnueabi
52 #include <sys/types.h>
64 #include <sys/ioctl.h>
66 #include <linux/i2c-dev.h> /* for I2C_SLAVE */
70 #include "my_thread.h"
74 #include "thread_rec.h"
79 // debug_print.h内で#define DEBUG_PRINTしているので
80 // リリース時は、debug_print.hでコメントする
81 #include "debug_print.h"
84 #include "mes_print.h"
86 // ダミーデータを自分で発生するときに定義
89 #define VERSION "1.0.4"
91 #define DEV_SPI "/dev/spikead"
95 #define CONF_FREQ_DEF 50
96 #define CONF_GAIN_DEF SPI_CMD_GAIN_1P4
97 #define CONF_LINUX_TIME_SET_DEF 1 // ON
99 #define CONF_RECPATH_DEF "/home/data"
100 #define CONF_RECCHN_DEF 6
103 /**** signal ***********************************************************
109 void sig_handler(int sig)
117 sprintf(szBuf, "signal trap. signal=%d\n", sig);
128 int main (int argc, char *argv[])
130 pthread_t tid_rcv, tid_disp;
133 signal(SIGINT, sig_handler);
134 signal(SIGQUIT, sig_handler);
135 signal(SIGKILL, sig_handler);
136 signal(SIGTERM, sig_handler);
140 lcd_print("sciLogger ");
147 //printf("%d\n", sizeof(UbloxNavTimeUtcRecType));
148 //printf("%d\n", sizeof(HighSampleRecType));
152 conf_freq_set(CONF_FREQ_DEF);
153 conf_gain_set(CONF_GAIN_DEF);
154 conf_linux_time_set_set(CONF_LINUX_TIME_SET_DEF);
155 conf_recpath_set(CONF_RECPATH_DEF);
156 conf_recchn_set(CONF_RECCHN_DEF);
159 PDEBUG("freq=%d\n", conf_freq_get());
160 PDEBUG("gain=%d\n", conf_gain_get());
161 PDEBUG("linux_time_set=%d\n", conf_linux_time_set_get());
162 PDEBUG("rec_path=%s\n", conf_recpath_getp());
163 PDEBUG("rec_chn=%d\n", conf_recchn_get());
166 PDEBUG("sciLogger %s START\n", VERSION);
171 if (spi_open(DEV_SPI) < 0) {
172 perror("spi_open() ERROR!");
180 spi_cmd_send_gain(conf_gain_get());
186 if (pthread_create(&tid_rcv, NULL, thread_rcv, NULL) != 0) {
187 perror("pthread_create(SPI RCV)");
190 PDEBUG("SPI RCV thread create\n");
194 if (pthread_create(&tid_disp, NULL, thread_disp, NULL) != 0) {
195 perror("pthread_create(DISP)");
198 PDEBUG("DISP thread create\n");
203 /**** メインループ 記録 ************************