modm API documentation
|
#include <modm/driver/temperature/tmp102.hpp>
Classes | |
struct | Data |
Public Member Functions | |
Tmp102 (Data &data, uint8_t address=0x48) | |
bool | update () |
modm::ResumableResult< bool > | setUpdateRate (uint8_t rate) |
modm::ResumableResult< bool > | enableExtendedMode (bool enable=true) |
Enables extended mode with 13 bit data format. | |
modm::ResumableResult< bool > | readComparatorMode (bool &result) |
param[out] result contains comparator mode alert in the configured polarity | |
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 > | startConversion () |
starts a temperature conversion right now | |
Data & | getData () |
void | attachConfigurationHandler (I2c::ConfigurationHandler handler) |
modm::ResumableResult< bool > | configureAlertMode (ThermostatMode mode, AlertPolarity polarity, FaultQueue faults) |
Data & | getData () |
modm::ResumableResult< bool > | ping () |
modm::ResumableResult< bool > | read (uint8_t *buffer, std::size_t size) |
Starts a write transaction and waits until finished. | |
modm::ResumableResult< bool > | readTemperature () |
reads the Temperature registers and buffers the results | |
void | setAddress (uint8_t address) |
modm::ResumableResult< bool > | setLowerLimit (float temperature) |
Writes the lower limit of the alarm. | |
modm::ResumableResult< bool > | setUpperLimit (float temperature) |
Writes the upper limit of the alarm. | |
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> . | |
|
inherited |
Implements the std::binary_semaphore
interface for fibers.
|
inherited |
Identifier of a fiber task.
|
inheritedstrong |
The Fiber scheduling policy.
modm::Tmp102< I2cMaster >::Tmp102 | ( | Data & | data, |
uint8_t | address = 0x48 |
||
) |
Constructor, requires a tmp102::Data object, sets address to default of 0x48 (alternatives are 0x49, 0x4A and 0x4B).
|
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.