Manuel Caballero / MCP9808

Dependents:   mbed-os5-F303-18650-Manager-tp4056

Embed: (wiki syntax)

« Back to documentation index

MCP9808 Class Reference

MCP9808 Class Reference

Example: More...

#include <MCP9808.h>

Public Types

enum  MCP9808_addresses_t {
  MCP9808_ADDRESS_0 = ( 0b0011000 << 1U ), MCP9808_ADDRESS_1 = ( 0b0011001 << 1U ), MCP9808_ADDRESS_2 = ( 0b0011010 << 1U ), MCP9808_ADDRESS_3 = ( 0b0011011 << 1U ),
  MCP9808_ADDRESS_4 = ( 0b0011100 << 1U ), MCP9808_ADDRESS_5 = ( 0b0011101 << 1U ), MCP9808_ADDRESS_6 = ( 0b0011110 << 1U ), MCP9808_ADDRESS_7 = ( 0b0011111 << 1U )
}
 

DEFAULT ADDRESSES.

More...
enum  MCP9808_registers_t {
  MCP9808_CONFIG = 0x01, MCP9808_TUPPER = 0x02, MCP9808_TLOWER = 0x03, MCP9808_TCRIT = 0x04,
  MCP9808_TA = 0x05, MCP9808_MANUFACTURER_ID = 0x06, MCP9808_DEVICE_ID = 0x07, MCP9808_RESOLUTION = 0x08
}
 

REGISTERS.

More...
enum  MCP9808_config_thyst_t {
  CONFIG_T_HYST_MASK = ( 0b11 << 9U ), CONFIG_T_HYST_0_C = ( 0b00 << 9U ), CONFIG_T_HYST_1_5_C = ( 0b01 << 9U ), CONFIG_T_HYST_3_0_C = ( 0b10 << 9U ),
  CONFIG_T_HYST_6_0_C = ( 0b11 << 9U )
}
 

CONFIG Register.

More...
enum  MCP9808_config_shdn_t { CONFIG_SHDN_MASK = ( 1U << 8U ), CONFIG_SHDN_CONTINUOUS_CONVERSION = ( 0U << 8U ), CONFIG_SHDN_SHUTDOWN = ( 1U << 8U ) }
enum  MCP9808_config_crit_lock_t { CONFIG_CRIT_LOCK_MASK = ( 1U << 7U ), CONFIG_CRIT_LOCK_UNLOCKED = ( 0U << 7U ), CONFIG_CRIT_LOCK_LOCKED = ( 1U << 7U ) }
enum  MCP9808_config_win_lock_t { CONFIG_WIN_LOCK_MASK = ( 1U << 6U ), CONFIG_WIN_LOCK_UNLOCKED = ( 0U << 6U ), CONFIG_WIN_LOCK_LOCKED = ( 1U << 6U ) }
enum  MCP9808_conf_int_clear_t { CONFIG_INT_CLEAR_MASK = ( 1U << 5U ), CONFIG_INT_CLEAR_NO_EFFECT = ( 0U << 5U ), CONFIG_INT_CLEAR_CLEAR_INT_OUTPUT = ( 1U << 5U ) }
enum  MCP9808_config_alert_stat_t { CONFIG_ALERT_STAT_MASK = ( 1U << 4U ), CONFIG_ALERT_STAT_NOT_ASSERTED = ( 0U << 4U ), CONFIG_ALERT_STAT_ASSERTED = ( 1U << 4U ) }
enum  MCP9808_config_alert_cnt_t { CONFIG_ALERT_CNT_MASK = ( 1U << 3U ), CONFIG_ALERT_CNT_DISABLED = ( 0U << 3U ), CONFIG_ALERT_CNT_ENABLED = ( 1U << 3U ) }
enum  MCP9808_config_alert_sel_t { CONFIG_ALERT_SEL_MASK = ( 1U << 2U ), CONFIG_ALERT_SEL_TUPPER_TLOWER_TCRIT = ( 0U << 2U ), CONFIG_ALERT_SEL_TA_GREATER_TCRIT = ( 1U << 2U ) }
enum  MCP9808_config_alert_pol_t { CONFIG_ALERT_POL_MASK = ( 1U << 1U ), CONFIG_ALERT_POL_ACTIVE_LOW = ( 0U << 1U ), CONFIG_ALERT_POL_ACTIVE_HIGH = ( 1U << 1U ) }
enum  MCP9808_config_alert_mod_t { CONFIG_ALERT_MOD_MASK = ( 1U << 0U ), CONFIG_ALERT_MOD_COMPARATOR_OUTPUT = ( 0U << 0U ), CONFIG_ALERT_MOD_INTERRUPT_OUTPUT = ( 1U << 0U ) }
enum  MCP9808_temperature_limit_sign_t { TEMPERATURE_LIMIT_SIGN_MASK = ( 1U << 12U ), TEMPERATURE_LIMIT_SIGN_TA_POSITIVE = ( 0U << 12U ), TEMPERATURE_LIMIT_SIGN_TA_NEGATIVE = ( 1U << 12U ) }
 

T_UPPER/T_LOWER/T_CRIT TEMPERATURE LIMIT REGISTERS.

More...
enum  MCP9808_temperature_limit_integral_boundary_t { TEMPERATURE_LIMIT_INTEGRAL_PART_MASK = ( 0b11111111 << 4U ) }
enum  MCP9808_temperature_limit_decimal_boundary_t {
  TEMPERATURE_LIMIT_DECIMAL_PART_MASK = ( 0b11 << 2U ), TEMPERATURE_LIMIT_DECIMAL_PART_0_00C = ( 0b00 << 2U ), TEMPERATURE_LIMIT_DECIMAL_PART_0_25C = ( 0b01 << 2U ), TEMPERATURE_LIMIT_DECIMAL_PART_0_50C = ( 0b10 << 2U ),
  TEMPERATURE_LIMIT_DECIMAL_PART_0_75C = ( 0b11 << 2U )
}
enum  MCP9808_t_a_ta_vs_tcrit_t { T_A_TA_VS_TCRIT_MASK = ( 1U << 15U ), T_A_TA_VS_TCRIT_TA_LOWER_TCRIT = ( 0U << 15U ), T_A_TA_VS_TCRIT_TA_GREATER_EQUAL_TCRIT = ( 1U << 15U ) }
 

T_A AMBIENT TEMPERATURE REGISTERS.

More...
enum  MCP9808_t_a_ta_vs_tupper_t { T_A_TA_VS_TUPPER_MASK = ( 1U << 14U ), T_A_TA_VS_TUPPER_TA_LOWER__IQUAL_TUPPER = ( 0U << 14U ), T_A_TA_VS_TUPPER_TA_GREATER_TUPPER = ( 1U << 14U ) }
enum  MCP9808_t_a_ta_vs_tlower_t { T_A_TA_VS_TLOWER_MASK = ( 1U << 13U ), T_A_TA_VS_TLOWER_TA_LOWER_TLOWER = ( 1U << 13U ), T_A_TA_VS_TLOWER_TA_GREATER_EQUAL_TLOWER = ( 0U << 13U ) }
enum  MCP9808_t_a_sign_t { T_A_TA_SIGN_MASK = ( 1U << 12U ), T_A_TA_SIGN_POSITIVE = ( 0U << 12U ), T_A_TA_SIGN_NEGATIVE = ( 1U << 12U ) }
enum  MCP9808_t_a_integral_t { T_A_TA_INTEGRAL_PART_MASK = ( 0b11111111 << 4U ) }
enum  MCP9808_t_a_decimal_t { T_A_TA_DECIMAL_PART_MASK = ( 0b1111 << 0U ) }
enum  MCP9808_resolution_t {
  RESOLUTION_MASK = ( 0b11 << 0U ), RESOLUTION_0_5_C = ( 0b00 << 0U ), RESOLUTION_0_25_C = ( 0b01 << 0U ), RESOLUTION_0_125_C = ( 0b10 << 0U ),
  RESOLUTION_0_0625_C = ( 0b11 << 0U )
}
 

