M851 WristApp Design Guide Rev 1.2
Timex Corporation 67
Once the popup state handler completes its task, it must execute the macro CORE_REQ_POPDOWN to
restore the watch to the interrupted foreground application.
USER INTERFACE NOTES:
• Popups must suspended whenever the crown is in the SET1 state.
• Popups are suspended when the Communication becomes the foreground application.
• All queued popup entries are removed when communication module receives the first byte
transmitted.
APPLICATION NOTES:
• When popups are suspended, the kernel will activate the popup clock (if it isn’t already active) and
grabs a copy of the primary time zone time. When popups are again enabled by the system, the
popup clock will serve as the reference time zone for the time zone check resource and is
incremented by one minute for every second that elapsed. This will provide a method in which
entries in the time zone check resource (and the application using the resource) will provide the
user with a popup for all the entries that was ‘missed out’ during the popup suspension).
• Timing critical applications like the timer must not use the popup mechanism to load new values
into the timer resource when it expires due to the fact that popups may be suspended. This will
lead to inaccurate readings. For the timer resource, the resource is tasked to automatically execute
the owner applications resource handler to handle the reload.
4.23 Application Peek Services
Appointment and Occasion type applications are required to provide a peek service through the Resource
Handler. When an application requests for a peek service for a particular application or application type,
the kernel will look in the control block for a similar application. When found, it will execute the ‘peeked
at’ application’s background handler with an event COREEVENT_PEEK. The background handler is only
responsible for displaying the application’s information. Since the current application remains the same,
the resource handler must not use any common foreground variables used for displaying data.
It is advisable for the application to check for the existence of an appliation prior to calling a peek
operation.
Typical usage of a peek macro:
BReg = COREAPPTYPEAPPOINTMENT;
CORE_REQ_PEEK_APP_TYPE;
4.24 Background Tasks
When a state handler or a background handler code is processed, the core will give control to the handler
until it has completed all processing. If this processing takes a very long time, it would be perceived by the
user that the watch has hanged based on unresponsiveness to switch depressions or the regular display
updates are not being seen.
An example of this condition is when an alarm or appointment is searching for the next upcoming
appointment. For a database of 800 records, this search would take about 10 seconds to complete. One of
the conditions to start the alarm or appointment search is when the primary time zone data was changed by
the user. Since the search is initiated through the background handler and taking 10 seconds to complete,
the user will perceive the watch freezing its display for 10 seconds before the tod seconds begins ticking
again. To prevent such delayed perception, the appointment and alarm applications are designed to make
use of the background task execution capability of the M851. The operation involves processing 10 records