ELEC-C7222
Libraries for ELEC C7222 Course Work
Loading...
Searching...
No Matches
c7222::OnChipTemperatureSensor Class Reference

Reads the RP2040 on-chip temperature sensor via the ADC. More...

#include <onchip_temperature_sensor.hpp>

Inheritance diagram for c7222::OnChipTemperatureSensor:
Inheritance graph
Collaboration diagram for c7222::OnChipTemperatureSensor:
Collaboration graph

Public Member Functions

bool Initialize ()
 Initialize the ADC and temperature sensor.
 
float GetCelsius () const
 Read temperature in degrees Celsius.
 
float GetFahrenheit () const
 Read temperature in degrees Fahrenheit.
 
bool IsInitialized () const
 Check if the sensor has been initialized.
 
 ~OnChipTemperatureSensor ()=default
 Destructor.
 
- Public Member Functions inherited from c7222::NonCopyable
 NonCopyable (const NonCopyable &)=delete
 
NonCopyableoperator= (const NonCopyable &)=delete
 
 NonCopyable (NonCopyable &&)=default
 
NonCopyableoperator= (NonCopyable &&)=default
 
- Public Member Functions inherited from c7222::NonMovable
 NonMovable (const NonMovable &)=default
 
NonMovableoperator= (const NonMovable &)=default
 
 NonMovable (NonMovable &&)=delete
 
NonMovableoperator= (NonMovable &&)=delete
 

Static Public Member Functions

static OnChipTemperatureSensorGetInstance ()
 Get the singleton instance.
 

Additional Inherited Members

- Protected Member Functions inherited from c7222::NonCopyableNonMovable
 NonCopyableNonMovable ()=default
 
 ~NonCopyableNonMovable ()=default
 
- Protected Member Functions inherited from c7222::NonCopyable
 NonCopyable ()=default
 
 ~NonCopyable ()=default
 
- Protected Member Functions inherited from c7222::NonMovable
 NonMovable ()=default
 
 ~NonMovable ()=default
 

Detailed Description

Reads the RP2040 on-chip temperature sensor via the ADC.

Design intent:

  • Singleton access: only one on-chip sensor exists, so a singleton is used.
  • Explicit initialization: call Initialize() once before reading. The Platform does not auto-initialize this device.

Example:

sensor->Initialize();
float temp_c = sensor->GetCelsius();
static OnChipTemperatureSensor * GetInstance()
Get the singleton instance.

Constructor & Destructor Documentation

◆ ~OnChipTemperatureSensor()

c7222::OnChipTemperatureSensor::~OnChipTemperatureSensor ( )
default

Destructor.

Public to allow std::unique_ptr default deleter.

Member Function Documentation

◆ GetCelsius()

float c7222::OnChipTemperatureSensor::GetCelsius ( ) const

Read temperature in degrees Celsius.

Returns
Temperature in Celsius, or NaN if not initialized.
Here is the caller graph for this function:

◆ GetFahrenheit()

float c7222::OnChipTemperatureSensor::GetFahrenheit ( ) const

Read temperature in degrees Fahrenheit.

Returns
Temperature in Fahrenheit, or NaN if not initialized.

◆ GetInstance()

static OnChipTemperatureSensor * c7222::OnChipTemperatureSensor::GetInstance ( )
static

Get the singleton instance.

Here is the caller graph for this function:

◆ Initialize()

bool c7222::OnChipTemperatureSensor::Initialize ( )

Initialize the ADC and temperature sensor.

Returns
true when initialization succeeds.
Here is the caller graph for this function:

◆ IsInitialized()

bool c7222::OnChipTemperatureSensor::IsInitialized ( ) const
inline

Check if the sensor has been initialized.


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