1#ifndef Driver_AIO_Ajax_Thermisttor_h_ 
    2#define Driver_AIO_Ajax_Thermisttor_h_ 
   16#include "colony_config.h" 
   24#ifndef OPTION_DRIVER_AIO_AJAX_SAMPLE_TIME_MS 
   25#define OPTION_DRIVER_AIO_AJAX_SAMPLE_TIME_MS           1000  
   29#ifndef OPTION_DRIVER_AIO_AJAX_NUM_SAMPLES_TO_AVG 
   30#define OPTION_DRIVER_AIO_AJAX_NUM_SAMPLES_TO_AVG       3 
   34#ifndef OPTION_DRIVER_AIO_AJAX_ADC_BIT_RESOLUTION 
   35#define OPTION_DRIVER_AIO_AJAX_ADC_BIT_RESOLUTION       12 
   39#ifndef OPTION_DRIVER_AIO_AJAX_ADC_MAX_RAIL_BITS 
   40#define OPTION_DRIVER_AIO_AJAX_ADC_MAX_RAIL_BITS        (4096-100) 
   44#ifndef OPTION_DRIVER_AIO_AJAX_ADC_MIN_RAIL_BITS 
   45#define OPTION_DRIVER_AIO_AJAX_ADC_MIN_RAIL_BITS        100 
   87    virtual void hookAdcSample( uint32_t adcBits, int32_t temperatureF = 0) {}
 
This class extends the Cpl::Dm::EventLoop and Cpl::Itc:Mailbox classes to support the asynchronous ch...
Definition MailboxServer.h:43
This class provides a concrete implementation for a Point who's data is a int32_t.
Definition Int32.h:42
This partially concrete class implements the synchronous ITC close call for the CloseApi.
Definition CloseSync.h:34
This template class represents a service request message to a particular server.
Definition RequestMessage.h:34
This mostly concrete interface defines the operations that can be performed on a software timer.
Definition Timer.h:47
This class is responsible for sampling the on-board temperature sensor every N milliseconds and popul...
Definition Thermistor.h:64
DriverAIOHalSingleInput_T m_adcDriver
Handle to the underlying ADC driver/HW.
Definition Thermistor.h:94
bool m_opened
open/close state
Definition Thermistor.h:97
void request(OpenMsg &msg)
This method starts the driver (See Cpl::Itc::CloseSync)
void request(CloseMsg &msg)
This method stops the driver (See Cpl::Itc::CloseSync)
Cpl::Dm::Mp::Int32 & m_mpTempOut
Output MP.
Definition Thermistor.h:91
virtual void hookAdcSample(uint32_t adcBits, int32_t temperatureF=0)
Hook method (for a child class) to capture the raw ADC bits for the temperature value.
Definition Thermistor.h:87
void expired(void) noexcept
SW Timer expired.
Thermistor(Cpl::Dm::MailboxServer &myMbox, DriverAIOHalSingleInput_T adcDriver, Cpl::Dm::Mp::Int32 &mpTemperatureOutput)
Constructor.
The 'Ajax' namespace is the root name space all GM6000 application specific source code.