Kionix KX123 accelerometer C++ driver. Can be used for some extend also with kx022, kx023, kx122, etc. when used features are present in sensor.
Dependents: kionix-kx123-hello
Diff: kx123.h
- Revision:
- 1:f328083fb80b
- Parent:
- 0:a3f43eb92f86
- Child:
- 2:62891556d47b
diff -r a3f43eb92f86 -r f328083fb80b kx123.h
--- a/kx123.h Thu Sep 29 15:05:08 2016 +0000
+++ b/kx123.h Fri Sep 30 11:52:29 2016 +0000
@@ -15,53 +15,34 @@
#ifndef KX123_H
#define KX123_H
-//#include "mbed.h" //types
-#include "I2C.h" //I2C
-
#include "RegisterWriter/RegisterWriter/rohm_hal2.h"
#include "RegisterWriter/RegisterWriter/RegisterWriter.h"
+#include "kx123_registers.h"
/**
-* KX123 accelerometer driver
+* Kionix KX123 accelerometer i2c driver. For some extend can be used also with
+* kx012, kx022, kx023, kx23h, kx112, kx122, kx124, kx222 and kx224. Driver uses
+* RegisterWriter -class as (i2c) hardware abstraction layer.
*/
class KX123
{
public:
- /**
- * Create a KX123 instance which is connected to pre-instantiated I2C object.
- *
- * @param sad slave address of sensor.
- * @param wai who_am_i value (i.e. sensor type/model)
- */
+
KX123(RegisterWriter &i2c_obj, uint8_t sad = KX123_DEFAULT_SLAVE_ADDRESS, uint8_t wai = KX123_WHO_AM_I_WAI_ID);
-
- /**
- * KX123 destructor
- */
~KX123();
- /**
- * Probe and setup kx123 (or other accelerometer from same family)
- */
bool set_defaults(void);
- /**
- * Get results in raw value
- */
bool getresults_raw(int16_t* buf);
- /**
- * Get results in 1G-values
- */
bool getresults_g(float* buf);
-
private:
void set_tilt_position_defaults();
RegisterWriter i2c_rw;
uint16_t resolution_divider;
- uint8_t sad;
- uint8_t wai;
+ uint8_t _sad;
+ uint8_t _wai;
};
#endif
\ No newline at end of file
Rohm/Kionix KX123-6000 | Accelerometer