HardFOC Core
API reference
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
Mcp9700TemperatureHandler Class Reference

BaseTemperature implementation for an MCP9700 on a multiplexed ADC channel. More...

#include <Mcp9700TemperatureHandler.h>

Inheritance diagram for Mcp9700TemperatureHandler:

Public Member Functions

 Mcp9700TemperatureHandler (BaseAdc *adc_interface, uint8_t adc_channel, const char *sensor_name="MCP9700") noexcept
 
 Mcp9700TemperatureHandler (const Mcp9700TemperatureHandler &)=delete
 
Mcp9700TemperatureHandler & operator= (const Mcp9700TemperatureHandler &)=delete
 
 ~Mcp9700TemperatureHandler () noexcept override=default
 
const char * GetSensorName () const noexcept
 Instance label given at construction ("MCP9700" by default).
 

Protected Member Functions

bool Initialize () noexcept override
 
bool Deinitialize () noexcept override
 
hf_temp_err_t ReadTemperatureCelsiusImpl (float *temperature_celsius) noexcept override
 
hf_temp_err_t GetSensorInfo (hf_temp_sensor_info_t *info) const noexcept override
 
hf_u32_t GetCapabilities () const noexcept override
 

Private Attributes

RtosMutex mutex_
 
BaseAdc * adc_interface_
 
uint8_t adc_channel_
 
const char * sensor_name_
 
std::unique_ptr< Mcp9700AdcAdapter > adc_adapter_
 
std::unique_ptr< Mcp9700ThermistorConcrete > thermistor_
 

Detailed Description

BaseTemperature implementation for an MCP9700 on a multiplexed ADC channel.

Parameters
adc_interfaceHost ADC providing the thermistor millivolt channel.
adc_channelChannel index on that ADC.
sensor_nameDiagnostic label stored on the BaseTemperature info block.

Constructor & Destructor Documentation

◆ Mcp9700TemperatureHandler() [1/2]

Mcp9700TemperatureHandler::Mcp9700TemperatureHandler ( BaseAdc *  adc_interface,
uint8_t  adc_channel,
const char *  sensor_name = "MCP9700" 
)
noexcept

◆ Mcp9700TemperatureHandler() [2/2]

Mcp9700TemperatureHandler::Mcp9700TemperatureHandler ( const Mcp9700TemperatureHandler &  )
delete

◆ ~Mcp9700TemperatureHandler()

Mcp9700TemperatureHandler::~Mcp9700TemperatureHandler ( )
overridedefaultnoexcept

Member Function Documentation

◆ Deinitialize()

bool Mcp9700TemperatureHandler::Deinitialize ( )
overrideprotectednoexcept

◆ GetCapabilities()

hf_u32_t Mcp9700TemperatureHandler::GetCapabilities ( ) const
overrideprotectednoexcept

◆ GetSensorInfo()

hf_temp_err_t Mcp9700TemperatureHandler::GetSensorInfo ( hf_temp_sensor_info_t *  info) const
overrideprotectednoexcept

◆ GetSensorName()

const char * Mcp9700TemperatureHandler::GetSensorName ( ) const
inlinenoexcept

Instance label given at construction ("MCP9700" by default).

◆ Initialize()

bool Mcp9700TemperatureHandler::Initialize ( )
overrideprotectednoexcept

◆ operator=()

Mcp9700TemperatureHandler & Mcp9700TemperatureHandler::operator= ( const Mcp9700TemperatureHandler &  )
delete

◆ ReadTemperatureCelsiusImpl()

hf_temp_err_t Mcp9700TemperatureHandler::ReadTemperatureCelsiusImpl ( float *  temperature_celsius)
overrideprotectednoexcept

Member Data Documentation

◆ adc_adapter_

std::unique_ptr<Mcp9700AdcAdapter> Mcp9700TemperatureHandler::adc_adapter_
private

◆ adc_channel_

uint8_t Mcp9700TemperatureHandler::adc_channel_
private

◆ adc_interface_

BaseAdc* Mcp9700TemperatureHandler::adc_interface_
private

◆ mutex_

RtosMutex Mcp9700TemperatureHandler::mutex_
mutableprivate

◆ sensor_name_

const char* Mcp9700TemperatureHandler::sensor_name_
private

◆ thermistor_

std::unique_ptr<Mcp9700ThermistorConcrete> Mcp9700TemperatureHandler::thermistor_
private

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