RESOLUTION REGISTER.

More...
enum  MCP9808_status_t { , I2C_SUCCESS = 0U }
 

INTERNAL CONSTANTS.

More...

Public Member Functions

 MCP9808 (PinName sda, PinName scl, uint32_t addr, uint32_t freq)
 Create an MCP9808 object connected to the specified I2C pins.
 ~MCP9808 ()
 Delete MCP9808 object.
MCP9808_status_t MCP9808_GetCONFIG (MCP9808_config_reg_t *myCONFIG)
 It gets CONFIG register value.
MCP9808_status_t MCP9808_SetCONFIG (MCP9808_config_reg_t myCONFIG)
 It sets CONFIG register value.
MCP9808_status_t MCP9808_SetT_Limit (MCP9808_registers_t myTLimit, MCP9808_data_t myTValue_Limit)
 It sets temperature limit for: T_UPPER, T_LOWER or T_CRIT.
MCP9808_status_t MCP9808_GetT_Limit (MCP9808_registers_t myTLimit, MCP9808_data_t *myTValue_Limit)
 It gets temperature limit for: T_UPPER, T_LOWER or T_CRIT.
MCP9808_status_t MCP9808_GetRawTA (MCP9808_data_t *myRawTA)
 It gets ambient temperature register ( raw value ).
MCP9808_status_t MCP9808_GetTA (MCP9808_data_t *myTA)
 It gets ambient temperature register ( Celsius degrees ).
MCP9808_status_t MCP9808_GetManufacturerID (MCP9808_data_t *myManufacturerID)
 It gets manufacturer ID.
MCP9808_status_t MCP9808_GetDeviceID (MCP9808_data_t *myDeviceID)
 It gets both device ID and device revision.
MCP9808_status_t MCP9808_SetResolution (MCP9808_data_t myResolution)
 It sets the sensor resolution.
MCP9808_status_t MCP9808_GetResolution (MCP9808_data_t *myResolution)
 It gets the sensor resolution.

Detailed Description

Example:

#include "mbed.h"
#include "MCP9808.h"

MCP9808 myMCP9808 ( p28, p27, MCP9808::MCP9808_ADDRESS_0 , 400000 );             // I2C_SDA | I2C_SCL
Serial pc         ( USBTX, USBRX );                                             // tx, rx

DigitalOut  myled   ( LED1 );
Ticker      newAction;



// @brief Constants.


// @brief Variables.
volatile uint32_t myState;                                                      // State that indicates when to perform a new sample



// @brief   FUNCTION PROTOTYPES
void    changeDATA     ( void );




