ISeconds implementation that uses user callback functions
This module provides a implementation of the
ISystemSupport
interface that simply calls back the user defined functions to enable the
System module's functionality.
Configuration is as shown below.
var SecondsCallback = xdc.useModule('xdc.runtime.SecondsCallback');
SecondsCallback.getFxn = "&userSetSeconds";
SecondsCallback.setFxn = "&userGetSeconds";
typedef SecondsCallback_GetFxn |
|
'get' function signature
typedef UInt32 (*SecondsCallback_GetFxn)();
typedef SecondsCallback_SetFxn |
|
'set' function signature
typedef Void (*SecondsCallback_SetFxn)(UInt32);
struct SecondsCallback_Time |
|
Structure to hold a time value in seconds plus nanoseconds
typedef struct SecondsCallback_Time {
UInt32 secs;
// Seconds
UInt32 nsecs;
// Nanoseconds
} SecondsCallback_Time;
config SecondsCallback_getFxn // module-wide |
|
User supplied 'get' function
DETAILS
This function is called when the application calls
Seconds.get() function.
By default, this function is configured with a default abort function.
This default abort function spins forever and never returns.
config SecondsCallback_setFxn // module-wide |
|
User supplied 'set' function
DETAILS
This function is called when the application calls
Seconds.set() function.
By default, this function is configured with a default abort function.
This default abort function spins forever and never returns.
SecondsCallback_get() // module-wide |
|
Returns number of seconds since 1970 (the Unix epoch)
UInt32 SecondsCallback_get();
DETAILS
The user must call Seconds_set() before making any calls to Seconds_get(),
otherwise the value returned by Seconds_get() will be meaningless.
SecondsCallback_getTime() // module-wide |
|
Fills in a Seconds_Time structure with seconds and nanoseconds
elapsed since 1970 (the Unix epoch)
DETAILS
Seconds_set() must have been called before making any calls to
Seconds_getTime(), otherwise the value returned by Seconds_getTime()
will be meaningless.
SecondsCallback_set() // module-wide |
|
Update the real time clock with number of seconds since 1970
Void SecondsCallback_set(UInt32 seconds);
DETAILS
Note: This function is non-reentrant.
SecondsCallback_setTime() // module-wide |
|
Update the real time clock with the number of seconds and nanoseconds
that have elapsed since 1970 (the Unix epoch). The Seconds_Time
structure passed to setTime() contains the seconds and nanoseconds
to set the real time clock to. This API can be called instead
of Seconds_set(), if finer granularity of the time is required
Module-Wide Built-Ins |
|
// Get this module's unique id
Bool SecondsCallback_Module_startupDone();
// Test if this module has completed startup
// The heap from which this module allocates memory
Bool SecondsCallback_Module_hasMask();
// Test whether this module has a diagnostics mask
Bits16 SecondsCallback_Module_getMask();
// Returns the diagnostics mask for this module
Void SecondsCallback_Module_setMask(Bits16 mask);
// Set the diagnostics mask for this module