OSDN Git Service

記録パス設定 記録CH設定 ファイル書込タイミング
[scilog/scilog.git] / spi.h
1 #if     !defined(__SPI_H__)
2 #define __SPI_H__
3
4 // ioctlコマンド
5 // SPI受信データ取得
6 #define CMD_RX_GET      11
7 // SPI送信データ長セット
8 #define CMD_TX_LEN      12
9 // SPI送信データセット PICへのコマンド
10 #define CMD_TX_SET      13
11 // リングバッファにあるデータ数を返す
12 #define CMD_DNUM_GET    14
13 // リングバッファクリア
14 #define CMD_BUF_CLEAR   15
15 // SPIで実際に受信したデータ長を取得
16 #define CMD_RECEIVED_LEN_GET    20
17
18 // SPIで受信するデータ長 固定長 $含む
19 #define SPI_DATA_LEN    (965)
20 // SPI受信データの先頭文字 送信コマンドでも使用
21 #define SPI_HEAD_CHAR   '$'
22
23 // SPI受信データ 応答データ 長さ
24 #define SPI_RESDATA_LEN 17
25
26 // SPI受信データ Checksum 長さ
27 #define SPI_CHECKSUM_LEN        2
28
29 // SPI受信データの先頭からのオフセット
30 #define SPI_OFS_RESCODE 1
31 #define SPI_OFS_RESDATA 2
32 #define SPI_OFS_GPS             (19)
33 #define SPI_OFS_1SEC    (39)
34 #define SPI_OFS_DATA    (63)
35 #define SPI_OFS_SUM             963
36
37 // SPI送信コマンド長 固定長 $含む
38 #define SPI_CMD_LEN     20
39
40 // SPI送信コマンド フィールドのオフセット位置
41 #define SPI_CMD_OFS_HEAD        0
42 #define SPI_CMD_OFS_CMDCODE     1
43 #define SPI_CMD_OFS_CMDDATA     2
44
45 // SPIコマンドコード
46 #define SPI_CMDCODE_GAIN        1
47
48 // SPIコマンドGainの設定値
49 #define SPI_CMD_GAIN_1P8        0       // 1/8
50 #define SPI_CMD_GAIN_1P4        1       // 1/4
51 #define SPI_CMD_GAIN_1P2        2       // 1/2
52 #define SPI_CMD_GAIN_1          3
53 #define SPI_CMD_GAIN_2          4
54 #define SPI_CMD_GAIN_4          5
55 #define SPI_CMD_GAIN_8          6
56 #define SPI_CMD_GAIN_16         7
57 #define SPI_CMD_GAIN_32         8
58 #define SPI_CMD_GAIN_64         9
59 #define SPI_CMD_GAIN_128        10
60
61
62 int spi_get_fd(void);
63 int spi_open(char *dev);
64 int spi_ioctl(int cmd, void *p);
65 int spi_close(void);
66
67 void spi_tx_len_set(int len);
68 void spi_rx_get(char *p);
69 void spi_tx_set(char *p);
70 void spi_buf_clear(void);
71 int spi_dnum_get(void);
72 int spi_rcvd_len_get(void);
73
74 void spi_cmd_send(char cmd_code, char *cmd_data, int data_len);
75 void spi_cmd_send_gain(int gain);
76
77 #endif