//@brief FUNCTION FOR APPLICATION MAIN ENTRY.
int main()
{
    MCP9808::MCP9808_status_t aux;
    MCP9808::MCP9808_config_reg_t  myMCP9808_Config;
    MCP9808::MCP9808_data_t        myMCP9808_Data;

    pc.baud ( 115200 );


    myled   =   1;
    wait(3);
    myled   =   0;

    // Shutdown the device, low-power mode enabled
    aux  =   myMCP9808.MCP9808_GetCONFIG ( &myMCP9808_Config );

    myMCP9808_Config.shdn  =   MCP9808::CONFIG_SHDN_SHUTDOWN ;
    aux  =   myMCP9808.MCP9808_SetCONFIG ( myMCP9808_Config );

    // Get manufacturer ID
    aux  =   myMCP9808.MCP9808_GetManufacturerID ( &myMCP9808_Data );

    // Get device ID and device revision
    aux  =   myMCP9808.MCP9808_GetDeviceID ( &myMCP9808_Data );

    // Configure the device
     //  - T_UPPER and T_LOWER limit hysteresis at 0C
     //  - Continuous conversion mode
     //  - T_CRIT unlocked
     //  - Window lock unlocked
     //  - Alert output control disabled
     //  - Alert output select: Alert for T_UPPER, T_LOWER and T_CRIT
     //  - Alert output polaruty: Active-low
     //  - Alert output mode: Comparator output
     //
    myMCP9808_Config.t_hyst      =   MCP9808::CONFIG_T_HYST_0_C ;
    myMCP9808_Config.shdn        =   MCP9808::CONFIG_SHDN_CONTINUOUS_CONVERSION ;
    myMCP9808_Config.t_crit      =   MCP9808::CONFIG_CRIT_LOCK_UNLOCKED ;
    myMCP9808_Config.t_win_lock  =   MCP9808::CONFIG_WIN_LOCK_UNLOCKED ;
    myMCP9808_Config.alert_cnt   =   MCP9808::CONFIG_ALERT_CNT_DISABLED ;
    myMCP9808_Config.alert_sel   =   MCP9808::CONFIG_ALERT_SEL_TUPPER_TLOWER_TCRIT ;
    myMCP9808_Config.alert_pol   =   MCP9808::CONFIG_ALERT_POL_ACTIVE_LOW ;
    myMCP9808_Config.alert_mod   =   MCP9808::CONFIG_ALERT_MOD_COMPARATOR_OUTPUT ;
    aux  =   myMCP9808.MCP9808_SetCONFIG ( myMCP9808_Config );

    // Set resolution: +0.0625C ( t_CON ~ 250ms )
    myMCP9808_Data.resolution  =   MCP9808::RESOLUTION_0_0625_C ;
    aux  =   myMCP9808.MCP9808_SetResolution ( myMCP9808_Data );


    myState  =   0UL;                                                           // Reset the variable
    newAction.attach( &changeDATA, 1U );                                        // the address of the function to be attached ( changeDATA ) and the interval ( 1s )


    // Let the callbacks take care of everything
    while(1) {
        sleep();

        if ( myState == 1UL ) {
            myled = 1U;

            // Get ambient temperature
            aux  =   myMCP9808.MCP9808_GetTA ( &myMCP9808_Data );

            // Send data through the UART
            pc.printf ( "T: %0.4f C\r\n", myMCP9808_Data.t_a );


            // Reset the variables
            myState  =   0UL;
            myled    =   0U;
        }
    }
}


 // @brief       changeDATA ( void  )
 //
 // @details     It changes myState variable
 //
 // @param[in]    N/A
 //
 // @param[out]   N/A.
 //
 // @return       N/A.
 //
 //
 // @author      Manuel Caballero
 // @date        25/April/2019
 // @version     25/April/2019   The ORIGIN
 // @pre         N/A
 // @warning     N/A.
 //
void changeDATA ( void )
{
    myState  =   1UL;
}

Library for the MCP9808 ±0.5°C Maximum Accuracy Digital Temperature Sensor.

Definition at line 155 of file MCP9808.h.


Member Enumeration Documentation

DEFAULT ADDRESSES.

Enumerator:
MCP9808_ADDRESS_0 

I2C slave address byte: A2A1A0: 000

MCP9808_ADDRESS_1 

I2C slave address byte: A2A1A0: 001

MCP9808_ADDRESS_2 

I2C slave address byte: A2A1A0: 010

MCP9808_ADDRESS_3 

I2C slave address byte: A2A1A0: 011

MCP9808_ADDRESS_4 

I2C slave address byte: A2A1A0: 100

MCP9808_ADDRESS_5 

I2C slave address byte: A2A1A0: 101

MCP9808_ADDRESS_6 

I2C slave address byte: A2A1A0: 110

MCP9808_ADDRESS_7 

I2C slave address byte: A2A1A0: 111

Definition at line 161 of file MCP9808.h.

Enumerator:
CONFIG_INT_CLEAR_MASK 

INT_CLEAR mask

CONFIG_INT_CLEAR_NO_EFFECT 

No effect [ Default ]

CONFIG_INT_CLEAR_CLEAR_INT_OUTPUT 

Clear interrupt output, when read, returns '0'

Definition at line 247 of file MCP9808.h.

