Mangue Baja Personalized MLX program
my_mlx.h
- Committer:
- einsteingustavo
- Date:
- 2019-08-01
- Revision:
- 0:b8c679416b97
File content as of revision 0:b8c679416b97:
/*************************************************** This is a library for the MLX90614 Temp Sensor Designed specifically to work with the MLX90614 sensors in the adafruit shop ----> https://www.adafruit.com/products/1748 ----> https://www.adafruit.com/products/1749 These sensors use I2C to communicate, 2 pins are required to interface Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit! Written by Limor Fried/Ladyada for Adafruied in any redistribution ****************************************************/ #include "mbed.h" #define _addr 0x5A #define MLX90614_I2CADDR 0x5A // RAM #define MLX90614_RAWIR1 0x04 #define MLX90614_RAWIR2 0x05 #define MLX90614_TA 0x06 #define MLX90614_TOBJ1 0x07 #define MLX90614_TOBJ2 0x08 // EEPROM #define MLX90614_TOMAX 0x20 #define MLX90614_TOMIN 0x21 #define MLX90614_PWMCTRL 0x22 #define MLX90614_TARANGE 0x23 #define MLX90614_EMISS 0x24 #define MLX90614_CONFIG 0x25 #define MLX90614_ADDR 0x0E #define MLX90614_ID1 0x3C #define MLX90614_ID2 0x3D #define MLX90614_ID3 0x3E #define MLX90614_ID4 0x3F class Adafruit_MLX90614 { public: Adafruit_MLX90614(PinName sda, PinName scl); Adafruit_MLX90614(I2C *i2c); ~Adafruit_MLX90614(); bool begin(); uint32_t readID(void); double readObjectTempC(void); double readAmbientTempC(void); double readObjectTempF(void); double readAmbientTempF(void); private: float readTemp(uint8_t reg); I2C *i2c_; uint16_t read16(uint8_t addr); void write16(uint8_t addr, uint16_t data); };