![]() |
GM6000 Digital Heater Controller Build: 20 (Branch = develop)
SDX-1330
|
This concrete class translates physical button actions into logical UI Button events. More...
This concrete class translates physical button actions into logical UI Button events.
The class used the Driver::PicoDisplay interface for debouncing the physical buttons
#include <LogicalButtons.h>
Public Member Functions | |
| LogicalButtons (Cpl::Dm::MailboxServer &myMbox, Cpl::Container::RingBufferMP< AjaxUiEvent_T > &eventRingBuffer) | |
| Constructor. | |
| void | request (OpenMsg &msg) |
| See Cpl::Itc::OpenSync. | |
| void | request (CloseMsg &msg) |
| See Cpl::Itc::CloseSync. | |
Public Member Functions inherited from Cpl::Itc::CloseSync | |
| CloseSync (PostApi &myMbox) noexcept | |
| Constructor. | |
| bool | close (void *args=nullptr) |
| See CloseSync. | |
Public Member Functions inherited from Cpl::Itc::OpenSync | |
| OpenSync (PostApi &myMbox) noexcept | |
| Constructor. | |
| bool | open (void *args=nullptr) |
| See OpenApi. | |
Public Member Functions inherited from Cpl::Itc::OpenApi | |
| virtual | ~OpenApi () |
| Virtual destructor. | |
Public Member Functions inherited from Cpl::Itc::CloseApi | |
| virtual | ~CloseApi () |
| Virtual destructor. | |
Public Member Functions inherited from Cpl::System::Timer | |
| Timer (TimerManager &timingSource) | |
| Constructor | |
| Timer () | |
| Constructor. Alternate constructor - that defers the assignment of the timing source | |
| virtual void | start (unsigned long timerDurationInMilliseconds) noexcept |
| Starts the timer with an initial count down count duration of 'timerDurationInMilliseconds'. | |
| virtual void | stop () noexcept |
| Stops the timer. | |
| unsigned long | count () const noexcept |
| Returns the current count (in milliseconds) | |
| virtual void | setTimingSource (TimerManager &timingSource) noexcept |
| Sets the timing source. | |
Public Member Functions inherited from Cpl::System::CounterCallback_ | |
| virtual | ~CounterCallback_ () |
| Virtual Destructor. | |
Public Member Functions inherited from Cpl::Container::Item | |
| bool | insert_ (void *newContainerPtr) |
| Helper method to trap when inserting an item in multiple containers. | |
| bool | isInContainer_ (const void *containerPtr) const noexcept |
| Returns 'true' if the instance is in the specified container. | |
Protected Member Functions | |
| void | expired (void) noexcept |
| Timer expired callback. | |
| AjaxUiEvent_T | getLogicalKey (int edgeA, int edgeB, int edgeX, int edgeY) noexcept |
| Helper method. | |
| AjaxUiEvent_T | lookUpLogicalKey (bool pressedA, bool pressedB, bool pressedX, bool pressedY) noexcept |
| Helper method. | |
| void | generateKeyEvent (AjaxUiEvent_T event) noexcept |
| Helper method. | |
| int | detectEdges (bool currentPressedState, bool &prevPressedSate) noexcept |
| Helper method. | |
Protected Member Functions inherited from Cpl::System::Timer | |
| void | decrement (unsigned long milliseconds=1) noexcept |
| See Cpl::System::CounterCallback_. | |
| void | increment (unsigned long milliseconds) noexcept |
| See Cpl::System::CounterCallback_. | |
Protected Member Functions inherited from Cpl::Container::ExtendedItem | |
| ExtendedItem () | |
| Constructor. | |
| ExtendedItem (const char *ignoreThisParameter_usedToCreateAUniqueConstructor) | |
| Constructor used ONLY with the child class MapItem: -->special constructor to allow a Map to be statically allocated. | |
Protected Member Functions inherited from Cpl::Container::Item | |
| Item () | |
| Constructor. | |
| Item (const char *) | |
| Constructor used ONLY with the child class MapItem: -->special constructor to allow a Map to be statically allocated. | |
Protected Attributes | |
| Cpl::Container::RingBufferMP< AjaxUiEvent_T > & | m_eventQueue |
| The event queue. | |
| int | m_state |
| Internal button state. | |
| unsigned | m_delayCounter |
| Track time by tick counts. | |
| AjaxUiEvent_T | m_latchedKey |
| The current detected key event. | |
| unsigned | m_10HzDividerCounter |
| Divider to 10Hz. | |
| bool | m_buttonAPressed |
| Track when the button has been pressed. | |
| bool | m_buttonBPressed |
| Track when the button has been pressed. | |
| bool | m_buttonXPressed |
| Track when the button has been pressed. | |
| bool | m_buttonYPressed |
| Track when the button has been pressed. | |
| bool | m_releaseEvent |
| Track the release action. | |
| bool | m_pressedEvent |
| Track the pressed action. | |
| bool | m_isSingleKeyEvent |
| Track single vs multi key events. | |
| bool | m_opened |
| Track my open/close state. | |
Protected Attributes inherited from Cpl::Itc::OpenSync | |
| PostApi & | m_mbox |
| Mailbox (of the server implementing the ITC request() method. | |
Protected Attributes inherited from Cpl::System::Timer | |
| TimerManager * | m_timingSource |
| The timer's tick source. | |
| unsigned long | m_count |
| Current count. | |
Additional Inherited Members | |
Public Types inherited from Cpl::Itc::OpenRequest | |
| typedef Cpl::Itc::SAP< OpenRequest > | SAP |
| SAP for this API. | |
| typedef RequestMessage< OpenRequest, OpenPayload > | OpenMsg |
| Message Type: Open. | |
Public Types inherited from Cpl::Itc::CloseRequest | |
| typedef Cpl::Itc::SAP< CloseRequest > | SAP |
| SAP for this API. | |
| typedef RequestMessage< CloseRequest, ClosePayload > | CloseMsg |
| Message Type: Close. | |
Static Public Member Functions inherited from Cpl::Container::Item | |
| static void | remove_ (Item *itemPtr) noexcept |
| Helper method to do the proper 'clean-up' for the multiple-containers-error-trap when removing an item from a container. | |
Public Attributes inherited from Cpl::Container::ExtendedItem | |
| void * | m_prevPtr_ |
| The previous link field. | |
Public Attributes inherited from Cpl::Container::Item | |
| void * | m_nextPtr_ |
| The link field. | |
| void * | m_inListPtr_ |
| Debug field. | |
| Ajax::Ui::LogicalButtons::LogicalButtons | ( | Cpl::Dm::MailboxServer & | myMbox, |
| Cpl::Container::RingBufferMP< AjaxUiEvent_T > & | eventRingBuffer ) |
Constructor.
|
protectednoexcept |
Helper method.
|
protectedvirtualnoexcept |
Timer expired callback.
Implements Cpl::System::CounterCallback_.
|
protectednoexcept |
Helper method.
|
protectednoexcept |
Helper method.
|
protectednoexcept |
Helper method.
|
virtual |
See Cpl::Itc::CloseSync.
Implements Cpl::Itc::CloseRequest.
|
virtual |
See Cpl::Itc::OpenSync.
Implements Cpl::Itc::OpenRequest.
|
protected |
Divider to 10Hz.
|
protected |
Track when the button has been pressed.
|
protected |
Track when the button has been pressed.
|
protected |
Track when the button has been pressed.
|
protected |
Track when the button has been pressed.
|
protected |
Track time by tick counts.
|
protected |
The event queue.
|
protected |
Track single vs multi key events.
|
protected |
The current detected key event.
|
protected |
Track my open/close state.
|
protected |
Track the pressed action.
|
protected |
Track the release action.
|
protected |
Internal button state.