#if !defined(__SPI_H__)\r
#define __SPI_H__\r
\r
+// ioctlコマンド\r
// SPI受信データ取得\r
#define CMD_RX_GET 11\r
-\r
// SPI送信データ長セット\r
#define CMD_TX_LEN 12\r
-// SPI送信データセット\r
+// SPI送信データセット PICへのコマンド\r
#define CMD_TX_SET 13\r
-\r
// リングバッファにあるデータ数を返す\r
#define CMD_DNUM_GET 14\r
-\r
// リングバッファクリア\r
#define CMD_BUF_CLEAR 15\r
-\r
// SPIで実際に受信したデータ長を取得\r
#define CMD_RECEIVED_LEN_GET 20\r
\r
// SPIで受信するデータ長 固定長 $含む\r
-#define SPI_DATA_LEN 945\r
-// SPI受信データの先頭文字\r
+#define SPI_DATA_LEN (965)\r
+// SPI受信データの先頭文字 送信コマンドでも使用\r
#define SPI_HEAD_CHAR '$'\r
\r
+// SPI受信データ 応答データ 長さ\r
+#define SPI_RESDATA_LEN 17\r
+\r
+// SPI受信データ Checksum 長さ\r
+#define SPI_CHECKSUM_LEN 2\r
+\r
// SPI受信データの先頭からのオフセット\r
-#define SPI_OFS_GPS (18-17)\r
-#define SPI_OFS_1SEC (38-17)\r
-#define SPI_OFS_DATA (62-17)\r
+#define SPI_OFS_RESCODE 1\r
+#define SPI_OFS_RESDATA 2\r
+#define SPI_OFS_GPS (19)\r
+#define SPI_OFS_1SEC (39)\r
+#define SPI_OFS_DATA (63)\r
+#define SPI_OFS_SUM 963\r
+\r
+// SPI送信コマンド長 固定長 $含む\r
+#define SPI_CMD_LEN 20\r
\r
+// SPI送信コマンド フィールドのオフセット位置\r
+#define SPI_CMD_OFS_HEAD 0\r
+#define SPI_CMD_OFS_CMDCODE 1\r
+#define SPI_CMD_OFS_CMDDATA 2\r
\r
+// SPIコマンドコード\r
+#define SPI_CMDCODE_GAIN 1\r
+\r
+// SPIコマンドGainの設定値\r
+#define SPI_CMD_GAIN_1P8 0 // 1/8\r
+#define SPI_CMD_GAIN_1P4 1 // 1/4\r
+#define SPI_CMD_GAIN_1P2 2 // 1/2\r
+#define SPI_CMD_GAIN_1 3\r
+#define SPI_CMD_GAIN_2 4\r
+#define SPI_CMD_GAIN_4 5\r
+#define SPI_CMD_GAIN_8 6\r
+#define SPI_CMD_GAIN_16 7\r
+#define SPI_CMD_GAIN_32 8\r
+#define SPI_CMD_GAIN_64 9\r
+#define SPI_CMD_GAIN_128 10\r
\r
\r
int spi_get_fd(void);\r
int spi_dnum_get(void);\r
int spi_rcvd_len_get(void);\r
\r
+void spi_cmd_send(char cmd_code, char *cmd_data, int data_len);\r
+void spi_cmd_send_gain(int gain);\r
+\r
#endif\r