GM6000 Digital Heater Controller Branch: main
SDX-1330
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
Ajax::Ui::Home::Screen Class Reference

This class implements the Home screen. More...

Detailed Description

This class implements the Home screen.

#include <Screen.h>

Inheritance diagram for Ajax::Ui::Home::Screen:
[legend]
Collaboration diagram for Ajax::Ui::Home::Screen:
[legend]

Public Member Functions

 Screen (Ajax::ScreenMgr::Navigation &screenMgr, pimoroni::PicoGraphics &graphics, Cpl::Dm::MailboxServer &myMbox, Cpl::Dm::Mp::Int32 &mpSpaceTemperature)
 Constructor.
 
void enter (Cpl::System::ElapsedTime::Precision_T currentElapsedTime) noexcept
 See Ajax::ScreenMgr::ScreenApi.
 
void exit (Cpl::System::ElapsedTime::Precision_T currentElapsedTime) noexcept
 See Ajax::ScreenMgr::ScreenApi.
 
void sleep (Cpl::System::ElapsedTime::Precision_T currentElapsedTime) noexcept
 See Ajax::ScreenMgr::ScreenApi.
 
void wake (Cpl::System::ElapsedTime::Precision_T currentElapsedTime) noexcept
 See Ajax::ScreenMgr::ScreenApi.
 
void dispatch (AjaxScreenMgrEvent_T event, Cpl::System::ElapsedTime::Precision_T currentElapsedTime) noexcept
 See Ajax::ScreenMgr::ScreenApi.
 
bool tick (Cpl::System::ElapsedTime::Precision_T currentElapsedTime) noexcept
 See Ajax::ScreenMgr::ScreenApi.
 
bool refresh (Cpl::System::ElapsedTime::Precision_T currentElapsedTime) noexcept
 See Ajax::ScreenMgr::ScreenApi.
 
- Public Member Functions inherited from Ajax::ScreenMgr::ScreenApi
virtual ~ScreenApi ()
 Virtual destructor.
 

Protected Member Functions

void heatingModeChanged (Cpl::Dm::Mp::Bool &mpThatChanged, Cpl::Dm::SubscriberApi &clientObserver) noexcept
 Change notification.
 
void fanModeChanged (Ajax::Dm::MpFanMode &mpThatChanged, Cpl::Dm::SubscriberApi &clientObserver) noexcept
 Change notification.
 
void setpointChanged (Cpl::Dm::Mp::Int32 &mpThatChanged, Cpl::Dm::SubscriberApi &clientObserver) noexcept
 Change notification.
 
void alertSummaryChanged (Ajax::Dm::MpAlertSummary &mpThatChanged, Cpl::Dm::SubscriberApi &clientObserver) noexcept
 Change notification.
 
bool getDisplayIdt (int32_t &dstInteger, int32_t &dstFractional) noexcept
 Helper method to get and break down the current IDT into integer and fractional components.
 

Protected Attributes

Ajax::ScreenMgr::Navigationm_screenMgr
 Handle to the screen manager.
 
pimoroni::PicoGraphics & m_graphics
 Graphic library handle.
 
Cpl::Dm::Mp::Int32m_mpIdt
 Current space temperature.
 
Cpl::Dm::SubscriberComposer< Screen, Cpl::Dm::Mp::Boolm_obHeatMode
 Subscriber heating mode.
 
Cpl::Dm::SubscriberComposer< Screen, Ajax::Dm::MpFanModem_obFanMode
 Subscriber fan mode.
 
Cpl::Dm::SubscriberComposer< Screen, Cpl::Dm::Mp::Int32m_obSetpoint
 Subscriber setpoint.
 
Cpl::Dm::SubscriberComposer< Screen, Ajax::Dm::MpAlertSummarym_obAlertSummary
 Subscriber Alert Summary.
 
int32_t m_currentIdt
 Current space temperature.
 
uint32_t m_timerMarker
 Time marker used to trigger 1second polling of the space temperature.
 
unsigned m_alertIndex
 Current Alert index.
 
bool m_stale
 Dirty flag (i.e. need the screen manager to call refresh())
 

Constructor & Destructor Documentation

◆ Screen()

Ajax::Ui::Home::Screen::Screen ( Ajax::ScreenMgr::Navigation screenMgr,
pimoroni::PicoGraphics &  graphics,
Cpl::Dm::MailboxServer myMbox,
Cpl::Dm::Mp::Int32 mpSpaceTemperature 
)

Constructor.

Member Function Documentation

◆ alertSummaryChanged()

