modm API documentation
|
#include <modm/driver/temperature/ds1631.hpp>
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) | |
bool | 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 () |
Data & | getData () |
void | attachConfigurationHandler (I2c::ConfigurationHandler handler) |
modm::ResumableResult< bool > | ping () |
modm::ResumableResult< bool > | read (uint8_t *buffer, std::size_t size) |
Starts a write transaction and waits until finished. | |
void | setAddress (uint8_t address) |
modm::ResumableResult< bool > | write (const uint8_t *buffer, std::size_t size) |
Starts a write transaction and waits until finished. | |
modm::ResumableResult< 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 Typedefs | |
using | id = uintptr_t |
using | binary_semaphore = counting_semaphore< 1 > |
Protected Types | |
enum | Start |
Protected Member Functions | |
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 separate 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 () |
bool | wasTransactionSuccessful () |
modm::fiber::id | get_id () const |
stop_source | get_stop_source () |
stop_token | get_stop_token () |
bool | isRunning () const |
void | join () |
bool | joinable () const |
Checks if the Task object identifies an active fiber of execution. | |
bool | request_stop () |
void | restart () |
virtual bool | run () |
size_t | stack_usage () const |
void | stack_watermark () |
bool | start () |
void | stop () |
Static Protected Member Functions | |
static constexpr unsigned int | hardware_concurrency () |
Returns the number of concurrent threads supported by the implementation. | |
Protected Attributes | |
I2cWriteReadTransaction | transaction |
Static Protected Attributes | |
static constexpr size_t | StackAlignment |
Alignment requirements for the bottom and top of the stack. | |
static constexpr size_t | StackSizeDefault |
static constexpr size_t | StackSizeMinimum |
Minimum stack size required to push one full fiber context. | |
enum | cv_status |
using | condition_variable = condition_variable_any |
There is no specialization for std::unique_lock<fiber::mutex> . | |
DS1631, DS1631A and DS1731 temperature sensor driver.
|
inherited |
Implements the std::binary_semaphore
interface for fibers.
|
inherited |
Identifier of a fiber task.
|
strong |
|
inheritedstrong |
The Fiber scheduling policy.
|
inheritedinline |
Attaches a configuration handler, which is called before a transaction, whenever the configuration has to be changed.
|
inheritednodiscardinline |
Returns a value of std::thread::id identifying the thread associated with *this
.
|
inheritednodiscardinline |
|
inheritedinlineprotected |
true
when transaction is busy.
|
inheritedinline |
Blocks the current fiber until the fiber identified by *this
finishes its execution. Returns immediately if the thread is not joinable.
|
inheritedinline |
true | device responds to address |
false | no device with address found |
|
inheritedinline |
|
inheritedinline |
Sets a new address of the slave device.
address | the slave address not yet shifted left (address < 128). |
|
inheritednodiscardinline |
modm_context_stack_usage()
.
|
inheritedinline |
Watermarks the stack to measure stack_usage()
later.
modm_context_stack_watermark()
.
|
inherited |
Adds the task to the currently active scheduler, if not already running.
|
inheritedinlineprotected |
true
when transaction did not return an error.
|
inheritedstaticconstexpr |
The default stack size is estimated experimentally so that a fiber can use modm::IOStream
to log out information, which is fairly stack intensive. Use modm::fiber::Task::stack_usage()
to determine the real stack usage.