API詳細(共通)
本製品で使用できる各APIのうち、共通のAPIの詳細を説明します。
先に確認する導線
- 目的別の呼び出し順を先に確認する場合: 共通APIの使い方(目的別)
- 共通の定数を確認する場合: 定数定義(共通)
- 共通の構造体を確認する場合: 構造体定義(共通)
- CAN/LINの実装対応表を確認する場合: CAN API対応表, LIN API対応表
APIクイック参照(定数/構造体/前提/最小例)
| API | このAPIで使う定数 | このAPIで使う構造体 | 呼び出し前提ステータス | 最小コード例(C++/C#/VBA) |
|---|---|---|---|---|
| MPXGetAPIVersion | API戻り値 | StMPXAPIVersion | 未認識/認識中 | 共通導入 |
| MPXOpen | API戻り値 | StMPXDeviceInfo | 未認 識 | 共通導入 |
| MPXClose | API戻り値 | - | 認識中 | 共通導入 |
| MPXSetLED | LED設定 | - | RUN/PARAM | 共通導入 |
| MPXGetStatus | MicroPeckerXステータス | - | 認識中 | 共通導入 |
| MPXMonitorStart | 同期モード, MicroPeckerXステータス | - | PARAM | 共通導入 |
| MPXMonitorStop | API戻り値 | - | SYNC/NONE/MON/SIM | 共通導入 |
| MPXGetTimeStamp | API戻り値 | - | NONE/MON/SIM | 共通導入 |
| MPXSetGetLogMode | ログ取得モード | - | RUN/PARAM | CAN C#サンプル, LIN VBAサンプル |
| MPXSetLogCallBack | ログ取得モード | StMPXLogCB | RUN/PARAM | CAN C++サンプル, LIN C++サンプル |
| MPXGetLog | バッファオーバーラン有無 | StMPXLog | NONE/MON/SIM | CAN C++サンプル, LIN C++サンプル |
凡例
このページでは、各APIの詳細を以下の形式で説明します。
| 形式 | [関数の型] [関数名]([引数], ...) | |||
|---|---|---|---|---|
| 引数 | [引数の型] | [引数名] | [in/out] | [引数の説明] |
| 戻り値 | [戻り値の型] | [戻り値(エラーコード)] | [戻り値(エラーコード)の説明] | |
| 機能 | [関数の機能の説明] | |||
| 補足 | [関数の補足説明] | |||
[引数の型]が構造体となっている場合、構造体にセットする値、またはセットされる値については「構造体定義(struct)」を参照してください。
[in/out]は、関数の呼び出し時にセットする場合はin、関数の処理でセットされる場合はoutになります。
API詳細
MPXGetAPIVersion
本APIのバージョン情報を取得します。
| 形式 | ER MPXGetAPIVersion(StMPXAPIVersion * Version) | |||
|---|---|---|---|---|
| 引数 | StMPXAPIVersion * | Version | out | APIのバージョン情報 |
| 戻り値 | ER | E_OK | 正常終了 | |
| E_PARAM | パラメータ異常(NULLポインタ指定など) | |||
| 機能 | 本APIのバージョン情報を取得します。 | |||
MPXOpen
MicroPeckerX本体を認識させます。
| 形式 | ER MPXOpen(StMPXDeviceInfo * Devices, unsigned char Num, unsigned char * Count) | |||
|---|---|---|---|---|
| 引数 | StMPXDeviceInfo * | Devices | in/out | デバイス情報構造体配列 |
| unsigned char | Num | in | デバイス情報構造体配列の要素数 | |
| unsigned char * | Count | out | 認識したMicroPeckerX本体の台数 | |
| 戻り値 | ER | E_OK | 正常終了 | |
| E_DEVICE | デバイスが見つからない | |||
| E_COMM | 通信異常 | |||
| E_TIMEOUT | 通信タイムアウト | |||
| 機能 | PCに接続 しているMicroPeckerX本体を認識させます。 Devicesには認識したMicroPeckerX本体のデバイス情報をセットするための構造体配列を、Numには配列の要素数を、それぞれ指定してください。 取得したデバイス情報の件数はCountにセットされます。 | |||
| 補足 | 複数のMicroPeckerX本体をPCに接続している場合、その中からNumに指定した台数(最大4台)まで同時に認識させることができます。ただし、認識させるMicroPeckerX本体を任意で指定することはできません。 | |||
MPXClose
MicroPeckerX本体の認識を解除します。
| 形式 | ER MPXClose(void) | |||
|---|---|---|---|---|
| 戻り値 | ER | E_OK | 正常終了 | |
| 機能 | 認識中のMicroPeckerX本体の認識を全て解除します。 | |||
MPXSetLED
MicroPeckerXのLEDを制御します。
| 形式 | ER MPXSetLED(unsigned long Serial, unsigned char LEDRed, unsigned char LEDGreen, unsigned char LEDGreenBlink, unsigned char LEDYellow, unsigned char LEDYellowBlink) | |||
|---|---|---|---|---|
| 引数 | unsigned long | Serial | in | 対象のMicroPeckerX本体のシリアル番号 |
| unsigned char | LEDRed | in | 赤色LED点灯 (指定可能な値は「LED設 定」を参照) | |
| unsigned char | LEDGreen | in | 緑色LED点灯 (指定可能な値は「LED設定」を参照) | |
| unsigned char | LEDGreenBlink | in | 緑色LED点滅 (指定可能な値は「LED設定」を参照) | |
| unsigned char | LEDYellow | in | 黄色LED点灯 (指定可能な値は「LED設定」を参照) | |
| unsigned char | LEDYellowBlink | in | 黄色LED点滅 (指定可能な値は「LED設定」を参照) | |
| 戻り値 | ER | E_OK | 正常終了 | |
| E_PARAM | パラメータ異常 | |||
| E_DEVICE | デバイスが見つからない | |||
| E_COMM | 通信異常 | |||
| E_TIMEOUT | 通信タイムアウト | |||
| 機能 | Serialに指定したMicroPeckerX本体のLEDを制御します。 赤色LEDは、LEDRedにMPX_LED_ONを指定すると点灯し、MPX_LED_OFFを指定すると消灯します。 緑色LEDは、LEDGreenにMPX_LED_ONを指定すると点灯し、MPX_LED_OFFを指定すると消灯します。また、LEDGreenBlinkにMPX_LED_ONを指定すると、LEDGreenの指定値に関わらず点滅します。 黄色LEDは、LEDYellowにMPX_LED_ONを指定すると点灯し、MPX_LED_OFFを指定すると消灯します。また、LEDYellowBlinkにMPX_LED_ONを指定すると、LEDYellowの指定値に関わらず点滅します。 | |||
MPXGetStatus
MicroPeckerX本体のステータスを取得します。
| 形式 | ER MPXGetStatus(unsigned long Serial, unsigned short * StatusCh1, unsigned short * StatusCh2) | |||
|---|---|---|---|---|
| 引数 | unsigned long | Serial | in | 対象のMicroPeckerX本体のシリアル番号 |
| unsigned short * | StatusCh1 | out | CH1のステータス (セットされる値は「MicroPeckerXステータス」を参照) | |
| unsigned short * | StatusCh2 | out | CH2のステータス (セットされる値は「MicroPeckerXステータス」を参照) | |
| 戻り値 | ER | E_OK | 正常終了 | |
| E_PARAM | パラメータ異常 | |||
| E_DEVICE | デバイスが見つからない | |||
| E_COMM | 通信異常 | |||
| E_TIMEOUT | 通信タイムアウト | |||
| 機能 | Serialに指定したMicroPeckerX本体の各CHのステータスを取得します。 | |||
MPXMonitorStart
モニタリングを開始します。
| 形式 | ER MPXMonitorStart(unsigned long Serial, unsigned char SyncMode) | |||
|---|---|---|---|---|
| 引数 | unsigned long | Serial | in | 対象のMicroPeckerX本体のシリアル番号 |
| unsigned char | SyncMode | in | 同期モード (指定可能な値は「同期モード」を参照) | |
| 戻り値 | ER | E_OK | 正常終了 | |
| E_PARAM | パラメータ異常 | |||
| E_DEVICE | デバイスが見つからない | |||
| E_COMM | 通信異常 | |||
| E_STATUS | ステータス異常 | |||
| E_TIMEOUT | 通信タイムアウト | |||
| 機能 | Serialに指定したMicroPeckerXのモニタリングを開始します。 SyncModeにMPX_SYNC_MASTERを指定した場合はマスタモード、MPX_SYNC_SLAVEを指定した場合はスレーブモードでそれぞれ動作します。 CAN通信では、「MPXCANSetSlot」でスロット情報を設定していた場合、フレーム種別にMPX_CAN_FRAME_TYPE_PERIODICまたはMPX_CAN_FRAME_TYPE_EVENTPERIODICを指定しているスロットのフレーム送信も開始します。 LIN通信では、「MPXLINSetMasterSim」でマスタシミュレーションを設定していた場合、「MPXLINChangeMasterSchedule」で指定したスケジュールでのフレーム送信も開始します。 | |||
| 補足 | 本APIを呼び出してモニタリングを開始する前に、「MPXCANSetParam」または「MPXLINSetParam」を呼び出して通信パラメータを設定する必要があります。 複数のMicroPeckerX本体を動作させる場合は、スレーブモードで動作させる全てのMicroPeckerX本体のモニタリングを開始してから、マスタモードで動作させるMicroPeckerX本体のモニタリングを開始してください。 | |||
MPXMonitorStop
モニタリングを停止します。
| 形式 | ER MPXMonitorStop(unsigned long Serial, unsigned long * mSec, unsigned short * uSec) | |||
|---|---|---|---|---|
| 引数 | unsigned long | Serial | in | 対象のMicroPeckerX本体のシリアル番号 |
| unsigned long * | mSec | out | タイムスタンプ(ミリ秒) | |
| unsigned short * | uSec | out | タイムスタンプ(マイクロ秒) | |
| 戻り値 | ER | E_OK | 正常終了 | |
| E_PARAM | パラメータ異常 | |||
| E_DEVICE | デバイスが見つからない | |||
| E_COMM | 通信異常 | |||
| E_STATUS | ステータス異常 | |||
| E_TIMEOUT | 通信タイムアウト | |||
| 機能 | Serialに指定したMicroPeckerX本体のモニタリングを停止し、その時点でのタイムスタンプを取得します。 mSecとuSecにセットされたタイムスタンプは、その時点までに受信したログの内容が 保証されることを意味します。 | |||
| 補足 | 複数のMicroPeckerX本体を動作させている場合は、マスタモードで動作しているMicroPeckerX本体のモニタリングを停止させてから、スレーブモードで動作しているMicroPeckerX本体のモニタリングを順次停止させてください。 | |||
MPXGetTimeStamp
タイムスタンプを取得します。
| 形式 | ER MPXGetTimeStamp(unsigned long Serial, unsigned long * mSec, unsigned short * uSec) | |||
|---|---|---|---|---|
| 引数 | unsigned long | Serial | in | 対象のMicroPeckerX本体のシリアル番号 |
| unsigned long * | mSec | out | タイムスタンプ(ミリ秒) | |
| unsigned short * | uSec | out | タイムスタンプ(マイクロ秒) | |
| 戻り値 | ER | E_OK | 正常終了 | |
| E_PARAM | パラメータ異常 | |||
| E_DEVICE | デバイスが見つからない | |||
| E_COMM | 通信異常 | |||
| E_STATUS | ステータス異常 | |||
| E_TIMEOUT | 通信タイムアウト | |||
| 機能 | Serialに指定したMicroPeckerX本体の現在のタイムスタンプを取得します。 取得したタイムスタンプはmSecとuSecにセットされます。 | |||
| 補足 | mSecとuSecにセットされるタイムスタンプの値は、本APIを呼び出したタイミングとのタイムラグがあるこ とに注意してください。 | |||
MPXSetGetLogMode
モニタリング中のログ情報(送受信データ)を取得する方法を設定します。
| 形式 | ER MPXSetGetLogMode(unsigned long Serial, unsigned char InnerCh, unsigned char Mode) | |||
|---|---|---|---|---|
| 引数 | unsigned long | Serial | in | 対象のMicroPeckerX本体のシリアル番号 |
| unsigned char | InnerCh | in | 対象のCH番号(1または2) | |
| unsigned char | Mode | in | ログ取得モード (指定可能な値は「ログ取得モード」を参照) | |
| 戻り値 | ER | E_OK | 正常終了 | |
| E_PARAM | パラメータ異常 | |||
| E_DEVICE | デバイスが見つからない | |||
| 機能 | SerialとInnerChに指定したMicroPeckerX本体のCHから送られるログ情報の受信方法を設定します。 ModeにMPX_GETLOG_CALLBACKを指定するとコールバック関数モード、MPX_GETLOG_GETLOGAPIを指定するとログ取得APIモードで、それぞれ動作します。 | |||
| 補足 | コールバック関数モードに設定した場合は、「MPXSetLogCallBack」を呼び出してログ情報の取得に使用するコールバック関数を設定する必要があります。 ログ取得APIモードに設定した場合は、「MPXGetLog」、「MPXCANGetLogEx」「MPXLINGetLogEx」のいずれかを呼び出してログ情報を定期的に取得する必要があります。 | |||
MPXSetLogCallBack
モニタリング中のログ情報(送受信データ)を取得するためのコールバック関数を設定します。
| 形式 | ER MPXSetLogCallBack(unsigned long Serial, unsigned char InnerCh, void * Self, unsigned char ** Log1, unsigned char ** Log2, void (* CallBack) (unsigned long, unsigned char, void *, unsigned char, unsigned short)) | |||
|---|---|---|---|---|
| 引数 | unsigned long | Serial | in | 対象のMicroPeckerX本体のシリアル番号 |
| unsigned char | InnerCh | in | 対象のCH番号(1または2) | |
| void * | Self | in | 呼び出し元クラスポインタ | |
| unsigned char ** | Log1 | in | ログ情報を格納する配列のポインタ | |
| unsigned char ** | Log2 | in | ログ情報を格納する配列のポインタ | |
| 関数ポインタ | CallBack | in | コールバック関数のポインタ | |
| 戻り値 | ER | E_OK | 正常終了 | |
| E_PARAM | パラメータ異常 | |||
| E_DEVICE | デバイスが見つからない | |||
| 機能 | SerialとInnerChに指定したMicroPeckerX本体のCHから送られるログ情報を取得するためのコールバック関数を設定します。 CallBackで指定するコールバック関数の引数は、それぞれ以下の通りです。 【第1引数:unsigned long型】 対象のMicroPeckerXのシリアル番号 【第2引数:unsigned char型】 対象のCH番号(1または2) 【第3引数:void *型】 呼び出し元クラスポインタ 【第4引数:unsigned char型】 ログ情報の格納先(Log1の場合は1、Log2の場合は2) 【第5引数:unsigned short型】 有効なログの件数(サイズではありません) | |||
| 補足 | 本APIは、コールバック関数モードでログ情報を取得する場合のみ有効です。 | |||
MPXGetLog
モニタリング中のログ情報(送受信データ)を、DLL内に確保されているログ情報構造体バッファから取得します。
| 形式 | ER MPXGetLog(unsigned long Serial, unsigned char InnerCh, StMPXLog ** Log, unsigned short * Count, unsigned char * BufferOver) | |||
|---|---|---|---|---|
| 引数 | unsigned long | Serial | in | 対象のMicroPeckerX本体のシリアル番号 |
| unsigned char | InnerCh | in | 対象のCH番号(1または2) | |
| StMPXLog ** | Log | out | ログ情報構造体配列のポインタ | |
| unsigned short * | Count | out | 取得したログ情報件数 | |
| unsigned char * | BufferOver | out | バッファオーバーラン (セットされる値は「バッファオーバーラン有無」を参照) | |
| 戻り値 | ER | E_OK | 正常終了 | |
| E_PARAM | パラメータ異常 | |||
| E_DEVICE | デバイスが見つからない | |||
| 機能 | SerialとInnerChに指定したMicroPeckerX本体のCHから送られるログ情報を取得します。 取得したログ情報は、DLL内に確保されているログ情報構造体バッファの先頭ポインタがLogに、件数がCountにそれぞれセットされます。 バッファオーバーランが発生した場合は、BufferOverにMPX_LOG_BUFOVER_TRUEがセットされます。 | |||
| 補足 | 本APIは、ログ取得APIモードでログ情報を取得する場合のみ有効です。 本APIでは、取得したログ情報を格納するための構造体配列を呼び出し元で用意する必要はありません。 | |||