1#ifndef Ajax_Heating_Io_Api_h_ 
    2#define Ajax_Heating_Io_Api_h_ 
   15#include "colony_config.h" 
   25#ifndef OPTION_AJAX_HEATING_IO_ALGO_INTERVAL_MS 
   26#define OPTION_AJAX_HEATING_IO_ALGO_INTERVAL_MS         (OPTION_AJAX_HEATING_SUPERVISOR_ALGO_INTERVAL_MS/4) 
This class is responsible for 'translating' physical hardware signal to/from model point values.
Definition Api.h:45
 
void fanPWMChanged(Cpl::Dm::Mp::Uint32 &mp, Cpl::Dm::SubscriberApi &clientObserver) noexcept
Change notification.
 
Driver::DIO::In & m_driverHwSafetyIn
Driver handle.
Definition Api.h:89
 
uint32_t m_timeMarker
Period time marker.
Definition Api.h:92
 
void intervalExpired() noexcept
Helper method than reads/writes the hardware.
 
bool m_opened
Open state.
Definition Api.h:98
 
Driver::DIO::Pwm & m_driverHeaterPwm
Driver handle.
Definition Api.h:83
 
Driver::DIO::Pwm & m_driverFanPwm
Driver handle.
Definition Api.h:86
 
void request(OpenMsg &msg)
This method starts the supervisor (See Cpl::Itc::OpenSync)
 
Api(Cpl::Dm::MailboxServer &myMbox, Driver::DIO::Pwm &driverHeaterPwm, Driver::DIO::Pwm &driverFanPwm, Driver::DIO::In &driverHwSafetyIn) noexcept
Constructor.
 
void expired() noexcept
See Cpl::System::Timer (timer expired callback)
 
Cpl::Dm::SubscriberComposer< Api, Cpl::Dm::Mp::Uint32 > m_obFanPWM
Observer for change notification.
Definition Api.h:80
 
void request(CloseMsg &msg)
This method stops the supervisor (See Cpl::Itc::CloseSync)
 
void heaterPWMChanged(Cpl::Dm::Mp::Uint32 &mp, Cpl::Dm::SubscriberApi &clientObserver) noexcept
Change notification.
 
Cpl::Dm::SubscriberComposer< Api, Cpl::Dm::Mp::Uint32 > m_obHeaterPWM
Observer for change notification.
Definition Api.h:77
 
bool m_firstExecution
Flag for initial execution pass.
Definition Api.h:95
 
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 uint32_t.
Definition Uint32.h:43
 
This abstract class defines the Subscriber interface - for change notifications - to a Model Points d...
Definition SubscriberApi.h:34
 
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 defines a generic interface for sampling a single Digital Input signal.
Definition In.h:32
 
This class defines a generic interface for controlling a simple PWM output signal.
Definition Pwm.h:35
 
The 'Ajax' namespace is the root name space all GM6000 application specific source code.
 
The 'Cpl' namespace is the root name space for the Colony.
Definition Api16.h:20
 
Encapsulate all Model Points in the 'mp' namespace to prevent polluting the global name space.
Definition ModelPoints.h:30