module ti.uia.sysbios.IpcMP
C synopsis target-domain sourced in ti/uia/sysbios/IpcMP.xdc
 
config IpcMP_A_IpcMPFailure  // module-wide

Assert raised IpcMP interaction gets unexpected failure

C synopsis target-domain
extern const Assert_Id IpcMP_A_IpcMPFailure;
 
 
config IpcMP_sharedRegionId  // module-wide

SharedRegion used to allocate messages

C synopsis target-domain
extern const Int IpcMP_sharedRegionId;
 
 
IpcMP_freePacket()  // module-wide

Function called within ServiceMgr_freePacket

C synopsis target-domain
Void IpcMP_freePacket(UIAPacket_Hdr *packet);
 
ARGUMENTS
packet — Pointer to a UIAPacket
DETAILS
This function can be used to return an unused packet back to the module. It must only return packets that were obtained via the getFreePacket function.
 
IpcMP_getFreePacket()  // module-wide

Function called within ServiceMgr_getFreePacket

C synopsis target-domain
UIAPacket_Hdr *IpcMP_getFreePacket(UIAPacket_HdrType type, UInt timeout);
 
ARGUMENTS
type — Requested type of packet
timeout — return after this many system time units
RETURNS
Point to the free UIA packet. NULL if not successful.
DETAILS
The service can specify what type of packet it wants with the first parameter.
The function fills in the HdrType field of the packet automatically for the service. All other fields are un-initialized.
 
IpcMP_requestEnergy()  // module-wide

Function called within ServiceMgr_requestEnergy

C synopsis target-domain
Void IpcMP_requestEnergy(Int id);
 
ARGUMENTS
id — Id of the service
DETAILS
Generally services do not maintain an active thread. Services may request the ServiceMgr module to call the ProcessCallback in the context of the transfer agent. This can be accomplished via this function.
 
IpcMP_sendPacket()  // module-wide

Function called within ServiceMgr_sendPacket

C synopsis target-domain
Bool IpcMP_sendPacket(UIAPacket_Hdr *packet);
 
ARGUMENTS
packet — UIAPacket to be sent
RETURNS
TRUE denotes success and the packet is no longer owned by the caller. FALSE denotes failure and the packet is still owned by the caller.
DETAILS
All UIAPacket fields except for SenderAdrs must be filled in.
The caller loses ownership of the packet once it is successfully sent. If this function fails, the caller still owns the packet.
 
IpcMP_setPeriod()  // module-wide

Function called within ServiceMgr_setPeriod

C synopsis target-domain
Void IpcMP_setPeriod(Int id, UInt32 periodInMs);
 
ARGUMENTS
id — Service id of the service
periodInMs — Requested period in milliseconds
DETAILS
Services period should be a multiple of the ServiceMgr's period (periodInMs). If it is not, they will called at the rounded up period. For example, if ServiceMgr.periodInMs = 100 and a service sets its period to 250. That service will be called every 300 milliseconds.
Module-Wide Built-Ins

C synopsis target-domain
Types_ModuleId IpcMP_Module_id();
// Get this module's unique id
 
Bool IpcMP_Module_startupDone();
// Test if this module has completed startup
 
IHeap_Handle IpcMP_Module_heap();
// The heap from which this module allocates memory
 
Bool IpcMP_Module_hasMask();
// Test whether this module has a diagnostics mask
 
Bits16 IpcMP_Module_getMask();
// Returns the diagnostics mask for this module
 
Void IpcMP_Module_setMask(Bits16 mask);
// Set the diagnostics mask for this module
 
XDCscript usage meta-domain sourced in ti/uia/sysbios/IpcMP.xdc
var IpcMP = xdc.useModule('ti.uia.sysbios.IpcMP');
module-wide config parameters
        msg: "A_IpcMPFailure: Unexpected failure with the IpcMP"
    };
 
module-wide functions
    IpcMP.newService// Function called within ServiceMgr_register(Int id, UInt32 periodInMs) returns Void
 
 
config IpcMP.A_IpcMPFailure  // module-wide

Assert raised IpcMP interaction gets unexpected failure

XDCscript usage meta-domain
IpcMP.A_IpcMPFailure = Assert.Desc {
    msg: "A_IpcMPFailure: Unexpected failure with the IpcMP"
};
 
C SYNOPSIS
 
config IpcMP.sharedRegionId  // module-wide

SharedRegion used to allocate messages

XDCscript usage meta-domain
IpcMP.sharedRegionId = Int 0;
 
C SYNOPSIS
 
metaonly config IpcMP.common$  // module-wide

Common module configuration parameters

XDCscript usage meta-domain
IpcMP.common$ = Types.Common$ undefined;
 
DETAILS
All modules have this configuration parameter. Its name contains the '$' character to ensure it does not conflict with configuration parameters declared by the module. This allows new configuration parameters to be added in the future without any chance of breaking existing modules.
 
metaonly IpcMP.doNotPlugIpc()  // module-wide

Work-around for Syslink bug SDOCM00077375

XDCscript usage meta-domain
IpcMP.doNotPlugIpc() returns Void
 
DETAILS
Only call if you are using Syslink version 2.00.00.66
 
metaonly IpcMP.newService()  // module-wide

Function called within ServiceMgr_register

XDCscript usage meta-domain
IpcMP.newService(Int id, UInt32 periodInMs) returns Void
 
ARGUMENTS
id — Id of the new service
periodInMs — Period requested by the service (in millisecond)
DETAILS
All services must call ServiceMgr.register. The ServiceMgr manages the processFxn callback. It then calls the proxy's newService function.
generated on Mon, 28 Jan 2013 17:45:49 GMT