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

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

Inheritance diagram for modm::ds1631< I2cMaster >:
modm::I2cDevice< I2cMaster, 2 > modm::pt::Protothread modm::NestedResumable< 10+1 >

Public Typedefs

typedef lm75::Data Data
 

Public Types

enum  ConversionMode : uint8_t { Continous = 0, OneShot = int(Config::OneShot) }
 
enum  AlertPolarity : uint8_t { ActiveLow = 0, ActiveHigh = int(Config::Polarity) }
 
enum  Resolution : uint8_t { Resolution::Bits9 = 0, Resolution::Bits10 = Bit0, Resolution::Bits11 = Bit1, Resolution::Bits12 = Bit1 | Bit0 }
 

Public Member Functions

 Ds1631 (Data &data, uint8_t address=0x90)
 
void update ()
 
modm::ResumableResult< bool > initialize ()
 
modm::ResumableResult< bool > setUpdateRate (uint8_t rate)
 
modm::ResumableResult< bool > setResolution (Resolution resolution)
 
modm::ResumableResult< bool > setAlertPolarity (AlertPolarity polarity)
 
modm::ResumableResult< bool > setConversionMode (ConversionMode mode)
 
modm::ResumableResult< bool > setUpperLimit (float temperature)
 Writes the upper limit of the alarm.
 
modm::ResumableResult< bool > setLowerLimit (float temperature)
 Writes the lower limit of the alarm.
 
modm::ResumableResult< bool > readTemperature ()
 reads the Temperature registers and buffers the results
 
modm::ResumableResult< bool > startConversion ()
 
modm::ResumableResult< bool > stopConversion ()
 
modm::ResumableResult< bool > reset ()
 
DatagetData ()
 
void attachConfigurationHandler (I2c::ConfigurationHandler handler)
 
modm::ResumableResult< bool > ping ()
 
void setAddress (uint8_t address)
 

Protected Member Functions

modm::ResumableResult< ReturnType > resumable function (...)
 
int8_t getResumableDepth () const
 
bool isResumableRunning () const
 
bool isTransactionRunning ()
 
modm::ResumableResult< bool > runTransaction ()
 Starts our own transaction and waits until finished.
 
bool startRead (uint8_t *buffer, std::size_t size)
 Configures the transaction with a read operation and starts it.
 
bool startTransaction ()
 Starts the transaction with our own transaction object.
 
bool startTransaction (modm::I2cTransaction *transaction)
 Starts the transaction with a seperate transaction object.
 
bool startWrite (const uint8_t *buffer, std::size_t size)
 Configures the transaction with a write operation and starts it.
 
bool startWriteRead (const uint8_t *writeBuffer, std::size_t writeSize, uint8_t *readBuffer, std::size_t readSize)
 Configures the transaction with a write/read operation and starts it.
 
void stopResumable ()
 Force all resumable functions to stop running at the current nesting level.
 
bool wasTransactionSuccessful ()
 
bool isRunning () const
 Check if the protothread is still running. More...
 
void restart ()
 Restart protothread.
 
void stop ()
 Stop the protothread from running. More...
 

Protected Attributes

I2cWriteReadTransaction transaction
 

Detailed Description

template<typename I2cMaster>
class modm::ds1631< I2cMaster >

DS1631, DS1631A and DS1731 temperature sensor driver.

See also
ds1631
Author
Fabian Greif
Niklas Hauser

Member Enumeration Documentation

template<typename I2cMaster >
enum modm::ds1631::Resolution : uint8_t
strong
Enum ValuesDocumentation
Bits9 

Conversion Time: 94ms.

Bits10 

Conversion Time: 188ms.

Bits11 

Conversion Time: 375ms.

Bits12 

Conversion Time: 750ms.

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.

modm::ResumableResult< ReturnType > resumable modm::NestedResumable< 1 >::function (   ...)
inherited

Run the resumable function.

You need to implement this method in you subclass yourself.

Returns
>NestingError if still running, <=NestingError if it has finished.
int8_t modm::NestedResumable< 1 >::getResumableDepth ( ) const
inheritedinline
Returns
the nesting depth in the current resumable function, or -1 if called outside any resumable function
bool modm::NestedResumable< 1 >::isResumableRunning ( ) const
inheritedinline
Returns
true if a resumable function is running at the current nesting level, else false
bool modm::pt::Protothread::isRunning ( ) const
inheritedinline

Check if the protothread is still running.

Returns
true if the protothread is running or waiting, false if it has ended or exited.
bool modm::I2cDevice< I2cMaster, 10 , I2cWriteReadTransaction >::isTransactionRunning ( )
inheritedinlineprotected
Returns
true when transaction is busy.
modm::ResumableResult<bool> modm::I2cDevice< I2cMaster, 10 , I2cWriteReadTransaction >::ping ( )
inheritedinline
Return Values
truedevice responds to address
falseno device with address found
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).
void modm::pt::Protothread::stop ( )
inheritedinline

Stop the protothread from running.

Happens automatically at PT_END.

Note
This differs from the Dunkels' original protothread behavior (his restart automatically, which is usually not what you want).
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: