API詳細(CAN用)
本製品で使用できる各APIのうち、CAN用のAPIの詳細を説明します。
先に確認する導線
- 目的別のAPI対応を確認する場合: CAN API対応表
- 共通APIの前提を確認する場合: 共通APIの使い方(目的別)
- CANの定数を確認する場合: 定数定義(CAN用)
- CANの構造体を確認する場合: 構造体定義(CAN用)
APIクイック参照(定数/構造体/前提/最小例)
凡例
このページでは、各APIの詳細を以下の形式で説明します。
| 形式 | [関数の型] [関数名]([引数], ...) | |||
|---|---|---|---|---|
| 引数 | [引数の型] | [引数名] | [in/out] | [引数の説明] |
| 戻り値 | [戻り値の型] | [戻り値(エラーコード)] | [戻り値(エラーコード)の説明] | |
| 機能 | [関数の機能の説明] | |||
| 補足 | [関数の補足説明] | |||
[引数の型]が構造体となっている場合、構造体にセットする値、またはセットされる値については「構造体定義(struct)(CAN用)および構造体定義(struct)(共通)」を参照してください。
[in/out]は、関数の呼び出し時にセットする場合はin、関数の処理でセットされる場合はoutになります。
API詳細
MPXCANSetParam
CANまたはCAN FDの通信パラメータを、既定の選択肢から設定します。
| 形式 | ER MPXCANSetParam(unsigned long Serial, unsigned char InnerCh, StMPXCANParam * Param) | |||
|---|---|---|---|---|
| 引数 | unsigned long | Serial | in | 対象のMicroPeckerX本体のシリアル番号 |
| unsigned char | InnerCh | in | 対象のCH番号(1または2) | |
| StMPXCANParam * | Param | in | パラメータ設定情報構造体のポインタ | |
| 戻り値 | ER | E_OK | 正常終了 | |
| E_PARAM | パラメータ異常 | |||
| E_DEVICE | デバイスが見つからない | |||
| E_COMM | 通信異常 | |||
| E_STATUS | ステータス異常 | |||
| E_TIMEOUT | 通信タイムアウト | |||
| 機能 | SerialとInnerChに指定したMicroPeckerX本体のCHに対して、CANまたはCAN FDの通信パラメータをParamの指定値で設定します。 | |||
| 補足 | 本APIの呼び出しにより、MicroPeckerXステータスがMPX_STATUS_PARAM(パラメータ設定待ち状態)に変化します。 | |||
MPXCANGetLogEx
モニタリング中のログ情報(送受信データ)を、呼び出し元で用意したCANログ情報構造体配列に取得します。
| 形式 | ER MPXCANGetLogEx(unsigned long Serial, unsigned char InnerCh, StMPXCANLog * Log, unsigned short Num, unsigned short * Count, unsigned char * BufferOver) | |||
|---|---|---|---|---|
| 引数 | unsigned long | Serial | in | 対象のMicroPeckerX本体のシリアル番号 |
| unsigned char | InnerCh | in | 対象のCH番号(1または2) | |
| StMPXCANLog * | Log | in/out | ログ情報構造体配列 | |
| unsigned short | Num | in | ログ情報構造体配列の要素数 | |
| unsigned short * | Count | out | 取得したログ情報件数 | |
| unsigned char * | BufferOver | out | バッファオーバーラン (セットされる値は「バッファオーバーラン有無」を参照) | |
| 戻り値 | ER | E_OK | 正常終了 | |
| E_PARAM | パラメータ異常 | |||
| E_DEVICE | デバイスが見つからない | |||
| 機能 | SerialとInnerChに指定したMicroPeckerX本体のCHから送られるCANログ情報を取得します。 Logには取得したCANログ情報をセットするための構造体配列を、Numには配列の要素数を、それぞれ指定してください。 取得したログ情報の件数はCountにセットされます。 CountがNumより大きい場合はバッファオーバーランが発生し、BufferOverにMPX_LOG_BUFOVER_TRUEがセットされます。 | |||
| 補足 | 本APIは、ログ取得APIモードでログ情報を取得する場合のみ有効です。 本APIでは、取得したログ情報を格納するための構造体配列を呼び出し元で用意する必要があります。 | |||
MPXCANSetSlot
CANまたはCAN FDのスロット情報を、モニタリング開始前に設定します。
| 形式 | ER MPXCANSetSlot(unsigned long Serial, unsigned char InnerCh, StMPXCANSlot * Slots, unsigned char SlotCount) | |||
|---|---|---|---|---|
| 引数 | unsigned long | Serial | in | 対象のMicroPeckerX本体のシリアル番号 |
| unsigned char | InnerCh | in | 対象のCH番号(1または2) | |
| StMPXCANSlot * | Slots | in | スロット情報 | |
| unsigned char | SlotCount | in | 設定スロット数 | |
| 戻り値 | ER | E_OK | 正常終了 | |
| E_PARAM | パラメータ異常 | |||
| E_DEVICE | デバイスが見つからない | |||
| E_COMM | 通信異常 | |||
| E_STATUS | ステータス異常 | |||
| E_TIMEOUT | 通信タイムアウト | |||
| 機能 | SerialとInnerChに指定したMicroPeckerX本体のCHに対して、CANまたはCAN FDのスロット情報を設定します。 Slotsには設定したいスロット数分のスロット情報構造体配列を、SlotCountには配列の要素数を、それぞれセットしてください。 | |||
| 補足 | 本APIは、モニタリング開始前にスロット情報を設定するためのものです。 モニタリング中にスロット情報を変更したい場合は、「MPXCANChangeSlot」を呼び出してください。 | |||
MPXCANChangeSlot
CANまたはCAN FDのスロット情報を、モニタリング中に変更します。
| 形式 | ER MPXCANChangeSlot(unsigned long Serial, unsigned char InnerCh, unsigned char SlotNo, unsigned char SlotEnabled, unsigned char ReqInfo, StMPXCANFrame * Frame) | |||
|---|---|---|---|---|
| 引数 | unsigned long | Serial | in | 対象のMicroPeckerX本体のシリアル番号 |
| unsigned char | InnerCh | in | 対象のCH番号(1または2) | |
| unsigned char | SlotNo | in | 対象のスロット番号(1~28) | |
| unsigned char | SlotEnabled | in | スロットの有効/無効 (指定可能な値は「CANスロット有効/無効」を参照) | |
| unsigned char | ReqInfo | in | スロット変更の要求情報 (指定可能な値は「CANスロット変更の要求情報」を参照) | |
| StMPXCANFrame * | Frame | in | フレーム属性情報構造体のポインタ | |
| 戻り値 | ER | E_OK | 正常終了 | |
| E_PARAM | パラメータ異常 | |||
| E_DEVICE | デバイスが見つからない | |||
| E_COMM | 通信異常 | |||
| E_TRG_BUSY | トリガ設定失敗 | |||
| E_STATUS | ステータス異常 | |||
| E_TIMEOUT | 通信タイムアウト | |||
| 機能 | SerialとInnerChに指定したMicroPeckerX本体のCHに対して、SlotNoに指定したCANまたはCAN FDのスロット情報を変更します。 | |||
| 補足 | 本APIは、モニタリング中にスロットの有効/無効、CAN/CAN FDのフレーム情報の設定を変更するためのものです。 モニタリング開始前にスロット情報を設定したい場合は、「MPXCANSetSlot」を呼び出してください。 | |||
MPXCANSendSlot
CANまたはCAN FDのスロットへの送信要求を行います。
| 形式 | ER MPXCANSendSlot(unsigned long Serial, unsigned char InnerCh, unsigned char SlotNo) | |||
|---|---|---|---|---|
| 引数 | unsigned long | Serial | in | 対象のMicroPeckerX本体のシリアル番号 |
| unsigned char | InnerCh | in | 対象のCH番号(1または2) | |
| unsigned char | SlotNo | in | 対象のスロット番号(1~28) | |
| 戻り値 | ER | E_OK | 正常終了 | |
| E_PARAM | パラメータ異常 | |||
| E_DEVICE | デバイスが見つからない | |||
| E_COMM | 通信異常 | |||
| E_TRG_BUSY | トリガ設定失敗 | |||
| E_STATUS | ステータス異常 | |||
| E_TIMEOUT | 通信タイムアウト | |||
| 機能 | SerialとInnerChに指定したMicroPeckerX本体のCHに対して、SlotNoに指定したCANまたはCAN FDのスロットへの送信要求を行います。 | |||
| 補足 | 本APIは、「MPXCANSetSlot」で設定したスロット情報において、SlotNoに指定したスロットのフレーム種別がMPX_CAN_FRAME_TYPE_EVENTまたはMPX_CAN_FRAME_TYPE_EVENTPERIODICの場合のみ有効です。 | |||
MPXCANDirectSend
スロットを介さずに直接CANまたはCAN FDのフレームを送信します。
| 形式 | ER MPXCANDirectSend(unsigned long Serial, unsigned char InnerCh, StMPXCANDirect * Frame) | |||
|---|---|---|---|---|
| 引数 | unsigned long | Serial | in | 対象のMicroPeckerX本体のシリアル番号 |
| unsigned char | InnerCh | in | 対象のCH番号(1または2) | |
| StMPXCANDirect * | Frame | in | 送信フレーム | |
| 戻り値 | ER | E_OK | 正常終了 | |
| E_PARAM | パラメータ異常 | |||
| E_DEVICE | デバイスが見つからない | |||
| E_COMM | 通信異常 | |||
| E_DCT_FULL | ダイレクト送信バッファ空きなし | |||
| E_STATUS | ステータス異常 | |||
| E_TIMEOUT | 通信タイムアウト | |||
| 機能 | SerialとInnerChに指定したMicroPeckerX本体のCHに対して、スロットを介さずにFrameで指定したフレームの送信要求を行います。 | |||