modm API documentation
modm::mcp990x< I2cMaster > Class Template Reference

#include <modm/driver/temperature/mcp990x.hpp>

Inheritance diagram for modm::mcp990x< I2cMaster >:
modm::I2cDevice< I2cMaster >

Classes

struct  Data
 

Public Types

enum  ExternalDiode : uint8_t { Diode1 = 0, Diode2 = 1, Diode3 = 2 }
 

Public Member Functions

 Mcp990x (Data &data, uint8_t address=0x4d)
 
bool initialize ()
 Initialize sensor.
 
bool ping ()
 Detect sensor.
 
bool readInternalTemperature ()
 
bool readExternalDiodeTemperature (ExternalDiode diode)
 
bool setExternalDiodeIdealityFactor (ExternalDiode diode, uint8_t idealitySetting)
 
DatagetData ()
 
void attachConfigurationHandler (I2c::ConfigurationHandler handler)
 
bool read (uint8_t *buffer, std::size_t size)
 Starts a write transaction and waits until finished.
 
void setAddress (uint8_t address)
 
bool write (const uint8_t *buffer, std::size_t size)
 Starts a write transaction and waits until finished.
 
bool writeRead (const uint8_t *writeBuffer, std::size_t writeSize, uint8_t *readBuffer, std::size_t readSize)
 Starts a write-read transaction and waits until finished.
 

Protected Member Functions

bool isTransactionRunning ()
 
bool runTransaction ()
 Starts our own transaction and waits until finished.
 
bool startTransaction ()
 Starts the transaction with our own transaction object.
 
bool startTransaction (modm::I2cTransaction *transaction)
 Starts the transaction with a separate transaction object.
 
bool wasTransactionSuccessful ()
 

Protected Attributes

I2cWriteReadTransaction transaction
 

Detailed Description

template<class I2cMaster>
class modm::mcp990x< I2cMaster >

Simple driver for MCP9902/3/4 I2C temperature sensor.

Author
Christopher Durand

Member Function Documentation

void modm::I2cDevice< I2cMaster, 10 , I2cWriteReadTransaction >::attachConfigurationHandler ( I2c::ConfigurationHandler  handler)
inheritedinline

Attaches a configuration handler, which is called before a transaction, whenever the configuration has to be changed.

bool modm::I2cDevice< I2cMaster, 10 , I2cWriteReadTransaction >::isTransactionRunning ( )
inheritedinlineprotected
Returns
true when transaction is busy.
template<class I2cMaster >
modm::mcp990x< I2cMaster >::Mcp990x ( Data data,
uint8_t  address = 0x4d 
)
Parameters
addressI2C address, MCP990xT-1: 0x4c, -2: 0x4d, -A: adjustable, see datasheet
template<class I2cMaster >
bool modm::mcp990x< I2cMaster >::readExternalDiodeTemperature ( ExternalDiode  diode)

Read external diode temperature sensor

Precondition
sensor is succesfully initialized
template<class I2cMaster >
bool modm::mcp990x< I2cMaster >::readInternalTemperature ( )

Read internal temperature sensor

Precondition
sensor is succesfully initialized
void modm::I2cDevice< I2cMaster, 10 , I2cWriteReadTransaction >::setAddress ( uint8_t  address)
inheritedinline

Sets a new address of the slave device.

Parameters
addressthe slave address not yet shifted left (address < 128).
template<class I2cMaster >
bool modm::mcp990x< I2cMaster >::setExternalDiodeIdealityFactor ( ExternalDiode  diode,
uint8_t  idealitySetting 
)

Set external diode ideality factor See datasheet for values

bool modm::I2cDevice< I2cMaster, 10 , I2cWriteReadTransaction >::wasTransactionSuccessful ( )
inheritedinlineprotected
Returns
true when transaction did not return an error.

The documentation for this class was generated from the following file: