#include <nitro/wm.h>
WMErrCode WM_StartMP(
WMCallbackFunc callback ,
u16* recvBuf ,
u16 recvBufSize ,
u16* sendBuf ,
u16 sendBufSize ,
u16 mpFreq
);
callback |
Specifies the callback function to be called when the notification of the status for the asynchronous process is sent or when the asynchronous process completes. This callback is called from within the interrupt handler. |
recvBuf | Receive data storage buffer that the SDK uses internally. This value must be aligned to the 32-byte boundary. Because the ARM7 processor writes directly to the buffer, be careful of coherency with the cache. |
recvBufSize | Size of the buffer that stores received data. This value must be larger than the return value of WM_GetMPReceiveBufferSize . This value must also be in multiples of 64 bytes. |
sendBuf | Send data storage buffer that the SDK uses internally. This value must be aligned to the 32-byte boundary. Because the ARM7 processor writes directly to the buffer, be careful of coherency with the cache. |
sendBufSize | Send data storage buffer size that the SDK uses internally. This value must be larger than the return value of WM_GetMPReceiveBufferSize . This value must also be in multiples of 32 bytes. |
mpFreq | Specifies how many times to perform MP communications in one frame. If "0" is specified, the device enters the continuous communication mode. |
Returns the results of the WMErrCode
enumerated type process.
Begins the MP mode This function can be executed only if the WM is in either the PARENT state or the CHILD state. If the return value is WM_ERRCODE_OPERATING
, a callback is generated after the MP mode change process is complete. The WM state changes to the appropriate MP_PARENT
or MP_CHILD
state. A callback is also generated when data is received through MP communication or when MP communication is complete. After entering the MP communication mode, the V-Blank synchronization process is executed automatically between connected devices. MP communication is attempted in each frame for the number of times that is specified by mpFreq
. The number of attempts is not guaranteed and is dependent on the communication status. The maximum number of MP communication attempts that occur during a each frame varies with each communication parameter. WM_StartMPEx
is a function that has similar features to WM_StartMP
function. However, the use of the WM_StartMP
function should be sufficient under normal circumstances.
When a child performs MP communication, call WM_StartMP
soon after the child connects to a parent using WM_StartConnect
. From the time the connection is established until WM_StartMP
is called, the child does not respond to messages sent by the parent. When this status exceeds the CAM communication lifetime set by WM_SetLifeTime
, the child is disconnected from the parent.
WM_StartMPEx
, WM_EndMP
, WM_SetMPDataToPort
, WM_SetPortCallback
07/29/2005 Revised code in line with changes to conditions which cause a NULL response.
06/08/2005 Added statement about callbacks being called from the interrupt handler.
11/09/2004 Added text regarding a Null response.
10/22/2004 Changed return value type.
09/25/2004 Added and revised Description.
08/18/2004 Added the sendBuf
, sendBufSize
, and mpFreq
arguments.
08/11/2004 Added description on the callback upon the completion of the MP communications.
08/02/2004 Standardized structure names.
07/29/2004 Added to Description
07/23/2004 Initial version.