Enumerator:
CONFIG_ALERT_CNT_MASK 

ALERT_CNT mask

CONFIG_ALERT_CNT_DISABLED 

ALERT_CNT disabled [ Default ]

CONFIG_ALERT_CNT_ENABLED 

ALERT_CNT enabled

Definition at line 269 of file MCP9808.h.

Enumerator:
CONFIG_ALERT_MOD_MASK 

ALERT_MOD mask

CONFIG_ALERT_MOD_COMPARATOR_OUTPUT 

ALERT_MOD comparator output [ Default ]

CONFIG_ALERT_MOD_INTERRUPT_OUTPUT 

ALERT_MOD interrupt output

Definition at line 302 of file MCP9808.h.

Enumerator:
CONFIG_ALERT_POL_MASK 

ALERT_POL mask

CONFIG_ALERT_POL_ACTIVE_LOW 

ALERT_POL active-low [ Default ]

CONFIG_ALERT_POL_ACTIVE_HIGH 

ALERT_POL active-high

Definition at line 291 of file MCP9808.h.

Enumerator:
CONFIG_ALERT_SEL_MASK 

ALERT_SEL mask

CONFIG_ALERT_SEL_TUPPER_TLOWER_TCRIT 

Alert output for T_UPPER, T_LOWER and T_CRIT [ Default ]

CONFIG_ALERT_SEL_TA_GREATER_TCRIT 

Alert output for T_A greater T_CRIT

Definition at line 280 of file MCP9808.h.

Enumerator:
CONFIG_ALERT_STAT_MASK 

ALERT_STAT mask

CONFIG_ALERT_STAT_NOT_ASSERTED 

ALERT_STAT is not asserted [ Default ]

CONFIG_ALERT_STAT_ASSERTED 

ALERT_STAT is asserted

Definition at line 258 of file MCP9808.h.

Enumerator:
CONFIG_CRIT_LOCK_MASK 

CRIT_LOCK mask

CONFIG_CRIT_LOCK_UNLOCKED 

T_CRIT register can be written [ Default ]

CONFIG_CRIT_LOCK_LOCKED 

T_CRIT register can not be written

Definition at line 224 of file MCP9808.h.

Enumerator:
CONFIG_SHDN_MASK 

SHDN mask

CONFIG_SHDN_CONTINUOUS_CONVERSION 

SHDN: Continuous conversion [ Default ]

CONFIG_SHDN_SHUTDOWN 

SHDN: Shutdown ( Low-power mode )

Definition at line 213 of file MCP9808.h.

CONFIG Register.

Enumerator:
CONFIG_T_HYST_MASK 

T_HYST mask

CONFIG_T_HYST_0_C 

T_HYST: 0C [ Default ]

CONFIG_T_HYST_1_5_C 

T_HYST: +1.5C

CONFIG_T_HYST_3_0_C 

T_HYST: +3.0C

CONFIG_T_HYST_6_0_C 

T_HYST: +6.0C

Definition at line 198 of file MCP9808.h.

Enumerator:
CONFIG_WIN_LOCK_MASK 

WIN_LOCK mask

CONFIG_WIN_LOCK_UNLOCKED 

TUPPER and TLOWER can be written [ Default ]

CONFIG_WIN_LOCK_LOCKED 

TUPPER and TLOWER can not be written

Definition at line 235 of file MCP9808.h.

REGISTERS.

Enumerator:
MCP9808_CONFIG 

CONFIG register

MCP9808_TUPPER 

T_UPPER register

MCP9808_TLOWER 

T_LOWER register

MCP9808_TCRIT 

T_CRIT register

MCP9808_TA 

T_A register

MCP9808_MANUFACTURER_ID 

Manufacturer ID register

MCP9808_DEVICE_ID 

Device ID/Revision register

MCP9808_RESOLUTION 

Resolution register

Definition at line 177 of file MCP9808.h.

RESOLUTION REGISTER.

Enumerator:
RESOLUTION_MASK 

Resolution mask

