Commented debug printfs
Dependents: LoRaWAN-NAMote72-Application-Demo_IoTium LoRaWAN-NAMote72-BVS-confirmed-tester-0-7v1_copy LoRaWAN-NAMote72-Application-Demo-good LoRaWAN-NAMote72-Application-Demo
Fork of lib_mpl3115a2 by
mpl3115a2.h@0:6bba2efea51e, 2015-03-18 (annotated)
- Committer:
- dudmuck
- Date:
- Wed Mar 18 01:00:53 2015 +0000
- Revision:
- 0:6bba2efea51e
- Child:
- 1:3cd1f21925e8
MPL3115A2 driver
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dudmuck | 0:6bba2efea51e | 1 | #include "mbed.h" |
dudmuck | 0:6bba2efea51e | 2 | |
dudmuck | 0:6bba2efea51e | 3 | /* |
dudmuck | 0:6bba2efea51e | 4 | * MPL3115A2 Registers |
dudmuck | 0:6bba2efea51e | 5 | */ |
dudmuck | 0:6bba2efea51e | 6 | #define STATUS_REG 0x00 // STATUS Register |
dudmuck | 0:6bba2efea51e | 7 | |
dudmuck | 0:6bba2efea51e | 8 | #define OUT_P_MSB_REG 0x01 // Bits 12-19 of 20-bit real-time Pressure sample |
dudmuck | 0:6bba2efea51e | 9 | #define OUT_P_CSB_REG 0x02 // Bits 4-11 of 20-bit real-time Pressure sample |
dudmuck | 0:6bba2efea51e | 10 | #define OUT_P_LSB_REG 0x03 // Bits 0-3 of 20-bit real-time Pressure sample |
dudmuck | 0:6bba2efea51e | 11 | #define OUT_T_MSB_REG 0x04 // Bits 4-11 of 12-bit real-time Temperature sample |
dudmuck | 0:6bba2efea51e | 12 | #define OUT_T_LSB_REG 0x05 // Bits 0-3 of 12-bit real-time Temperature sample |
dudmuck | 0:6bba2efea51e | 13 | |
dudmuck | 0:6bba2efea51e | 14 | #define DR_STATUS 0x06 // Data Ready status information |
dudmuck | 0:6bba2efea51e | 15 | |
dudmuck | 0:6bba2efea51e | 16 | #define OUT_P_DELTA_MSB_REG 0x07 // Bits 12-19 of 20-bit Pressure change data |
dudmuck | 0:6bba2efea51e | 17 | #define OUT_P_DELTA_CSB_REG 0x08 // Bits 4-11 of 20-bit Pressure change data |
dudmuck | 0:6bba2efea51e | 18 | #define OUT_P_DELTA_LSB_REG 0x09 // Bits 0-3 of 20-bit Pressure change data |
dudmuck | 0:6bba2efea51e | 19 | #define OUT_T_DELTA_MSB_REG 0x0A // Bits 4-11 of 12-bit Temperature change data |
dudmuck | 0:6bba2efea51e | 20 | #define OUT_T_DELTA_LSB_REG 0x0B // Bits 0-3 of 12-bit Temperature change data |
dudmuck | 0:6bba2efea51e | 21 | |
dudmuck | 0:6bba2efea51e | 22 | #define MPL3115_ID 0x0C // Fixed Device ID Number = 0xC4 |
dudmuck | 0:6bba2efea51e | 23 | |
dudmuck | 0:6bba2efea51e | 24 | #define F_STATUS_REG 0x0D // FIFO Status |
dudmuck | 0:6bba2efea51e | 25 | #define F_DATA_REG 0x0E // FIFO 8-bit data access |
dudmuck | 0:6bba2efea51e | 26 | #define F_SETUP_REG 0x0F // FIFO setup |
dudmuck | 0:6bba2efea51e | 27 | #define TIME_DLY_REG 0x10 // Time since FIFO overflow |
dudmuck | 0:6bba2efea51e | 28 | |
dudmuck | 0:6bba2efea51e | 29 | #define SYSMOD_REG 0x11 // Current system mode |
dudmuck | 0:6bba2efea51e | 30 | #define INT_SOURCE_REG 0x12 // Interrupt status |
dudmuck | 0:6bba2efea51e | 31 | #define PT_DATA_CFG_REG 0x13 // Data event flag configuration |
dudmuck | 0:6bba2efea51e | 32 | |
dudmuck | 0:6bba2efea51e | 33 | #define BAR_IN_MSB_REG 0x14 // Barometric input for Altitude calculation bits 8-15 |
dudmuck | 0:6bba2efea51e | 34 | #define BAR_IN_LSB_REG 0x15 // Barometric input for Altitude calculation bits 0-7 |
dudmuck | 0:6bba2efea51e | 35 | |
dudmuck | 0:6bba2efea51e | 36 | #define P_TGT_MSB_REG 0x16 // Pressure/Altitude target value bits 8-15 |
dudmuck | 0:6bba2efea51e | 37 | #define P_TGT_LSB_REG 0x17 // Pressure/Altitude target value bits 0-7 |
dudmuck | 0:6bba2efea51e | 38 | #define T_TGT_REG 0x18 // Temperature target value |
dudmuck | 0:6bba2efea51e | 39 | |
dudmuck | 0:6bba2efea51e | 40 | #define P_WND_MSB_REG 0x19 // Pressure/Altitude window value bits 8-15 |
dudmuck | 0:6bba2efea51e | 41 | #define P_WND_LSB_REG 0x1A // Pressure/Altitude window value bits 0-7 |
dudmuck | 0:6bba2efea51e | 42 | #define T_WND_REG 0x1B // Temperature window value |
dudmuck | 0:6bba2efea51e | 43 | |
dudmuck | 0:6bba2efea51e | 44 | #define P_MIN_MSB_REG 0x1C // Minimum Pressure/Altitude bits 12-19 |
dudmuck | 0:6bba2efea51e | 45 | #define P_MIN_CSB_REG 0x1D // Minimum Pressure/Altitude bits 4-11 |
dudmuck | 0:6bba2efea51e | 46 | #define P_MIN_LSB_REG 0x1E // Minimum Pressure/Altitude bits 0-3 |
dudmuck | 0:6bba2efea51e | 47 | #define T_MIN_MSB_REG 0x1F // Minimum Temperature bits 8-15 |
dudmuck | 0:6bba2efea51e | 48 | #define T_MIN_LSB_REG 0x20 // Minimum Temperature bits 0-7 |
dudmuck | 0:6bba2efea51e | 49 | |
dudmuck | 0:6bba2efea51e | 50 | #define P_MAX_MSB_REG 0x21 // Maximum Pressure/Altitude bits 12-19 |
dudmuck | 0:6bba2efea51e | 51 | #define P_MAX_CSB_REG 0x22 // Maximum Pressure/Altitude bits 4-11 |
dudmuck | 0:6bba2efea51e | 52 | #define P_MAX_LSB_REG 0x23 // Maximum Pressure/Altitude bits 0-3 |
dudmuck | 0:6bba2efea51e | 53 | #define T_MAX_MSB_REG 0x24 // Maximum Pressure/Altitude bits 8-15 |
dudmuck | 0:6bba2efea51e | 54 | #define T_MAX_LSB_REG 0x25 // Maximum Pressure/Altitude bits 0-7 |
dudmuck | 0:6bba2efea51e | 55 | |
dudmuck | 0:6bba2efea51e | 56 | #define CTRL_REG1 0x26 // CTRL_REG1 System Control 1 Register |
dudmuck | 0:6bba2efea51e | 57 | #define CTRL_REG2 0x27 // CTRL_REG2 System Control 2 Register |
dudmuck | 0:6bba2efea51e | 58 | #define CTRL_REG3 0x28 // CTRL_REG3 Interrupt Configuration Register |
dudmuck | 0:6bba2efea51e | 59 | #define CTRL_REG4 0x29 // CTRL_REG4 Interrupt Enable Register |
dudmuck | 0:6bba2efea51e | 60 | #define CTRL_REG5 0x2A // CTRL_REG5 Interrupt Output Pin Assignment Register |
dudmuck | 0:6bba2efea51e | 61 | |
dudmuck | 0:6bba2efea51e | 62 | #define OFF_P_REG 0x2B // Pressure data offset |
dudmuck | 0:6bba2efea51e | 63 | #define OFF_T_REG 0x2C // Temperature data offset |
dudmuck | 0:6bba2efea51e | 64 | #define OFF_H_REG 0x2D // Altitude data offset |
dudmuck | 0:6bba2efea51e | 65 | |
dudmuck | 0:6bba2efea51e | 66 | class MPL3115A2 { |
dudmuck | 0:6bba2efea51e | 67 | public: |
dudmuck | 0:6bba2efea51e | 68 | MPL3115A2(I2C& r); |
dudmuck | 0:6bba2efea51e | 69 | ~MPL3115A2(); |
dudmuck | 0:6bba2efea51e | 70 | //void try_read(void); |
dudmuck | 0:6bba2efea51e | 71 | void write(uint8_t reg_addr, uint8_t reg_value); |
dudmuck | 0:6bba2efea51e | 72 | void init(void); |
dudmuck | 0:6bba2efea51e | 73 | uint8_t read(uint8_t a); |
dudmuck | 0:6bba2efea51e | 74 | void SetModeActive(void); |
dudmuck | 0:6bba2efea51e | 75 | void SetModeStandby(void); |
dudmuck | 0:6bba2efea51e | 76 | float ReadAltitude( void ); |
dudmuck | 0:6bba2efea51e | 77 | float ReadTemperature( void ); |
dudmuck | 0:6bba2efea51e | 78 | void SetModeAltimeter(void); |
dudmuck | 0:6bba2efea51e | 79 | void ToggleOneShot( void ); |
dudmuck | 0:6bba2efea51e | 80 | float Altitude; |
dudmuck | 0:6bba2efea51e | 81 | float Temperature; |
dudmuck | 0:6bba2efea51e | 82 | |
dudmuck | 0:6bba2efea51e | 83 | private: |
dudmuck | 0:6bba2efea51e | 84 | I2C& m_i2c; |
dudmuck | 0:6bba2efea51e | 85 | }; |
dudmuck | 0:6bba2efea51e | 86 | |
dudmuck | 0:6bba2efea51e | 87 |