Limitations
This chapter describes the limitations you must consider when developing applications with this product or when running applications built with it.
Number of Detectable MicroPeckerX Units
The number of MicroPeckerX units that an application developed with this product can detect is shown below.
| Edition | Detectable units |
|---|---|
| Free edition | 1 unit only |
| Paid edition | Up to 4 units |
You cannot choose which MicroPeckerX units are detected in any edition.
Reserved Areas in Structures
This product uses 4-byte alignment. Some structures therefore include reserved members (such as Reserved) for alignment purposes.
Values written to reserved members are ignored, and when read the values are undefined.
Obtaining Log Data Depending on Log Acquisition Mode
Log Acquisition API Mode
When the log acquisition mode is set to API mode, transmitted and received log data is stored in a buffer of the StMPXCANLog (log information) structures that is allocated inside the DLL.
The buffer size is 1 MB per channel.
| Item | Log acquisition mode | |
|---|---|---|
| API mode | Callback mode | |
| Buffer for storing log data | Buffer of StMPXCANLog structures allocated in the DLL | MicroPeckerX unit |
If the buffer runs out of space, a buffer overrun occurs and any log data that could not be stored is lost. Call MPXGetLog or MPXGetLogEx periodically to retrieve log data before a buffer overrun occurs.
If you only transmit data—by setting the operation mode to simulation mode, log replay mode, and so on—and do not need to acquire or analyze log data, a buffer overrun does not affect transmission processing.
Callback Mode
When the log acquisition mode is set to callback mode, up to 4 KB of log data per channel is stored in the MicroPeckerX buffer and sent to the callback function every 10 ms. If the buffer becomes full, the log data is sent immediately. No buffer overrun occurs in callback mode.
Parameters in the StMPXCANSlot Structure (Slot Information)
The meanings of SendDelay, SendOffset, SendCycle, and MinTransInterval in the StMPXCANSlot structure (slot information) are shown below.
| Member | Effect | Applicable operation modes |
|---|---|---|
SendDelay | After the trigger condition configured with MPXSetLogReplayTrigger or MPXChangeSlot becomes true, the first frame is sent after the delay specified by SendDelay elapses. | Simulation mode, log replay mode, burst transfer mode (log replay) |
SendOffset | After monitoring starts, the first frame is sent after the offset specified by SendOffset elapses. | Simulation mode, log replay mode, burst transfer mode |
SendCycle | After the previous frame is sent, the next frame is sent once the period specified by SendCycle elapses. | Simulation mode, burst transfer mode (single frame) |
MinTransInterval | After the previous frame is sent, the next frame is not sent until the minimum interval specified by MinTransInterval elapses. | Simulation mode |
Log Replay
Log replay can be performed on only one channel (CH) of a MicroPeckerX unit. Therefore, you cannot set the operation mode to log replay mode or burst transfer mode (log replay) on both channels of the same unit.
The relevant APIs, structures, and constant definitions are as follows.
| Type | Target |
|---|---|
| API | MPXSetLogRequestCallBack, MPXSetLogReplayData, MPXSetBurstLog, MPXSetLogReplayTrigger, MPXLogReplayStart, MPXLogReplayStop |
| Structure definition | StMPXCANReplayLog |
| Constant definitions | ・Some API return codesE_LOG_OVER・Some MicroPeckerX status values MPX_STATUS_LOG, MPX_STATUS_BUR, MPX_STATUS_BUR_LOG・Some operation modes MPX_MODE_CAN_LOGREPLAY, MPX_MODE_CAN_BURST_FRM, MPX_MODE_CAN_BURST_LOG・Log size for log replay MPX_CAN_SIM_REPLAY_HEADERSIZE |
Log replay is not available in the free edition.
Implementing Callback Functions
When you implement callback functions used with MPXSetLogCallBack and MPXSetLogRequestCallBack, limit the processing performed inside the callback to simple operations such as updating flags. Implement time-consuming tasks—such as analyzing log data or configuring replay logs—in another thread.
While a callback function is running, USB communication between MicroPeckerX and the PC is suspended. If this state lasts for a long time, monitoring data may be dropped.
Developing Applications with Microsoft Visual Basic .NET
When you use Microsoft Visual Basic .NET as the development environment, some APIs are unavailable.
The affected APIs and their impact are listed below.
| API | Impact |
|---|---|
MPXSetLogCallBack | Cannot set the log acquisition mode to callback mode (only API mode is available). |
MPXGetLog | Use MPXGetLogEx to retrieve log data. |
MPXSetLogRequestCallBack | Log replay cannot be used. |