Restrictions
This page describes restrictions when developing applications with this product and when using applications developed with it.
Maximum Number of Recognizable MicroPeckerX Units
Applications developed with this product can recognize up to 4 MicroPeckerX units.
You cannot arbitrarily select which MicroPeckerX units are recognized.
Reserved Areas in Structures
This product uses 4-byte alignment. Therefore, some structures include reserved members for alignment adjustment.
If you write to those structures, reserved member values are ignored. If you read them, reserved member values are undefined.
Log Acquisition by Log Mode
Log-Acquisition API Mode
When log mode is set to log-acquisition API mode, send/receive logs are stored in a StMPXLog buffer allocated inside the DLL.
The structure buffer size is 1 MB per channel.
| Item | Log Mode | |
|---|---|---|
| Log-acquisition API mode | Callback function mode | |
| Location of log storage buffer | StMPXLog buffer allocated inside DLL | MicroPeckerX unit |
In log-acquisition API mode, logs can be acquired by these APIs.
| API | Function | Notes |
|---|---|---|
| MPXGetLog | Acquires send/receive logs during monitoring from the StMPXLog buffer allocated inside the DLL. | You do not need to prepare a structure array on caller side for storing acquired logs. |
| MPXCANGetLogEx | Acquires send/receive logs during monitoring into caller-prepared StMPXCANLog array (CAN logs). | |
| MPXLINGetLogEx | Acquires send/receive logs during monitoring into caller-prepared StMPXLINLog array (LIN logs). |
If there is no free area in the buffer, buffer overrun occurs and unsaved log data is lost. Call APIs such as MPXGetLog periodically before overrun to acquire logs.
However, if operation mode is simulation mode and you only transmit (no need for log acquisition/analysis), overrun does not affect transmission processing.
Callback Function Mode
When log mode is callback function mode, up to 4 KB of log data per channel is stored in MicroPeckerX buffer and sent every 10 ms via callback. If buffer space runs out, log data is sent immediately at that point.
Buffer overrun does not occur in callback function mode.
Setting Parameters in StMPXCANSlot (Slot Information)
Meanings of SendDelay, SendOffset, SendCycle, and MinTransInterval in StMPXCANSlot are as follows.
| Member Name | Effect | Related Operation Mode |
|---|---|---|
| SendDelay | After trigger condition set by MPXSetLogReplayTrigger or MPXChangeSlot is satisfied, first frame is transmitted after SendDelay. | Simulation mode |
| SendOffset | After monitoring starts, first frame is transmitted after SendOffset. | Simulation mode |
| SendCycle | Next frame is transmitted after SendCycle has elapsed since previous frame transmission. | Simulation mode |
| MinTransInterval | Next frame is not transmitted until MinTransInterval has elapsed since previous frame transmission. | Simulation mode |
Callback Function Implementation
When implementing callback functions used by MPXSetLogCallBack and MPXSetLogRequestCallBack, keep processing inside callback minimal (for example, only flag updates), and implement heavy processing such as log analysis or replay-log setup in another thread.
While callback function runs, USB communication between MicroPeckerX and PC is paused. If this state continues for long, monitor data loss may occur.
Application Development with Microsoft Visual Basic .NET
When using Microsoft Visual Basic .NET as development environment, some APIs are unavailable.
Target APIs and effects are as follows.
| API | Effect |
|---|---|
| MPXSetLogCallBack | You cannot set callback function mode for log acquisition (only log-acquisition API mode is available). |
| MPXGetLog | Use MPXCANGetLogEx or MPXLINGetLogEx to acquire logs. |