Restrictions
This section describes the restrictions when developing applications with this product and when using applications developed with this product.
Number of Recognizable MicroPeckerX Units
The number of MicroPeckerX units that can be recognized by applications developed with this product is as follows.
| Edition | Number of Recognizable Units |
|---|---|
| Free Edition | 1 unit only |
| Paid Edition | Up to 4 units |
In either edition, you cannot arbitrarily specify which MicroPeckerX unit to recognize.
Reserved Areas in Structures
In this product, alignment is set to 4 bytes. Therefore, some structures include reserved-area members (such as Reserved) for alignment adjustment.
When writing to applicable structures, values in reserved areas are not used. When reading, values in reserved areas are undefined.
Log Acquisition by Log Acquisition Mode
Log Acquisition API Mode
When the log acquisition mode is set to Log Acquisition API Mode, transmit/receive log information is stored in a structure buffer of type StMPXCANLog (log information) allocated inside the DLL.
The structure buffer size is 1 MB per channel.
| Item | Log Acquisition Mode | |
|---|---|---|
| Log Acquisition API Mode | Callback Function Mode | |
| Location of log storage buffer | Buffer of StMPXCANLog (log information) structure allocated in the DLL | MicroPeckerX unit |
If there is no free space to store log information in the buffer, a buffer overrun occurs and unsaved log information is lost. To avoid this, periodically call MPXGetLog or MPXGetLogEx before a buffer overrun occurs and retrieve log information.
However, if the operation mode is set to simulation mode or log replay mode and you only transmit data (that is, log acquisition/analysis is unnecessary), buffer overruns do not affect transmission processing.
Callback Function Mode
When the log acquisition mode is set to Callback Function Mode, up to 4 KB of log information per channel is stored in the MicroPeckerX buffer and sent via callback every 10 ms. Also, if there is no remaining space in the buffer, the log information is sent immediately at that point.
In callback function mode, buffer overrun does not occur.
Configuration Parameters of StMPXCANSlot Structure (Slot Information)
In the StMPXCANSlot structure (slot information), the meanings of SendDelay (delay time for event transmission), SendOffset (transmission offset), SendCycle (transmission cycle), and MinTransInterval (minimum guaranteed transmission interval) are as follows.
| Member Name | Effect | Related Operation Mode |
|---|---|---|
| SendDelay | After the trigger condition set by MPXSetLogReplayTrigger or MPXChangeSlot is satisfied, the first frame is transmitted after the time specified by SendDelay has elapsed. | Simulation mode, log replay mode, burst transfer mode (log replay) |
| SendOffset | After monitoring starts, the first frame is transmitted after the time specified by SendOffset has elapsed. | Simulation mode, log replay mode, burst transfer mode |
| SendCycle | After the previous frame transmission, the next frame is transmitted after the time specified by SendCycle has elapsed. | Simulation mode, burst transfer mode (single frame) |
| MinTransInterval | The next frame is not transmitted until the time specified by MinTransInterval has elapsed since the previous frame transmission. | Simulation mode |
Log Replay
Log replay can be performed on only one channel of a single MicroPeckerX unit. Therefore, both channels cannot be set to log replay mode or burst transfer mode (log replay).
The target APIs, structure definitions, and constant definitions are as follows.
| Type | Targets |
|---|---|
| API | MPXSetLogRequestCallBack, MPXSetLogReplayData, MPXSetBurstLog, MPXSetLogReplayTrigger, MPXLogReplayStart, MPXLogReplayStop |
| Structure Definition | StMPXCANReplayLog |
| Constant Definition | Some API return values:E_LOG_OVERSome MicroPeckerX statuses: MPX_STATUS_LOG, MPX_STATUS_BUR, MPX_STATUS_BUR_LOGSome operation modes: MPX_MODE_CAN_LOGREPLAY, MPX_MODE_CAN_BURST_FRM, MPX_MODE_CAN_BURST_LOGLog replay log size: MPX_CAN_SIM_REPLAY_HEADERSIZE |
Log replay is not available in the Free Edition.
Implementing Callback Functions
When implementing callback functions used by MPXSetLogCallBack and MPXSetLogRequestCallBack, limit processing inside the callback to lightweight operations such as flag updates. Time-consuming processing such as log analysis and replay-log setup should be implemented in a separate thread.
While a callback function is running, USB communication between MicroPeckerX and the PC is paused. If this state continues for a long time, monitor data loss may occur.