OSDN Git Service

Update ecrobot to nxtOSEK_v212.zip
[nxt-jsp/etrobo-atk.git] / nxtOSEK / ecrobot / c++ / util / Daq.h
diff --git a/nxtOSEK/ecrobot/c++/util/Daq.h b/nxtOSEK/ecrobot/c++/util/Daq.h
new file mode 100644 (file)
index 0000000..9274a11
--- /dev/null
@@ -0,0 +1,83 @@
+//\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:&nbsp;&nbsp; CSV column name:&nbsp;&nbsp; Data<BR>\r
+        * byte00-03:&nbsp;&nbsp; Time:&nbsp;&nbsp; System clock in msec<BR>\r
+        * byte04:&nbsp;&nbsp; Data1:&nbsp;&nbsp; dataS08[0]<BR>\r
+        * byte05:&nbsp;&nbsp; Data2:&nbsp;&nbsp; dataS08[1]<BR>\r
+        * byte06-07:&nbsp;&nbsp; Battery:&nbsp;&nbsp; Battery voltage in mV<BR>\r
+        * byte08-11:&nbsp;&nbsp; Motor Rev A:&nbsp;&nbsp; Motor count at Port A<BR>\r
+        * byte12-15:&nbsp;&nbsp; Motor Rev B:&nbsp;&nbsp; Motor count at Port B<BR>\r
+        * byte16-19:&nbsp;&nbsp; Motor Rev C:&nbsp;&nbsp; Motor count at Port C<BR>\r
+        * byte20-21:&nbsp;&nbsp; ADC S1:&nbsp;&nbsp; A/D raw value at Port S1<BR>\r
+        * byte22-23:&nbsp;&nbsp; ADC S2:&nbsp;&nbsp; A/D raw value at Port S2<BR>\r
+        * byte24-25:&nbsp;&nbsp; ADC S3:&nbsp;&nbsp; A/D raw value at Port S3<BR>\r
+        * byte26-27:&nbsp;&nbsp; ADC S4:&nbsp;&nbsp; A/D raw value at Port S4<BR>\r
+        * byte28-31:&nbsp;&nbsp; I2C:&nbsp;&nbsp; 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:&nbsp;&nbsp; CSV column name:&nbsp;&nbsp; Data<BR>\r
+        * byte00-03:&nbsp;&nbsp; Time:&nbsp;&nbsp; System clock in msec<BR>\r
+        * byte04:&nbsp;&nbsp; Data1:&nbsp;&nbsp; dataS08[0]<BR>\r
+        * byte05:&nbsp;&nbsp; Data2:&nbsp;&nbsp; dataS08[1]<BR>\r
+        * byte06-07:&nbsp;&nbsp; Battery:&nbsp;&nbsp; dataU16<BR>\r
+        * byte08-11:&nbsp;&nbsp; Motor Rev A:&nbsp;&nbsp; dataS32[0]<BR>\r
+        * byte12-15:&nbsp;&nbsp; Motor Rev B:&nbsp;&nbsp; dataS32[1]<BR>\r
+        * byte16-19:&nbsp;&nbsp; Motor Rev C:&nbsp;&nbsp; dataS32[2]<BR>\r
+        * byte20-21:&nbsp;&nbsp; ADC S1:&nbsp;&nbsp; dataS16[0]<BR>\r
+        * byte22-23:&nbsp;&nbsp; ADC S2:&nbsp;&nbsp; dataS16[1]<BR>\r
+        * byte24-25:&nbsp;&nbsp; ADC S3:&nbsp;&nbsp; dataS16[2]<BR>\r
+        * byte26-27:&nbsp;&nbsp; ADC S4:&nbsp;&nbsp; dataS16[3]<BR>\r
+        * byte28-31:&nbsp;&nbsp; I2C:&nbsp;&nbsp; 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