--- /dev/null
+//\r
+// Daq.h\r
+//\r
+// Copyright 2009 by Takashi Chikamasa, Jon C. Martin and Robert W. Kramer\r
+//\r
+\r
+#ifndef DAQ_H_\r
+#define DAQ_H_\r
+\r
+#include "Bluetooth.h"\r
+\r
+extern "C"\r
+{\r
+ #include "ecrobot_interface.h"\r
+};\r
+\r
+namespace ecrobot\r
+{\r
+/**\r
+ * Data acquistion class for NXT GamePad data logging\r
+ */\r
+class Daq\r
+{\r
+public:\r
+ /**\r
+ * Constructor.\r
+ * @param bt Reference of a Bluetooth object.\r
+ * @return -\r
+ */\r
+ Daq(Bluetooth& bt);\r
+\r
+ /**\r
+ * Send data to NXT GamePad (almost equivalent to ecrobot_bt_data_logger).\r
+ * @param dataS08 Data to be saved to "Data1" and "Data2" column in a csv file.\r
+ * @param dataS32 Data to be saved to "I2C" column in a csv file.<BR>\r
+ * <BR>\r
+ * Byte frame: CSV column name: Data<BR>\r
+ * byte00-03: Time: System clock in msec<BR>\r
+ * byte04: Data1: dataS08[0]<BR>\r
+ * byte05: Data2: dataS08[1]<BR>\r
+ * byte06-07: Battery: Battery voltage in mV<BR>\r
+ * byte08-11: Motor Rev A: Motor count at Port A<BR>\r
+ * byte12-15: Motor Rev B: Motor count at Port B<BR>\r
+ * byte16-19: Motor Rev C: Motor count at Port C<BR>\r
+ * byte20-21: ADC S1: A/D raw value at Port S1<BR>\r
+ * byte22-23: ADC S2: A/D raw value at Port S2<BR>\r
+ * byte24-25: ADC S3: A/D raw value at Port S3<BR>\r
+ * byte26-27: ADC S4: A/D raw value at Port S4<BR>\r
+ * byte28-31: I2C: dataS32<BR>\r
+ * @return -\r
+ */\r
+ void send(S8 dataS08[2], S32 dataS32);\r
+\r
+ /**\r
+ * Send data to NXT GamePad.\r
+ * @param dataS08 Data to be saved to "Data1" and "Data2" column in a csv file.\r
+ * @param dataU16 Data to be saved to "Battery" column in a csv file.\r
+ * @param dataS16 Data to be saved to "ADC S1/ADC S2/ADC S3/ADC S4" column in a csv file.\r
+ * @param dataS32 Data to be saved to "Motor Rev A/Motor Rev B/Motor Rev C/I2C" column in a csv file.<BR>\r
+ * <BR>\r
+ * Byte frame: CSV column name: Data<BR>\r
+ * byte00-03: Time: System clock in msec<BR>\r
+ * byte04: Data1: dataS08[0]<BR>\r
+ * byte05: Data2: dataS08[1]<BR>\r
+ * byte06-07: Battery: dataU16<BR>\r
+ * byte08-11: Motor Rev A: dataS32[0]<BR>\r
+ * byte12-15: Motor Rev B: dataS32[1]<BR>\r
+ * byte16-19: Motor Rev C: dataS32[2]<BR>\r
+ * byte20-21: ADC S1: dataS16[0]<BR>\r
+ * byte22-23: ADC S2: dataS16[1]<BR>\r
+ * byte24-25: ADC S3: dataS16[2]<BR>\r
+ * byte26-27: ADC S4: dataS16[3]<BR>\r
+ * byte28-31: I2C: dataS32[3]<BR>\r
+ * @return -\r
+ */\r
+ void send(S8 dataS08[2], U16 dataU16, S16 dataS16[4], S32 dataS32[4]);\r
+\r
+private:\r
+ Bluetooth& mrBt; \r
+};\r
+}\r
+\r
+#endif\r