RESOLUTION_0_5_C 

Resolution: +0.5C

RESOLUTION_0_25_C 

Resolution: +0.25C

RESOLUTION_0_125_C 

Resolution: +0.125C

RESOLUTION_0_0625_C 

Resolution: +0.0625C [ Default ]

Definition at line 420 of file MCP9808.h.

INTERNAL CONSTANTS.

Enumerator:
I2C_SUCCESS 

I2C communication was fine

Definition at line 474 of file MCP9808.h.

Enumerator:
T_A_TA_DECIMAL_PART_MASK 

T_A decimal part

Definition at line 407 of file MCP9808.h.

Enumerator:
T_A_TA_INTEGRAL_PART_MASK 

T_A integral part

Definition at line 398 of file MCP9808.h.

Enumerator:
T_A_TA_SIGN_MASK 

T_A SIGN mask

T_A_TA_SIGN_POSITIVE 

T_A positive

T_A_TA_SIGN_NEGATIVE 

T_A negative

Definition at line 387 of file MCP9808.h.

T_A AMBIENT TEMPERATURE REGISTERS.

Enumerator:
T_A_TA_VS_TCRIT_MASK 

T_A mask

T_A_TA_VS_TCRIT_TA_LOWER_TCRIT 

T_A lower T_CRIT

T_A_TA_VS_TCRIT_TA_GREATER_EQUAL_TCRIT 

T_A greater or equal T_CRIT

Definition at line 354 of file MCP9808.h.

Enumerator:
T_A_TA_VS_TLOWER_MASK 

T_A mask

T_A_TA_VS_TLOWER_TA_LOWER_TLOWER 

T_A lower or equal T_LOWER

T_A_TA_VS_TLOWER_TA_GREATER_EQUAL_TLOWER 

T_A greater T_LOWER

Definition at line 376 of file MCP9808.h.

Enumerator:
T_A_TA_VS_TUPPER_MASK 

T_A mask

T_A_TA_VS_TUPPER_TA_LOWER__IQUAL_TUPPER 

T_A lower or equal T_UPPER

T_A_TA_VS_TUPPER_TA_GREATER_TUPPER 

T_A greater T_UPPER

Definition at line 365 of file MCP9808.h.

Enumerator:
TEMPERATURE_LIMIT_DECIMAL_PART_MASK 

Temperature limit, decimal part mask

TEMPERATURE_LIMIT_DECIMAL_PART_0_00C 

Temperature limit, decimal part: 0.00C

TEMPERATURE_LIMIT_DECIMAL_PART_0_25C 

Temperature limit, decimal part: 0.25C

TEMPERATURE_LIMIT_DECIMAL_PART_0_50C 

Temperature limit, decimal part: 0.50C

TEMPERATURE_LIMIT_DECIMAL_PART_0_75C 

Temperature limit, decimal part: 0.75C

Definition at line 337 of file MCP9808.h.

Enumerator:
TEMPERATURE_LIMIT_INTEGRAL_PART_MASK 

Temperature limit, integral part mask

Definition at line 328 of file MCP9808.h.

T_UPPER/T_LOWER/T_CRIT TEMPERATURE LIMIT REGISTERS.

Enumerator:
TEMPERATURE_LIMIT_SIGN_MASK 

SIGN mask

TEMPERATURE_LIMIT_SIGN_TA_POSITIVE 

T_A greater or iqual 0C [ Default ]

TEMPERATURE_LIMIT_SIGN_TA_NEGATIVE 

T_A lower 0C

Definition at line 317 of file MCP9808.h.


Constructor & Destructor Documentation

MCP9808 ( PinName  sda,
PinName  scl,
uint32_t  addr,
uint32_t  freq 
)

Create an MCP9808 object connected to the specified I2C pins.

MCP9808.cpp.

Parameters:
sdaI2C data pin
sclI2C clock pin
addrI2C slave address
freqI2C frequency

±0.5°C Maximum Accuracy Digital Temperature Sensor. Function file.

