ERIS CORE
AppBaseClass Class Reference

base class definition / implementation from which all app classes will be derived and override More...

#include "AppBaseClass.h"

+ Inheritance diagram for AppBaseClass:
+ Collaboration diagram for AppBaseClass:

Public Member Functions

 AppBaseClass ()
 
 AppBaseClass (const AppBaseClass &)=delete
 
 ~AppBaseClass ()
 
void getFocus ()
 Get focus from the AppManager. More...
 
uint16_t getID ()
 Get the ID object. More...
 
bool isName (const char *name_string)
 Compares the name_string to the app class instance name (string) More...
 
virtual void messageHandler (AppBaseClass *sender, const char *message)
 receiver method for inter-app string based communication More...
 
virtual void onAnalog1 (uint16_t uval, float fval)
 Event handler for analog 1 event. More...
 
virtual void onAnalog2 (uint16_t uval, float fval)
 Event handler for analog 2 event. More...
 
virtual void onAnalog3 (uint16_t uval, float fval)
 Event handler for analog 3 event. More...
 
virtual void onAnalog4 (uint16_t uval, float fval)
 Event handler for analog 4 event. More...
 
virtual void onFocus ()
 Event handler called when the app gains focus. More...
 
virtual void onFocusLost ()
 Event handler called when the app loses focus. More...
 
virtual void onTouch (uint16_t t_x, uint16_t t_y)
 Event handler called on touch. More...
 
virtual void onTouchDrag (uint16_t t_x, uint16_t t_y)
 Event handler for touch drag. More...
 
virtual void onTouchRelease (uint16_t t_x, uint16_t t_y)
 Event handler for touch release. More...
 
void registerApp (AppBaseClass *app)
 registers the app instance with the AppManager More...
 
virtual void render ()
 render loop More...
 
void setDimension (int16_t new_width, int16_t new_height)
 Set the Dimension object. More...
 
void setName (const char *name_string)
 Set the app class instance name (string) More...
 
void setParent (AppBaseClass *parent)
 Set the Parent object. More...
 
void setPosition (int16_t new_origin_x, int16_t new_origin_y)
 Set the Position object. More...
 
void setWidgetDimension (int16_t new_width, int16_t new_height)
 Set the Widget Dimension object. More...
 
void setWidgetPosition (int16_t new_origin_x, int16_t new_origin_y)
 Set the Widget Position object. More...
 
virtual void update ()
 update loop More...
 

Public Attributes

int16_t h
 
int16_t height
 
char name [MAX_NAME_LENGTH]
 
int16_t origin_x
 
int16_t origin_y
 
int16_t w
 
int16_t widget_height
 
int16_t widget_origin_x
 
int16_t widget_origin_y
 
int16_t widget_width
 
int16_t width
 
int16_t x
 
int16_t y
 

Protected Member Functions

void _updatePosition ()
 
void releasePopUp ()
 gives up popup More...
 
void requestPopUp (bool exclusive=false)
 request popup from the AppManager
will be activated by the next render loop
applications in popup mode are guaranteed to be rendered last; preventing any overdraw
exclusive mode option blocks the render calls of all other apps by the AppManager usefull
for taking over full screen rendering while allowing the apps update loops to continue. More...
 
void returnFocus ()
 give up focus More...
 
void selfRegister ()
 self register the instance with the AppManager More...
 
void setUpdatePriority (uint16_t level)
 Set the update priority
the level sets the number of update opportunities before the update method is actually called. More...
 

Protected Attributes

AudioDirectorad
 
AppManageram
 
uint16_t cycle_time
 
uint16_t cycle_time_max
 
ILI9341_t3_ERISdraw
 
elapsedMicros et_render_period
 
elapsedMicros et_update_period
 
bool has_focus
 
bool has_pop
 
uint16_t id
 
AppBaseClassnext_app_node
 
AppBaseClassparent_node
 
AppBaseClassprevious_app_node
 
uint16_t render_cpu_time
 
uint16_t render_cpu_time_max
 
uint16_t render_period_max
 
SvcSerialCommandInterfacesci
 
SdFs * sd
 
bool touch_state
 
uint16_t update_cpu_time
 
uint16_t update_cpu_time_max
 
uint16_t update_period_max
 
uint16_t update_priority
 
uint16_t update_priority_counter
 

Friends

class AppManager
 

Detailed Description

base class definition / implementation from which all app classes will be derived and override

Definition at line 34 of file AppBaseClass.h.


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