User`s guide

Architecture
5-30 AT85C51SND3Bx Firmware User’s Guide
7691A–MP3–08/07
Table 5-1. Requests from MMI applications to MMI manager kernel
Notes: 1. Run priority between these two requests depends on the call order
2. No impact on MMI application execution order
Status
Table 5-2. Status on MMI applications being executed by the MMI manager kernel
5.4.4 Automatic Screen
Refreshing
The automatic screen refreshing consists in the redrawing of application screens when
a top application has just been terminated. This mechanism is linked to the event
EVT_BACK_TO_TOP.
The automatic screen refreshing is done in two steps:
First, the first application that has the feature “full screen” is searched from the
top of the stack.
Functions or Macro-functions Description
Run
Prior.
Event
Name Mailed
mmgr_activate_mmi_appli(
U8 id_appli, U16 param )
Launches an MMI application by pushing it in the application
stack with the help of two arguments:
- id_appli: the module id defined by the developper in file
“mmi\shared\com_appli.h”
- param: extra 16-bit parameter.
The application is normallyexecuted after a scheduler round.
Returns the associated unique id delivered by the application
stack.
3(4)
1
EVT_START_APPLI yes
Mmgr_krn_forward_current_event() Forwards the current event since not caught by the current
application.
This immediately gives control to the following stacked
application with the help of this event.
2
Current event:
EVT_
no
Mmgr_kill_this_mmi_appli()
Mmgr_kill_this_mmi_appli_with_ret
_val( U8 val )
Terminates the current application by popping the MMI
application out of the application stack.
This immediately gives control to the following stacked
application with the help of a specific non-mailed event
“EVT_APPLI_KILLED”.
Idem as “Mmgr_kill_this_mmi_appli()” but additional information
is stored in the 16-bit parameter of the event
“EVT_APPLI_KILLED”:
killed application process ID in the MSB
8-bit data in the LSB
1
4(3)
1
EVT_APPLI_KILLED
EVT_BACK_TO_TOP
no
yes
Mmgr_krn_this_mmi_appli_is_full_s
creen()
Informs the MMI manager kernel that this current application has
a graphical full screen (Partial screen by default).
This information enables the MMI manager kernel to manage the
automatic screen refreshing.
This macro is to execute once in the “EVT_START_APPLI” code
section.
-
2
No event -
Mmgr_set_id_appli_not_defined() Sets a custom variable containing the process id of a running
application to the valueMMI_APPLI_NOT_DEFINED” when this
application does not run anymore (not stacked).
-
2
No event -
Functions or Macro-Functions Description
Mmgr_is_this_appli_at_the_top() Macro called by a MMI application to test if is at the top in the
application stack. Mainly used for drawing.
mmgr_is_appli_at_the_top(U8
id_process )
Function with a parameter “id_process”, value only returned by
“mmgr_activate_mmi_appli()”. Called by MMI applications to know if
such an application is at the top or not. Mainly used for drawing.