Single and Dual Zone Infra Red Thermometer
MLX90614 Class Reference
Example: More...
#include <MLX90614.h>
Public Types | |
enum | MLX90614_address_t { MLX90614_ADDRESS = ( 0x5A << 1 ) } |
DEFAULT ADDRESSES. More... | |
enum | MLX90614_command_t { MLX90614_RAM_ACCESS = 0b00011111, MLX90614_EEPROM_ACCESS = 0b00100000, MLX90614_FLAGS = 0b11110000, MLX90614_SLEEP = 0b11111111 } |
COMMANDS. More... | |
enum | MLX90614_eeprom_registers_t { MLX90614_TO_MAX = ( MLX90614_EEPROM_ACCESS | 0x00 ), MLX90614_TO_MIN = ( MLX90614_EEPROM_ACCESS | 0x01 ), MLX90614_PWMCTRL = ( MLX90614_EEPROM_ACCESS | 0x02 ), MLX90614_TA_RANGE = ( MLX90614_EEPROM_ACCESS | 0x03 ), MLX90614_EMISSIVITY_CORRECTION_COEFFICIENT = ( MLX90614_EEPROM_ACCESS | 0x04 ), MLX90614_CONFIG_REGISTER_1 = ( MLX90614_EEPROM_ACCESS | 0x05 ), MLX90614_SMBUS_ADDRESS = ( MLX90614_EEPROM_ACCESS | 0x0E ), MLX90614_ID_NUMBER_0 = ( MLX90614_EEPROM_ACCESS | 0x0C ), MLX90614_ID_NUMBER_1 = ( MLX90614_EEPROM_ACCESS | 0x0D ), MLX90614_ID_NUMBER_2 = ( MLX90614_EEPROM_ACCESS | 0x0E ), MLX90614_ID_NUMBER_3 = ( MLX90614_EEPROM_ACCESS | 0x0F ) } |
EEPROM REGISTERS. More... | |
enum | MLX90614_ram_registers_t { MLX90614_RAW_DATA_IR_CHANNEL_1 = ( MLX90614_RAM_ACCESS & 0x04 ), MLX90614_RAW_DATA_IR_CHANNEL_2 = ( MLX90614_RAM_ACCESS & 0x05 ), MLX90614_TA = ( MLX90614_RAM_ACCESS & 0x06 ), MLX90614_TOBJ_1 = ( MLX90614_RAM_ACCESS & 0x07 ), MLX90614_TOBJ_2 = ( MLX90614_RAM_ACCESS & 0x08 ) } |
RAM REGISTERS. More... | |
enum | MLX90614_flags_t { FLAG_EEBUSY_HIGH = ( 1 << 7 ), FLAG_EEBUSY_LOW = ( 0 << 7 ), FLAG_EE_DEAD_HIGH = ( 1 << 5 ), FLAG_EE_DEAD_LOW = ( 0 << 5 ), FLAG_INIT_LOW = ( 0 << 4 ), FLAG_INIT_HIGH = ( 1 << 4 ) } |
FLAGS. More... | |
enum | MLX90614_configregister1_iir_t { CONFIGREG1_IIR_MASK = ( 7 << 0 ), CONFIGREG1_IIR_100 = ( 4 << 0 ), CONFIGREG1_IIR_80 = ( 5 << 0 ), CONFIGREG1_IIR_67 = ( 6 << 0 ), CONFIGREG1_IIR_57 = ( 7 << 0 ), CONFIGREG1_IIR_50 = ( 0 << 0 ), CONFIGREG1_IIR_25 = ( 1 << 0 ), CONFIGREG1_IIR_17 = ( 2 << 0 ), CONFIGREG1_IIR_13 = ( 3 << 0 ) } |
CONFIG REGISTER 1. More... | |
enum | MLX90614_configregister1_temp_t { CONFIGREG1_TEMP_MASK = ( 3 << 4 ), CONFIGREG1_TEMP_TA_TOBJ1 = ( 0 << 4 ), CONFIGREG1_TEMP_TA_TOBJ2 = ( 1 << 4 ), CONFIGREG1_TEMP_TOBJ2 = ( 2 << 4 ), CONFIGREG1_TEMP_TOBJ1_TOBJ2 = ( 3 << 4 ) } |
enum | MLX90614_status_t { , I2C_SUCCESS = 0 } |
Public Member Functions | |
MLX90614 (PinName sda, PinName scl, uint32_t addr, uint32_t freq) | |
Create an MLX90614 object connected to the specified I2C pins. | |
~MLX90614 () | |
Delete MLX90614 object. | |
MLX90614_status_t | MLX90614_GetID_Numbers (MLX90614_vector_data_t *myID) |
It gets the ID numbers. | |
MLX90614_status_t | MLX90614_ReadRawTA (MLX90614_vector_data_t *myRawTA) |
It reads the raw ambient temperature. | |
MLX90614_status_t | MLX90614_ReadTA (MLX90614_vector_data_t *myTA) |
It reads the ambient temperature in Celsius degrees. | |
MLX90614_status_t | MLX90614_ReadRawTObj1 (MLX90614_vector_data_t *myRawTObj1) |
It reads the raw object 1 temperature. | |
MLX90614_status_t | MLX90614_ReadTObj1 (MLX90614_vector_data_t *myObj1) |
It reads the object 1 temperature. | |
MLX90614_status_t | MLX90614_ReadRawTObj2 (MLX90614_vector_data_t *myRawTObj2) |
It reads the raw object 2 temperature. | |
MLX90614_status_t | MLX90614_ReadTObj2 (MLX90614_vector_data_t *myObj2) |
It reads the object 2 temperature. | |
MLX90614_status_t | MLX90614_GetEmissivity (MLX90614_vector_data_t *myEmissivity) |
It gets the Emissivity correction coefficient. | |
MLX90614_status_t | MLX90614_SetEmissivity (MLX90614_vector_data_t myEmissivity) |
It sets the Emissivity correction coefficient. | |
MLX90614_status_t | MLX90614_GetIIR (MLX90614_vector_data_t *myIIR) |
It gets the IIR. | |
MLX90614_status_t | MLX90614_SetIIR (MLX90614_configregister1_iir_t myIIR) |
It sets the IIR. | |
MLX90614_status_t | MLX90614_GetTemperatureSource (MLX90614_vector_data_t *myTempSource) |
It gets the Temperature Source. | |
MLX90614_status_t | MLX90614_SetTemperatureSource (MLX90614_configregister1_temp_t myTempSource) |
It sets the Temperature Source. | |
MLX90614_status_t | MLX90614_GetFLAGS (MLX90614_vector_data_t *myFlags) |
It gets the FLAGS. |
Detailed Description
Example:
include "mbed.h" include "MLX90614.h"
MLX90614 myMLX90614 ( I2C_SDA, I2C_SCL, MLX90614::MLX90614_ADDRESS, 100000 ); Serial pc ( USBTX, USBRX );
Ticker newReading; DigitalOut myled(LED1);
MLX90614::MLX90614_status_t aux; MLX90614::MLX90614_vector_data_t myMLX90614Data; uint8_t myState = 0;
void changeDATA ( void ) { myState = 1; }
int main() { pc.baud ( 115200 );
Get the IDs aux = myMLX90614.MLX90614_GetID_Numbers ( &myMLX90614Data ); pc.printf( "ID_0: %d\nID_1: %d\nID_2: %d\nID_3: %d\r\n", myMLX90614Data.ID[0], myMLX90614Data.ID[1], myMLX90614Data.ID[2], myMLX90614Data.ID[3] );
newReading.attach( &changeDATA, 1 ); // the address of the function to be attached ( changeDATA ) and the interval ( 1s )
Let the callbacks take care of everything while(1) { sleep();
myled = 1;
if ( myState == 1 ) { Get the data aux = myMLX90614.MLX90614_ReadTA ( &myMLX90614Data ); aux = myMLX90614.MLX90614_ReadTObj1 ( &myMLX90614Data );
pc.printf( "Ta: %0.2fC\nTObj1: %0.2fC\r\n", myMLX90614Data.TA, myMLX90614Data.TObj1 );
myState = 0; // Reset the variable }
myled = 0; } }
Library for the MLX90614 Single and Dual Zone Infra Red Thermometer.
Definition at line 80 of file MLX90614.h.
Member Enumeration Documentation
enum MLX90614_address_t |
DEFAULT ADDRESSES.
- Enumerator:
MLX90614_ADDRESS MLX90614 I2C Address
Definition at line 86 of file MLX90614.h.
enum MLX90614_command_t |
COMMANDS.
- Enumerator:
MLX90614_RAM_ACCESS Seconds. RANGE 00-59
MLX90614_EEPROM_ACCESS LSB of Temp
MLX90614_FLAGS LSB of Temp
MLX90614_SLEEP LSB of Temp
Definition at line 95 of file MLX90614.h.
CONFIG REGISTER 1.
- Enumerator:
Definition at line 153 of file MLX90614.h.
- Enumerator:
CONFIGREG1_TEMP_MASK Temp Mask
CONFIGREG1_TEMP_TA_TOBJ1 Ta, Tobj1
CONFIGREG1_TEMP_TA_TOBJ2 Ta, Tobj2
CONFIGREG1_TEMP_TOBJ2 Tobj2
CONFIGREG1_TEMP_TOBJ1_TOBJ2 Tobj1, Tobj2
Definition at line 166 of file MLX90614.h.
EEPROM REGISTERS.
- Enumerator:
Definition at line 107 of file MLX90614.h.
enum MLX90614_flags_t |
FLAGS.
- Enumerator:
Definition at line 139 of file MLX90614.h.
RAM REGISTERS.
- Enumerator:
MLX90614_RAW_DATA_IR_CHANNEL_1 Raw data IR channel 1
MLX90614_RAW_DATA_IR_CHANNEL_2 Raw data IR channel 2
MLX90614_TA TA
MLX90614_TOBJ_1 TOBJ 1
MLX90614_TOBJ_2 TOBJ 2
Definition at line 125 of file MLX90614.h.
enum MLX90614_status_t |
Definition at line 224 of file MLX90614.h.
Constructor & Destructor Documentation
MLX90614 | ( | PinName | sda, |
PinName | scl, | ||
uint32_t | addr, | ||
uint32_t | freq | ||
) |
Create an MLX90614 object connected to the specified I2C pins.
- Parameters:
-
sda I2C data pin scl I2C clock pin addr I2C slave address freq I2C frequency in Hz.
Single and Dual Zone Infra Red Thermometer. Function file.
- Returns:
- NA
- Date:
- 26/December/2017
- Version:
- 26/December/2017 The ORIGIN
- Precondition:
- NaN.
- Warning:
- NaN
- Precondition:
- This code belongs to AqueronteBlog ( http://unbarquero.blogspot.com ).
Definition at line 20 of file MLX90614.cpp.
~MLX90614 | ( | ) |
Delete MLX90614 object.
Definition at line 28 of file MLX90614.cpp.
Member Function Documentation
MLX90614::MLX90614_status_t MLX90614_GetEmissivity | ( | MLX90614_vector_data_t * | myEmissivity ) |
It gets the Emissivity correction coefficient.
MLX90614_GetEmissivity ( MLX90614_vector_data_t* )
It gets the Emissivity correction coefficient.
- Parameters:
-
[in] NaN [out] myEmissivity,: Emissivity correction coefficient.
- Returns:
- Status of MLX90614_GetEmissivity.
- Date:
- 26/December/2017
- Version:
- 26/December/2017 The ORIGIN
- Precondition:
- NaN.
- Warning:
- NaN.
Definition at line 390 of file MLX90614.cpp.
MLX90614::MLX90614_status_t MLX90614_GetFLAGS | ( | MLX90614_vector_data_t * | myFlags ) |
It gets the FLAGS.
MLX90614_GetFLAGS ( MLX90614_vector_data_t* )
It gets the flags.
- Parameters:
-
[in] NaN. [out] myFlags,: Flags.
- Returns:
- Status of MLX90614_GetFLAGS.
- Date:
- 26/December/2017
- Version:
- 26/December/2017 The ORIGIN
- Precondition:
- NaN.
- Warning:
- NaN.
Definition at line 736 of file MLX90614.cpp.
MLX90614::MLX90614_status_t MLX90614_GetID_Numbers | ( | MLX90614_vector_data_t * | myID ) |
It gets the ID numbers.
MLX90614_GetID_Numbers ( MLX90614_vector_data_t* )
It gets the ID numbers.
- Parameters:
-
[in] NaN [out] myID,: ID numbers.
- Returns:
- Status of MLX90614_GetID_Numbers.
- Date:
- 26/December/2017
- Version:
- 26/December/2017 The ORIGIN
- Precondition:
- NaN.
- Warning:
- NaN.
Definition at line 54 of file MLX90614.cpp.
MLX90614::MLX90614_status_t MLX90614_GetIIR | ( | MLX90614_vector_data_t * | myIIR ) |
It gets the IIR.
MLX90614_GetIIR ( MLX90614_vector_data_t* )
It gets the IIR.
- Parameters:
-
[in] NaN. [out] myIIR,: IIR.
- Returns:
- Status of MLX90614_GetIIR.
- Date:
- 26/December/2017
- Version:
- 26/December/2017 The ORIGIN
- Precondition:
- NaN.
- Warning:
- NaN.
Definition at line 503 of file MLX90614.cpp.
MLX90614::MLX90614_status_t MLX90614_GetTemperatureSource | ( | MLX90614_vector_data_t * | myTempSource ) |
It gets the Temperature Source.
MLX90614_GetTemperatureSource ( MLX90614_vector_data_t* )
It gets the temperature source.
- Parameters:
-
[in] NaN [out] myTempSource,: Temperature source.
- Returns:
- Status of MLX90614_GetTemperatureSource.
- Date:
- 26/December/2017
- Version:
- 26/December/2017 The ORIGIN
- Precondition:
- NaN.
- Warning:
- NaN.
Definition at line 620 of file MLX90614.cpp.
MLX90614::MLX90614_status_t MLX90614_ReadRawTA | ( | MLX90614_vector_data_t * | myRawTA ) |
It reads the raw ambient temperature.
MLX90614_ReadRawTA ( MLX90614_vector_data_t* )
It raw ambient temperature.
- Parameters:
-
[in] NaN. [out] myRawTA,: Raw ambient temperature.
- Returns:
- Status of MLX90614_ReadRawTA.
- Date:
- 26/December/2017
- Version:
- 26/December/2017 The ORIGIN
- Precondition:
- NaN.
- Warning:
- NaN.
Definition at line 120 of file MLX90614.cpp.
MLX90614::MLX90614_status_t MLX90614_ReadRawTObj1 | ( | MLX90614_vector_data_t * | myRawTObj1 ) |
It reads the raw object 1 temperature.
MLX90614_ReadRawTObj1 ( MLX90614_vector_data_t* )
It raw object 1 temperature.
- Parameters:
-
[in] NaN. [out] myRawTObj1,: Raw object 1 temperature.
- Returns:
- Status of MLX90614_ReadRawTObj1.
- Date:
- 26/December/2017
- Version:
- 26/December/2017 The ORIGIN
- Precondition:
- NaN.
- Warning:
- NaN.
Definition at line 210 of file MLX90614.cpp.
MLX90614::MLX90614_status_t MLX90614_ReadRawTObj2 | ( | MLX90614_vector_data_t * | myRawTObj2 ) |
It reads the raw object 2 temperature.
MLX90614_ReadRawTObj2 ( MLX90614_vector_data_t* )
It raw object 2 temperature.
- Parameters:
-
[in] NaN. [out] myRawTObj1,: Raw object 2 temperature.
- Returns:
- Status of MLX90614_ReadRawTObj2.
- Date:
- 26/December/2017
- Version:
- 26/December/2017 The ORIGIN
- Precondition:
- NaN.
- Warning:
- NaN.
Definition at line 300 of file MLX90614.cpp.
MLX90614::MLX90614_status_t MLX90614_ReadTA | ( | MLX90614_vector_data_t * | myTA ) |
It reads the ambient temperature in Celsius degrees.
MLX90614_ReadTA ( MLX90614_vector_data_t* )
It ambient temperature.
- Parameters:
-
[in] NaN [out] myTA,: Ambient temperature in Celsius.
- Returns:
- Status of MLX90614_ReadTA.
- Date:
- 26/December/2017
- Version:
- 26/December/2017 The ORIGIN
- Precondition:
- NaN.
- Warning:
- NaN.
Definition at line 165 of file MLX90614.cpp.
MLX90614::MLX90614_status_t MLX90614_ReadTObj1 | ( | MLX90614_vector_data_t * | myTObj1 ) |
It reads the object 1 temperature.
MLX90614_ReadTObj1 ( MLX90614_vector_data_t* )
It object 1 temperature.
- Parameters:
-
[in] NaN. [out] myTObj1,: Object 1 temperature in Celsius.
- Returns:
- Status of MLX90614_ReadTObj1.
- Date:
- 26/December/2017
- Version:
- 26/December/2017 The ORIGIN
- Precondition:
- NaN.
- Warning:
- NaN.
Definition at line 255 of file MLX90614.cpp.
MLX90614::MLX90614_status_t MLX90614_ReadTObj2 | ( | MLX90614_vector_data_t * | myTObj2 ) |
It reads the object 2 temperature.
MLX90614_ReadTObj2 ( MLX90614_vector_data_t* )
It object 2 temperature.
- Parameters:
-
[in] NaN. [out] myTObj2,: Object 2 temperature in Celsius.
- Returns:
- Status of MLX90614_ReadTObj2.
- Date:
- 26/December/2017
- Version:
- 26/December/2017 The ORIGIN
- Precondition:
- NaN.
- Warning:
- NaN.
Definition at line 345 of file MLX90614.cpp.
MLX90614::MLX90614_status_t MLX90614_SetEmissivity | ( | MLX90614_vector_data_t | myEmissivity ) |
It sets the Emissivity correction coefficient.
MLX90614_SetEmissivity ( MLX90614_vector_data_t* )
It sets the Emissivity correction coefficient.
- Parameters:
-
[in] NaN. [in] myEmissivity,: Emissivity correction coefficient. [out] NaN
- Returns:
- Status of MLX90614_SetEmissivity.
- Date:
- 26/December/2017
- Version:
- 26/December/2017 The ORIGIN
- Precondition:
- NaN.
- Warning:
- NaN.
Definition at line 435 of file MLX90614.cpp.
MLX90614::MLX90614_status_t MLX90614_SetIIR | ( | MLX90614_configregister1_iir_t | myIIR ) |
It sets the IIR.
MLX90614_SetIIR ( MLX90614_configregister1_iir_t )
It sets the IIR.
- Parameters:
-
[in] NaN. [in] myIIR,: IIR. [out] NaN.
- Returns:
- Status of MLX90614_SetIIR.
- Date:
- 26/December/2017
- Version:
- 26/December/2017 The ORIGIN
- Precondition:
- NaN.
- Warning:
- NaN.
Definition at line 547 of file MLX90614.cpp.
MLX90614::MLX90614_status_t MLX90614_SetTemperatureSource | ( | MLX90614_configregister1_temp_t | myTempSource ) |
It sets the Temperature Source.
MLX90614_SetTemperatureSource ( I2C_parameters_t , MLX90614_configregister1_temp_t )
It sets the temperature source.
- Parameters:
-
[in] myTempSource,: Temperature source. [out] NaN.
- Returns:
- Status of MLX90614_SetTemperatureSource.
- Date:
- 26/December/2017
- Version:
- 26/December/2017 The ORIGIN
- Precondition:
- NaN.
- Warning:
- NaN.
Definition at line 663 of file MLX90614.cpp.
Generated on Sat Jul 16 2022 10:32:24 by 1.7.2