Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
IMU/Sensors/I2C_Sensor.h@10:14390c90c3f5, 2015-08-31 (annotated)
- Committer:
- maetugr
- Date:
- Mon Aug 31 20:20:50 2015 +0000
- Revision:
- 10:14390c90c3f5
- Parent:
- 6:1aa4f722e8e0
before changing to MPU9250
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
maetugr | 0:12950aa67f2a | 1 | // by MaEtUgR |
maetugr | 0:12950aa67f2a | 2 | |
maetugr | 0:12950aa67f2a | 3 | #ifndef I2C_Sensor_H |
maetugr | 0:12950aa67f2a | 4 | #define I2C_Sensor_H |
maetugr | 0:12950aa67f2a | 5 | |
maetugr | 0:12950aa67f2a | 6 | #include "mbed.h" |
maetugr | 0:12950aa67f2a | 7 | |
maetugr | 0:12950aa67f2a | 8 | class I2C_Sensor |
maetugr | 0:12950aa67f2a | 9 | { |
maetugr | 0:12950aa67f2a | 10 | public: |
maetugr | 0:12950aa67f2a | 11 | I2C_Sensor(PinName sda, PinName scl, char address); |
maetugr | 0:12950aa67f2a | 12 | |
maetugr | 0:12950aa67f2a | 13 | float data[3]; // where the measured data is saved |
maetugr | 0:12950aa67f2a | 14 | //TODO: virtual void calibrate() = 0; // calibrate the sensor and if desired write calibration values to a file |
maetugr | 0:12950aa67f2a | 15 | |
maetugr | 1:5e2b81f2d0b4 | 16 | //protected: |
maetugr | 0:12950aa67f2a | 17 | // Calibration |
maetugr | 0:12950aa67f2a | 18 | void saveCalibrationValues(float values[], int size, char * filename); |
maetugr | 0:12950aa67f2a | 19 | void loadCalibrationValues(float values[], int size, char * filename); |
maetugr | 0:12950aa67f2a | 20 | |
maetugr | 0:12950aa67f2a | 21 | // I2C functions |
maetugr | 0:12950aa67f2a | 22 | char readRegister(char reg); |
maetugr | 0:12950aa67f2a | 23 | void writeRegister(char reg, char data); |
maetugr | 5:06e978fd147a | 24 | int readMultiRegister(char reg, char* output, int size); |
maetugr | 0:12950aa67f2a | 25 | |
maetugr | 0:12950aa67f2a | 26 | // raw data and function to measure it |
maetugr | 0:12950aa67f2a | 27 | short raw[3]; |
maetugr | 0:12950aa67f2a | 28 | |
maetugr | 0:12950aa67f2a | 29 | private: |
maetugr | 0:12950aa67f2a | 30 | I2C i2c; // original mbed I2C-library just to initialise the control registers |
maetugr | 0:12950aa67f2a | 31 | char i2c_address; // address |
maetugr | 0:12950aa67f2a | 32 | |
maetugr | 0:12950aa67f2a | 33 | LocalFileSystem local; // file access to save calibration values |
maetugr | 0:12950aa67f2a | 34 | }; |
maetugr | 0:12950aa67f2a | 35 | |
maetugr | 0:12950aa67f2a | 36 | #endif |