ERIS CORE
AppManager Class Reference

#include "AppManager.h"

+ Collaboration diagram for AppManager:

Public Member Functions

bool chdir ()
 
bool chdir (const char *path)
 
AppBaseClassgetActiveApp ()
 provides an interface for apps to request the active app object More...
 
AppBaseClassgetApp (uint16_t id)
 provides an interface for apps to request another app object by id More...
 
AppBaseClassgetAppByName (const char *appName)
 Get the App pointer By Name. Returns NULL if not found. More...
 
bool getFocus (uint16_t id)
 provides an interface for apps to request focus More...
 
SdFs * getSD ()
 provides an interface for apps to request the SdFs object More...
 
bool ls ()
 
uint16_t peekAppFocus ()
 provides an interface for apps to request the id of the active app More...
 
void printStats ()
 prints out some stats in JSON format to the serial port More...
 
void registerApp (AppBaseClass *app)
 provides an interface for apps to register themselves with the AppManager
once registered the AppManager will include the app in the update loop More...
 
bool releasePopUp ()
 provides an interface for apps to release pop up focus More...
 
bool requestArmSetClock (uint32_t requested_cpu_frequency)
 provides an interface for apps to request cpu freq change note: this is only a request. the actual frequency will vary based on the allowed freq range and current cpu temp More...
 
bool requestPopUp (uint16_t id, bool exclusive=false)
 provides an interface for apps to request pop up focus with or without exclusive screen access More...
 
bool returnFocus ()
 provides an interface for apps to release focus More...
 
bool sendMessage (AppBaseClass *sender, const char *to_app, const char *message)
 provides an interface for apps to send messages to other apps More...
 
bool unregisterApp (AppBaseClass *app)
 provides an interface for apps to unregister themselves with the AppManager
once unregistered the AppManager will no longer include the app in the update loop More...
 
void update ()
 this is the main update loop for ErisCore More...
 

Static Public Member Functions

static AppManagergetInstance ()
 
static void setup ()
 intended to be called from the arduino setup() function, this method initializes and sets up the "ErisCore" More...
 

Public Attributes

AudioDirectorad
 
SvcDataDictionarydata
 
Surfacep_display_surface
 
Surfacep_fast_img_cache_surface
 
SdFs sd
 

Private Member Functions

 AppManager ()
 Construct a new App Manager:: App Manager object using a private constructor (lazy singleton pattern) More...
 

Private Attributes

uint16_t active_app_id
 
AnalogInputs analog
 
Animation animated_wallpaper
 
uint16_t app_focus_stack [8]
 
uint8_t app_focus_stack_index
 
uint16_t app_popup_stack [8]
 
uint8_t app_popup_stack_index
 
elapsedMicros cycle_time
 
uint16_t cycle_time_max
 
elapsedMillis display_refresh_time
 
bool exclusive_app_render
 
elapsedMillis monitor_dd_update_timer
 
uint16_t next_id_assignment
 
TS_Point p
 
AppBaseClassp_active_app
 
AppBaseClassroot
 
loopState state
 
bool touch_state
 
elapsedMillis touched_elapsed
 

Static Private Attributes

static AppManagerobj = 0
 singleton AppManager object is initalized on first call to AppManager::getInstance() More...
 

Detailed Description

Definition at line 34 of file AppManager.h.


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