From c6ac90fc731d8411380f582be3b91ce4e93f61fc Mon Sep 17 00:00:00 2001 From: Vegard Storheil Eriksen Date: Mon, 11 Apr 2011 05:44:51 +0200 Subject: Create I2CSensor class and subclasses for each sensor. --- ak8975.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 ak8975.h (limited to 'ak8975.h') diff --git a/ak8975.h b/ak8975.h new file mode 100644 index 0000000..beb9940 --- /dev/null +++ b/ak8975.h @@ -0,0 +1,24 @@ +#ifndef AK8975_H +#define AK8975_H + +#include "i2csensor.h" + +class AK8975 : public I2CSensor { + public: + int16_t x, y, z; + + void init() { + i2c_address = 0x0c; + write(0x0a, 0x01); // Start first measurement. + } + + void update() { + read(0x03, 6); + x = (rxdata[0] | rxdata[1] << 8); + y = (rxdata[2] | rxdata[3] << 8); + z = (rxdata[4] | rxdata[5] << 8); + write(0x0a, 0x01); // Start a new measurement. + } +}; + +#endif -- cgit v1.2.3