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行設定で初期化されるので使用しない
29 * . environment-setup-cortexa8hf-vfp-neon-poky-linux-gnueabi
37 #include <sys/types.h>
49 #include <sys/ioctl.h>
51 #include <linux/i2c-dev.h> /* for I2C_SLAVE */
55 #include "my_thread.h"
59 #include "thread_rec.h"
64 // debug_print.h内で#define DEBUG_PRINTしているので
65 // リリース時は、debug_print.hでコメントする
66 #include "debug_print.h"
69 #include "mes_print.h"
71 // ダミーデータを自分で発生するときに定義
74 #define VERSION "1.0.3"
76 #define DEV_SPI "/dev/spikead"
80 #define CONF_FREQ_DEF 50
81 #define CONF_GAIN_DEF SPI_CMD_GAIN_1P4
82 #define CONF_LINUX_TIME_SET_DEF 1 // ON
85 /**** signal ***********************************************************
91 void sig_handler(int sig)
99 sprintf(szBuf, "signal trap. signal=%d\n", sig);
110 int main (int argc, char *argv[])
112 pthread_t tid_rcv, tid_disp;
115 signal(SIGINT, sig_handler);
116 signal(SIGQUIT, sig_handler);
117 signal(SIGKILL, sig_handler);
118 signal(SIGTERM, sig_handler);
122 lcd_print("sciLogger ");
129 //printf("%d\n", sizeof(UbloxNavTimeUtcRecType));
130 //printf("%d\n", sizeof(HighSampleRecType));
134 conf_freq_set(CONF_FREQ_DEF);
135 conf_gain_set(CONF_GAIN_DEF);
136 conf_linux_time_set_set(CONF_LINUX_TIME_SET_DEF);
139 PDEBUG("freq=%d\n", conf_freq_get());
140 PDEBUG("gain=%d\n", conf_gain_get());
141 PDEBUG("linux_time_set=%d\n", conf_linux_time_set_get());
144 PDEBUG("sciLogger %s START\n", VERSION);
149 if (spi_open(DEV_SPI) < 0) {
150 perror("spi_open() ERROR!");
158 spi_cmd_send_gain(conf_gain_get());
164 if (pthread_create(&tid_rcv, NULL, thread_rcv, NULL) != 0) {
165 perror("pthread_create(SPI RCV)");
168 PDEBUG("SPI RCV thread create\n");
172 if (pthread_create(&tid_disp, NULL, thread_disp, NULL) != 0) {
173 perror("pthread_create(DISP)");
176 PDEBUG("DISP thread create\n");
181 /**** メインループ 記録 ************************