Returns:
N/A
Author:
Manuel Caballero
Date:
25/April/2019
Version:
25/April/2019 The ORIGIN
Precondition:
N/A.
Warning:
N/A
Precondition:
This code belongs to AqueronteBlog ( http://unbarquero.blogspot.com ). All rights reserved.

Definition at line 20 of file MCP9808.cpp.

~MCP9808 (  )

Delete MCP9808 object.

Definition at line 28 of file MCP9808.cpp.


Member Function Documentation

MCP9808::MCP9808_status_t MCP9808_GetCONFIG ( MCP9808_config_reg_t *  myCONFIG )

It gets CONFIG register value.

MCP9808_GetCONFIG ( MCP9808_config_reg_t* )

It gets CONFIG register value.

Parameters:
[in]N/A.
[out]myCONFIG,:CONFIG register value.
Returns:
Status of MCP9808_GetCONFIG.
Author:
Manuel Caballero
Date:
25/April/2019
Version:
25/April/2019 The ORIGIN
Precondition:
N/A
Warning:
N/A.

Definition at line 53 of file MCP9808.cpp.

MCP9808::MCP9808_status_t MCP9808_GetDeviceID ( MCP9808_data_t *  myDeviceID )

It gets both device ID and device revision.

MCP9808_GetDeviceID ( MCP9808_data_t* )

It gets device ID and device revision.

Parameters:
[in]N/A
[out]myDeviceID,:Both device ID and device revision
Returns:
Status of MCP9808_GetDeviceID.
Author:
Manuel Caballero
Date:
25/April/2019
Version:
25/April/2019 The ORIGIN
Precondition:
Device ID should be 0x04 ( hexadecimal ).
Warning:
N/A.

Definition at line 320 of file MCP9808.cpp.

MCP9808::MCP9808_status_t MCP9808_GetManufacturerID ( MCP9808_data_t *  myManufacturerID )

It gets manufacturer ID.

MCP9808_GetManufacturerID ( MCP9808_data_t* )

It gets manufacturer ID.

Parameters:
[in]N/A.
[out]myManufacturerID,:Manufacturer ID code
Returns:
Status of MCP9808_GetManufacturerID.
Author:
Manuel Caballero
Date:
25/April/2019
Version:
25/April/2019 The ORIGIN
Precondition:
It should be 0x0054 ( hexadecimal ).
Warning:
N/A.

Definition at line 272 of file MCP9808.cpp.

MCP9808::MCP9808_status_t MCP9808_GetRawTA ( MCP9808_data_t *  myRawTA )

It gets ambient temperature register ( raw value ).

MCP9808_GetRawTA ( MCP9808_data_t* )

It gets ambient temperature register ( raw value ).

Parameters:
[in]N/A
[out]myRawTA,:Raw T_A data.
Returns:
Status of MCP9808_GetRawTA.
Author:
Manuel Caballero
Date:
25/April/2019
Version:
25/April/2019 The ORIGIN
Precondition:
N/A
Warning:
N/A.

Definition at line 162 of file MCP9808.cpp.

MCP9808::MCP9808_status_t MCP9808_GetResolution ( MCP9808_data_t *  myResolution )

It gets the sensor resolution.

MCP9808_GetResolution ( MCP9808_data_t* )

It gets the sensor resolution.

Parameters:
[in]N/A.
[out]myResolution,:Device resolution.
Returns:
Status of MCP9808_GetResolution.
Author:
Manuel Caballero
Date:
25/April/2019
Version:
25/April/2019 The ORIGIN
Precondition:
Resolution vs timing conversion: · Resolution: +0.5°C ( t_CONV = 30ms typical ) · Resolution: +0.25°C ( t_CONV = 65ms typical ) · Resolution: +0.125°C ( t_CONV = 130ms typical ) · Resolution: +0.0625°C ( power-up default, t_CONV = 250ms typical )
Warning:
N/A.

Definition at line 418 of file MCP9808.cpp.

MCP9808::MCP9808_status_t MCP9808_GetT_Limit ( MCP9808_registers_t  myTLimit,
MCP9808_data_t *  myTValue_Limit 
)

It gets temperature limit for: T_UPPER, T_LOWER or T_CRIT.

MCP9808_GetT_Limit ( MCP9808_registers_t, MCP9808_data_t* )

It gets temperature limit for: T_UPPER, T_LOWER or T_CRIT.

Parameters:
[in]myTLimit,:Temperature limit register: T_UPPER, T_LOWER or T_CRIT.
[out]myTValue_Limit,:Temperature limit value for the chosen register.
Returns:
Status of MCP9808_GetT_Limit.
Author:
Manuel Caballero
Date:
25/April/2019
Version:
25/April/2019 The ORIGIN
Precondition:
N/A.
Warning:
N/A.

Definition at line 532 of file MCP9808.cpp.

MCP9808::MCP9808_status_t MCP9808_GetTA ( MCP9808_data_t *  myTA )

It gets ambient temperature register ( Celsius degrees ).

MCP9808_GetTA ( MCP9808_data_t* )

It gets ambient temperature register ( Celsius degrees ).

Parameters:
[in]N/A
[out]myTA,:T_A value and flags.
Returns:
Status of MCP9808_GetTA.
Author:
Manuel Caballero
Date:
25/April/2019
Version:
25/April/2019 The ORIGIN
Precondition:
This function also updates the comparison flags.
Warning:
N/A.

Definition at line 211 of file MCP9808.cpp.

MCP9808::MCP9808_status_t MCP9808_SetCONFIG ( MCP9808_config_reg_t  myCONFIG )

It sets CONFIG register value.

MCP9808_SetCONFIG ( MCP9808_config_reg_t )

It sets CONFIG register value.

Parameters:
[in]myCONFIG,:CONFIG register value.
[out]N/A.
Returns:
Status of MCP9808_SetCONFIG.
Author:
Manuel Caballero
Date:
25/April/2019
Version:
25/April/2019 The ORIGIN
Precondition:
MCP9808_GetCONFIG function should be called first to mask the bits.
Warning:
Be aware that some commands can NOT be written depending on Crit.Lock and/or Win.Lock values.

Definition at line 113 of file MCP9808.cpp.

MCP9808::MCP9808_status_t MCP9808_SetResolution ( MCP9808_data_t  myResolution )

It sets the sensor resolution.

MCP9808_SetResolution ( MCP9808_data_t )

It sets the sensor resolution.

Parameters:
[in]myResolution,:Device resolution.
[out]N/A
Returns:
Status of MCP9808_SetResolution.
Author:
Manuel Caballero
Date:
25/April/2019
Version:
25/April/2019 The ORIGIN
Precondition:
Resolution vs timing conversion: · Resolution: +0.5°C ( t_CONV = 30ms typical ) · Resolution: +0.25°C ( t_CONV = 65ms typical ) · Resolution: +0.125°C ( t_CONV = 130ms typical ) · Resolution: +0.0625°C ( power-up default, t_CONV = 250ms typical )
Warning:
N/A.

Definition at line 371 of file MCP9808.cpp.

MCP9808::MCP9808_status_t MCP9808_SetT_Limit ( MCP9808_registers_t  myTLimit,
MCP9808_data_t  myTValue_Limit 
)

It sets temperature limit for: T_UPPER, T_LOWER or T_CRIT.

MCP9808_SetT_Limit ( MCP9808_registers_t, MCP9808_data_t )

It sets temperature limit for: T_UPPER, T_LOWER or T_CRIT.

Parameters:
[in]myTLimit,:Temperature limit register: T_UPPER, T_LOWER or T_CRIT.
[in]myTValue_Limit,:Temperature limit value.
[out]N/A.
Returns:
Status of MCP9808_SetT_Limit.
Author:
Manuel Caballero
Date:
25/April/2019
Version:
25/April/2019 The ORIGIN
Precondition:
N/A.
Warning:
N/A.

Definition at line 465 of file MCP9808.cpp.