mbed library for Bosch BMX055 sensor
Dependents: Auto_pilot_prototype_3_2 Auto_pilot_prototype_3_2_os_2
test_BMX055.h@0:3df2d4d2d393, 2020-05-23 (annotated)
- Committer:
- Joeatsumi
- Date:
- Sat May 23 13:17:09 2020 +0000
- Revision:
- 0:3df2d4d2d393
- Child:
- 1:b387585de3b5
Magnetometer functions were added in the header and cpp file.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Joeatsumi | 0:3df2d4d2d393 | 1 | #include "mbed.h" |
Joeatsumi | 0:3df2d4d2d393 | 2 | |
Joeatsumi | 0:3df2d4d2d393 | 3 | #define GYRO_ADDRESS 0x69 |
Joeatsumi | 0:3df2d4d2d393 | 4 | #define ACC_ADDRESS 0x19 |
Joeatsumi | 0:3df2d4d2d393 | 5 | #define MAG_ADDRESS 0x13 |
Joeatsumi | 0:3df2d4d2d393 | 6 | |
Joeatsumi | 0:3df2d4d2d393 | 7 | #define MAG_SOFT_RESET 0x4B |
Joeatsumi | 0:3df2d4d2d393 | 8 | #define MAG_ENEBLE 0x4E |
Joeatsumi | 0:3df2d4d2d393 | 9 | |
Joeatsumi | 0:3df2d4d2d393 | 10 | #define GYRO_X_L 0x04 |
Joeatsumi | 0:3df2d4d2d393 | 11 | #define GYRO_X_H 0x05 |
Joeatsumi | 0:3df2d4d2d393 | 12 | #define GYRO_Y_L 0x02 |
Joeatsumi | 0:3df2d4d2d393 | 13 | #define GYRO_Y_H 0x03 |
Joeatsumi | 0:3df2d4d2d393 | 14 | #define GYRO_Z_L 0x06 |
Joeatsumi | 0:3df2d4d2d393 | 15 | #define GYRO_Z_H 0x07 |
Joeatsumi | 0:3df2d4d2d393 | 16 | |
Joeatsumi | 0:3df2d4d2d393 | 17 | #define ACC_X_L 0x04 |
Joeatsumi | 0:3df2d4d2d393 | 18 | #define ACC_X_H 0x05 |
Joeatsumi | 0:3df2d4d2d393 | 19 | #define ACC_Y_L 0x02 |
Joeatsumi | 0:3df2d4d2d393 | 20 | #define ACC_Y_H 0x03 |
Joeatsumi | 0:3df2d4d2d393 | 21 | #define ACC_Z_L 0x06 |
Joeatsumi | 0:3df2d4d2d393 | 22 | #define ACC_Z_H 0x07 |
Joeatsumi | 0:3df2d4d2d393 | 23 | |
Joeatsumi | 0:3df2d4d2d393 | 24 | #define MAG_X_L 0x42 |
Joeatsumi | 0:3df2d4d2d393 | 25 | #define MAG_X_H 0x43 |
Joeatsumi | 0:3df2d4d2d393 | 26 | #define MAG_Y_L 0x44 |
Joeatsumi | 0:3df2d4d2d393 | 27 | #define MAG_Y_H 0x45 |
Joeatsumi | 0:3df2d4d2d393 | 28 | #define MAG_Z_L 0x46 |
Joeatsumi | 0:3df2d4d2d393 | 29 | #define MAG_Z_H 0x47 |
Joeatsumi | 0:3df2d4d2d393 | 30 | |
Joeatsumi | 0:3df2d4d2d393 | 31 | |
Joeatsumi | 0:3df2d4d2d393 | 32 | #define GYRO_RANGE_SET 0x0f |
Joeatsumi | 0:3df2d4d2d393 | 33 | #define ACC_RANGE_SET 0x0f |
Joeatsumi | 0:3df2d4d2d393 | 34 | |
Joeatsumi | 0:3df2d4d2d393 | 35 | class test_BMX055 |
Joeatsumi | 0:3df2d4d2d393 | 36 | { |
Joeatsumi | 0:3df2d4d2d393 | 37 | public: |
Joeatsumi | 0:3df2d4d2d393 | 38 | test_BMX055(PinName sda,PinName scl); |
Joeatsumi | 0:3df2d4d2d393 | 39 | ~test_BMX055(); |
Joeatsumi | 0:3df2d4d2d393 | 40 | |
Joeatsumi | 0:3df2d4d2d393 | 41 | void i2c_mem_write(int device_address, int mem_address, int mem_data); |
Joeatsumi | 0:3df2d4d2d393 | 42 | int i2c_mem_read(int device_address, int mem_address); |
Joeatsumi | 0:3df2d4d2d393 | 43 | |
Joeatsumi | 0:3df2d4d2d393 | 44 | void set_gyro_range(int range); |
Joeatsumi | 0:3df2d4d2d393 | 45 | void set_acc_range(int range); |
Joeatsumi | 0:3df2d4d2d393 | 46 | |
Joeatsumi | 0:3df2d4d2d393 | 47 | void reset_mag(); |
Joeatsumi | 0:3df2d4d2d393 | 48 | void initiate_mag(); |
Joeatsumi | 0:3df2d4d2d393 | 49 | |
Joeatsumi | 0:3df2d4d2d393 | 50 | float get_gyro_x_data(void); |
Joeatsumi | 0:3df2d4d2d393 | 51 | float get_gyro_y_data(void); |
Joeatsumi | 0:3df2d4d2d393 | 52 | float get_gyro_z_data(void); |
Joeatsumi | 0:3df2d4d2d393 | 53 | |
Joeatsumi | 0:3df2d4d2d393 | 54 | float get_acc_x_data(void); |
Joeatsumi | 0:3df2d4d2d393 | 55 | float get_acc_y_data(void); |
Joeatsumi | 0:3df2d4d2d393 | 56 | float get_acc_z_data(void); |
Joeatsumi | 0:3df2d4d2d393 | 57 | |
Joeatsumi | 0:3df2d4d2d393 | 58 | float get_mag_x_data(void); |
Joeatsumi | 0:3df2d4d2d393 | 59 | float get_mag_y_data(void); |
Joeatsumi | 0:3df2d4d2d393 | 60 | float get_mag_z_data(void); |
Joeatsumi | 0:3df2d4d2d393 | 61 | |
Joeatsumi | 0:3df2d4d2d393 | 62 | private: |
Joeatsumi | 0:3df2d4d2d393 | 63 | |
Joeatsumi | 0:3df2d4d2d393 | 64 | I2C i2c; |
Joeatsumi | 0:3df2d4d2d393 | 65 | int currentAcceleroRange; |
Joeatsumi | 0:3df2d4d2d393 | 66 | int currentGyroRange; |
Joeatsumi | 0:3df2d4d2d393 | 67 | float gyro_scale_factor; |
Joeatsumi | 0:3df2d4d2d393 | 68 | int acc_scale_factor; |
Joeatsumi | 0:3df2d4d2d393 | 69 | float gravity; |
Joeatsumi | 0:3df2d4d2d393 | 70 | float RAD_TO_DEG; |
Joeatsumi | 0:3df2d4d2d393 | 71 | |
Joeatsumi | 0:3df2d4d2d393 | 72 | }; |