# WMMPParam

## Definitions

  `#include <nitro/wm.h>`

      typedef struct WMMPParam
      {
          u32     mask;

          u16     minFrequency;
          u16     frequency;
          u16     maxFrequency;
          u16     parentSize;
          u16     childSize
          u16     parentInterval;
          u16     childInterval;
          u16     parentVCount;
          u16     childVCount;
          u16     defaultRetryCount;
          u8      minPollBmpMode;
          u8      singlePacketMode;
          u8      ignoreFatalErrorMode;
          u8      ignoreSizePrecheckMode;

      } WMMPParam;

## Elements

mask | Specifies which of the following fields are enabled using bits.
minFrequency | Represents a member whose feature is not implemented.
frequency | Specifies the number of MP communications per picture frame.
maxFrequency | Specifies the maximum number of MP communications (including resends) per picture frame.
parentSize | This is the current parent send capacity.
childSize | This is the current child send capacity.
parentInterval | Specifies in microseconds the MP communication interval for a parent during which communications are carried out continuously during a single frame.
childInterval | Specifies in microseconds the MP communication interval for a child during which communications are carried out continuously during a single frame.
parentVCount | Represents the start V count of the parent process during frame synchronous communications.
childVCount | Represents the start V count of the child process during frame synchronous communications.
defaultRetryCount | Represents the default retry count for communications over the raw communication port.
minPollBmpMode | Indicates if in the mode where PollBitmap is minimized according to the send destination of the packet.
singlePacketMode | Indicates if in the mode that allows only one packet per MP communication.
ignoreFatalErrorMode | Indicates if in the mode that ignores fatal errors.
ignoreSizePrecheckMode | Indicates if in the mode that ignores pre-checking of the send/receive size when communications start.

## Description

The structure of the information that should be set when starting activity as a parent. This structure is used by the WM_SetMPParameter function.

Select the parameters to be set from among those shown below and specify the logical sum of the corresponding constants `WM_MP_PARAM_*` in the `mask` field. Note that some parameters are set automatically at the time of execution of particular WM functions. For details, see the descriptions of each parameter.

WM_MP_PARAM_FREQUENCY | Specifies the frequency at which MP communications are performed. If "0" is specified, the device enters continuous communication mode provided for large volumes of data communication. Because the frequency of MP communications is always set when WM_StartMP or WM_StartMPEx is executed, this item is used only when changing the frequency of MP communications after they have started. This only affects the parent.
WM_MP_PARAM_MAX_FREQUENCY | Specifies the maximum number of MP communications (including resends) per picture frame into maxFrequency. The default value is 6 times. This only affects the parent.
WM_MP_PARAM_PARENT_SIZE | Specifies an MP communication parent send capacity in parentSize. The send capacity must be a multiple of 2, so if an odd number is designated, it is rounded up so that it is even. This only affects the parent. This parameter is initialized using the value of WMParentParam.parentMaxSize specified by the WM_SetParentParameter function, and a value larger than that cannot be set.
WM_MP_PARAM_CHILD_SIZE | Specifies an MP communication child send capacity in childSize. The send capacity must be a multiple of 2, so if an odd number is designated, it is rounded up so that it is even. Although this setting can be made for both parent and children, this does not mean much due to the fact that the value set for the child here will be overwritten with that value specified for the parent each time an MP communication takes place. The parent is initialized to the value of WMParentParam.childMaxSize specified by the WM_SetParentParameter function, while children are initialized to the value of childMaxSize in the parent's beacon. It is not possible to set values higher than this.
WM_MP_PARAM_PARENT_INTERVAL | Specifies in microseconds the interval needed for the parent to prepare MP communications into parentInterval. This is used when performing multiple MP communications during a single picture frame. The default value is 2000 microseconds.
WM_MP_PARAM_CHILD_INTERVAL | Specifies in microseconds the interval needed for the child to prepare MP communications into childInterval. This is used when performing multiple MP communications during a single picture frame. The default value is 2000 microseconds.
WM_MP_PARAM_PARENT_VCOUNT | Specifies in microseconds the VAlarmCount value needed for the parent to prepare MP communications into parentVCount. This is referenced when the first MP communication inside a frame is made while in frame synchronous mode. A value in the range 220 to 262 or 0 to 190 must be specified. The default value is 260.
WM_MP_PARAM_CHILD_VCOUNT | Specifies in microseconds the VAlarmCount value needed for the child to prepare MP communications into childVCount. This is referenced when the first MP communication inside a frame is made while in frame synchronous mode. A value in the range 220 to 262 or 0 to 190 must be specified. The default value is 240.
WM_MP_PARAM_DEFAULT_RETRY_COUNT | Specifies the default value of the number of resends when the communication on ports 0 to 7 fails in defaultRetryCount. The communication that occurs on ports 8-15 repeats resends endlessly regardless of this value. This only affects the parent. The default value is 0.
WM_MP_PARAM_MIN_POLL_BMP_MODE | Specifies the flag for special send mode into minPollBmpMode. When TRUE, the value of PollBitmap in an MP frame becomes the logical sum of the destination of the packet that the parent sends on that communication. If FALSE, PollBitmap is always set for all children. A detailed understanding of MP communications is required when using this parameter. The default value is FALSE. This only affects the parent. It cannot be changed after MP communications start.
WM_MP_PARAM_SINGLE_PACKET_MODE | Specifies the flag for special send mode into singlePacketMode. When this value is TRUE, this function always sends only one packet for each MP communication. When this value is FALSE, the maximum number of packets allowed by the send capacity are packed into the MP communication payload. The default value is FALSE. It cannot be changed after MP communications start.
WM_MP_PARAM_IGNORE_FATAL_ERROR_MODE | Specifies the flag for special send mode into IgnoreFatalErrorMode. When this value is TRUE, the connection state is maintained without performing disconnect processing even if a fatal error occurs. This flag must not be set to TRUE in modes other than limited modes such as MB because the integrity of Sequential communications are not guaranteed when this flag is enabled. The default value is FALSE.
WM_MP_PARAM_IGNORE_SIZE_PRECHECK_MODE | Specifies the flag for managing the special send size into ignoreSizePrecheckMode. When this value is TRUE, the precheck of the parent/child send capacity, communication time with maximum number of connections and the send/receive buffer size usually made when starting MP communications with the WM_StartMP function is disabled. A detailed understanding of MP communications is required when using this parameter. The default value is FALSE.

Using minPollBmpMode and ignoreSizePrecheckMode requires a detailed understanding of MP communications. Because of this, it should normally not be enabled. Also, when minPollBmpMode is enabled on ports 8 through 15, communication must occur once every 60 seconds for all ports on all children.

Refer to the section "An Explanation of the Wireless Communication Library" for details about each configuration value.

## Revision History

12/20/2005 Clearly stated that the risk of ignoreSizePrecheckMode
12/08/2005 Clearly stated that the send capacity must be an even number
11/24/2005 Initial version

CONFIDENTIAL