void Ajax::Ui::Home::Screen::alertSummaryChanged ( Ajax::Dm::MpAlertSummary mpThatChanged,
Cpl::Dm::SubscriberApi clientObserver 
)
protectednoexcept

Change notification.

◆ dispatch()

void Ajax::Ui::Home::Screen::dispatch ( AjaxScreenMgrEvent_T  event,
Cpl::System::ElapsedTime::Precision_T  currentElapsedTime 
)
virtualnoexcept

◆ enter()

void Ajax::Ui::Home::Screen::enter ( Cpl::System::ElapsedTime::Precision_T  currentElapsedTime)
virtualnoexcept

◆ exit()

void Ajax::Ui::Home::Screen::exit ( Cpl::System::ElapsedTime::Precision_T  currentElapsedTime)
virtualnoexcept

◆ fanModeChanged()

void Ajax::Ui::Home::Screen::fanModeChanged ( Ajax::Dm::MpFanMode mpThatChanged,
Cpl::Dm::SubscriberApi clientObserver 
)
protectednoexcept

Change notification.

◆ getDisplayIdt()

bool Ajax::Ui::Home::Screen::getDisplayIdt ( int32_t &  dstInteger,
int32_t &  dstFractional 
)
protectednoexcept

Helper method to get and break down the current IDT into integer and fractional components.

◆ heatingModeChanged()

void Ajax::Ui::Home::Screen::heatingModeChanged ( Cpl::Dm::Mp::Bool mpThatChanged,
Cpl::Dm::SubscriberApi clientObserver 
)
protectednoexcept

Change notification.

◆ refresh()

bool Ajax::Ui::Home::Screen::refresh ( Cpl::System::ElapsedTime::Precision_T  currentElapsedTime)
virtualnoexcept

◆ setpointChanged()

void Ajax::Ui::Home::Screen::setpointChanged ( Cpl::Dm::Mp::Int32 mpThatChanged,
Cpl::Dm::SubscriberApi clientObserver 
)
protectednoexcept

Change notification.

◆ sleep()

void Ajax::Ui::Home::Screen::sleep ( Cpl::System::ElapsedTime::Precision_T  currentElapsedTime)
virtualnoexcept

◆ tick()

bool Ajax::Ui::Home::Screen::tick ( Cpl::System::ElapsedTime::Precision_T  currentElapsedTime)
virtualnoexcept

◆ wake()

void Ajax::Ui::Home::Screen::wake ( Cpl::System::ElapsedTime::Precision_T  currentElapsedTime)
virtualnoexcept

Member Data Documentation

◆ m_alertIndex

unsigned Ajax::Ui::Home::Screen::m_alertIndex
protected

Current Alert index.

◆ m_currentIdt

int32_t Ajax::Ui::Home::Screen::m_currentIdt
protected

Current space temperature.

◆ m_graphics

pimoroni::PicoGraphics& Ajax::Ui::Home::Screen::m_graphics
protected

Graphic library handle.

◆ m_mpIdt

Cpl::Dm::Mp::Int32& Ajax::Ui::Home::Screen::m_mpIdt
protected

Current space temperature.

◆ m_obAlertSummary

Cpl::Dm::SubscriberComposer<Screen, Ajax::Dm::MpAlertSummary> Ajax::Ui::Home::Screen::m_obAlertSummary
protected

Subscriber Alert Summary.

◆ m_obFanMode

Cpl::Dm::SubscriberComposer<Screen, Ajax::Dm::MpFanMode> Ajax::Ui::Home::Screen::m_obFanMode
protected

Subscriber fan mode.

◆ m_obHeatMode

Cpl::Dm::SubscriberComposer<Screen, Cpl::Dm::Mp::Bool> Ajax::Ui::Home::Screen::m_obHeatMode
protected

Subscriber heating mode.

◆ m_obSetpoint

Cpl::Dm::SubscriberComposer<Screen, Cpl::Dm::Mp::Int32> Ajax::Ui::Home::Screen::m_obSetpoint
protected

Subscriber setpoint.

◆ m_screenMgr

Ajax::ScreenMgr::Navigation& Ajax::Ui::Home::Screen::m_screenMgr
protected

Handle to the screen manager.

◆ m_stale

bool Ajax::Ui::Home::Screen::m_stale
protected

Dirty flag (i.e. need the screen manager to call refresh())

◆ m_timerMarker

uint32_t Ajax::Ui::Home::Screen::m_timerMarker
protected

Time marker used to trigger 1second polling of the space temperature.


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