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
--- 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