構造体定義(struct)
本製品の構造体定義を説明します。
定義一覧
| 構造体型名 | 意味合い |
|---|---|
| StMPXAPIVersion | APIのバージョン情報 |
| StMPXCoreVersion | MicroPeckerXのバージョン情報 |
| StMPXDeviceInfo | MicroPeckerXのデバイス情報 |
| StMPXCANParam | パラメータ設定情報 |
| StMPXCANLogCB | コールバック用ログ情報 |
| StMPXCANLog | ログ取得API用ログ情報 |
| StMPXCANFrameOption | CAN/CAN FDフレームオプション情報 |
| StMPXCANFrameType | CAN/CAN FDフレーム属性情報 |
| StMPXCANID | CAN ID情報 |
| StMPXCANFrame | CAN/CAN FDフレーム情報 |
| StMPXCANSlot | スロット情報 |
| StMPXCANDirect | ダイレクト送信情報 |
| StMPXCANReplayLog | ログ再生送信情報 |
定義詳細
StMPXAPIVersion
StMPXAPIVersion構造体(APIのバージョン情報)のメンバは、以下の通りです。
| 変数名 | 型名 | 意味合い |
|---|---|---|
| APIVersion | int8_t [32] | APIのバージョン番号 |
StMPXCoreVersion
StMPXCoreVersion構造体(MicroPeckerXのバージョン情報)のメンバは、以下の通りです。
| 変数名 | 型名 | 意味合い |
|---|---|---|
| BootVersion | int8_t [16] | Bootのバージョン番号 |
| APPVersion | int8_t [32] | APPのバージョン番号 |
| FPGAVersion | int8_t [32] | FPGA-IPのバージョン番号 |
StMPXDeviceInfo
StMPXDeviceInfo構造体(MicroPeckerXのデバイス情報)のメンバは、以下の通りです。
| 変数名 | 型名 | 意味合い | 備考 |
|---|---|---|---|
| Serial | uint32_t | シリアル番号 | MicroPeckerXに貼付されているシリアルNoシールの記載と同じです。 |
| Model | int8_t [64] | 製品型名(例:S810-MX-FD2) |
StMPXCANParam
StMPXCANParam構造体(パラメータ設定情報)のメンバは、以下の通りです。
| 変数名 | 型名 | 意味合い | 備考 |
|---|---|---|---|
| EnableTerminate | uint8_t | 終端抵抗有無 | 設定値については「終端抵抗有無」を参照してください。 |
| Mode | uint8_t | 動作モード | 設定値については「動作モード」を参照してください。 |
| ArbitrationBaudrate | uint8_t | アービトレーションボーレート | 設定値については「アービトレーションボーレート」を参照してください。 |
| ArbitrationSamplepoint | uint8_t | アービトレーションサンプルポイント | 設定値については「サンプルポイント」を参照してください。 |
| DataBaudrate | uint8_t | データボーレート | 設定値については「データボーレート」を参照してください。 |
| DataSamplepoint | uint8_t | データサンプルポイント | 設定値については「サンプルポイント」を参照してください。 |
| Reserved | uint8_t [2] | 予約領域 |
StMPXCANLogCB
StMPXCANLogCB構造体(コールバック用ログ情報)のメンバは、以下の通りです。
| 変数名 | 型名 | 意味合い | 備考 |
|---|---|---|---|
| mSec | uint32_t | タイムスタンプ(ミリ秒) | タイムスタンプは、mSecとuSecの値を組み合わせて表現します。 例えば12.345ms(12msと345us)の場合、mSecが12、uSecが345となります。 |
| uSec | uint16_t | タイムスタンプ(マイクロ秒) | |
| LogType | uint8_t | ログ種別 | ビットフィールドによる構造体です(詳細は「LogType」を参照)。 |
| DL | uint8_t | データ長 | ビットフィールドによる構造体です(詳細は「DL」を参照)。 |
| CAN | uint32_t | CAN情報 | ID(ID情報)とErrorInfo(エラー情報)の共用体です。 ErrorInfoとして扱う場合はuint32_t型となります(値の意味合いは「エラー情報」を参照)。 IDとして扱う場合はビットフィールドによる構造体となります(詳細は「ID」を参照)。 |
| Data | uint8_t [64] | データ(D1~D64) | 配列の要素番号0~63が、データのD1~D64にそれぞれ対応します。 |
StMPXCANLog
StMPXCANLog構造体(ログ取得API用ログ情報)のメンバは、以下の通りです。
| 変数名 | 型名 | 意味合い | 備考 |
|---|---|---|---|
| mSec | uint32_t | タイムスタンプ(ミリ秒) | タイムスタンプは、mSecとuSecの値を組み合わせて表現します。 例えば12.345ms(12msと345us)の場合、mSecが12、uSecが345となります。 |
| uSec | uint16_t | タイムスタンプ(マイクロ秒) | |
| Protocol | uint8_t | プロトコル | 値の意味合いについては「ログ種別」を参照してください。 |
| Dir | uint8_t | 方向 | 値の意味合いについては「ログ方向」を参照してください。 |
| ID | uint32_t | CAN ID(標準IDまたは拡張ID) | 標準IDの場合は、下位11ビット(ビット10~ビット0)にセットされます。 |
| RTR | uint8_t | リモート送信要求(RTR) | 値の意味合いについては「リモート送信要求」を参照してください。 |
| IDE | uint8_t | IDフォーマット(IDE) | 値の意味合いについては「IDフォーマット」を参照してください。 |
| DL | uint8_t | データ長(DL) | |
| Error | uint8_t | エラーフラグ | 値の意味合いについては「エラーフラグ」を参照してください。 |
| ErrorInfo | uint32_t | エラー情報 | 値の意味合いについては「エラー情報」を参照してください。 |
| Data | uint8_t [64] | データ(D1~D64) | 配列の要素番号0~63が、データのD1~D64にそれぞれ対応します。 |
StMPXCANFrameOption
StMPXCANFrameOption構造体(CAN/CAN FDフレームオプション情報)のメンバは、以下の通りです。
| 変数名 | 型名 | 意味合い | 備考 |
|---|---|---|---|
| Protocol | uint8_t | プロトコル | 設定値については「プロトコル」を参照してください。 |
| BRS | uint8_t | ビットレートスイッチ(BRS) | 設定値については「ビットレートスイッチ」を参照してください。 |
| ErrorAction | uint8_t | エラーの振る舞い | 設定値については「エラーの振る舞い」を参照してください。 |
| Reserved | uint8_t | 予約領域 |
StMPXCANFrameType
StMPXCANFrameType構造体(CAN/CAN FDフレーム属性情報)のメンバは、以下の通りです。
| 変数名 | 型名 | 意味合い | 備考 |
|---|---|---|---|
| isOneShot | uint8_t | ワンショット送信有効/無効 | 設定値については「ワンショット送信有効/無効」を参照してください。 |
| FrameType | uint8_t | フレーム種別 | 設定値については「フレーム種別」を参照してください。 |
| Enabled | uint8_t | スロット有効/無効 | 設定値については「スロット有効/無効」を参照してください。 |
| isLastData | uint8_t | 最終フレーム判定 | 動作モードがログ再生モード、またはバースト転送モード(ログ再生)の場合のみ有効です。 設定値については「最終フレーム判定」を参照してください。 |
| Option | StMPXCANFrameOption | CAN/CAN FDフレームオプション情報 |
StMPXCANID
StMPXCANID構造体(CAN ID 情報)のメンバは、以下の通りです。
| 変数名 | 型名 | 意味合い | 備考 |
|---|---|---|---|
| ID | uint32_t | CAN ID(標準IDまたは拡張ID) | 標準IDの場合は、下位11ビット(ビット10~ビット0)にセットしてください。 |
| RTR | uint8_t | リモート送信要求(RTR) | 設定値については「リモート送信要求」を参照してください。 |
| IDE | uint8_t | IDフォーマット(IDE) | 設定値については「IDフォーマット」を参照してください。 |
| Reserved | uint8_t [2] | 予約領域 |
StMPXCANFrame
StMPXCANFrame構造体(CAN/CAN FDフレーム情報)のメンバは、以下の通りです。
| 変数名 | 型名 | 意味合い | 備考 |
|---|---|---|---|
| ID | StMPXCANID | CAN ID情報 | |
| DL | uint8_t | データ長(DL) | |
| Reserved | uint8_t [3] | 予約領域 | |
| Data | uint8_t [64] | データ(D1~D64) | 配列の要素番号0~63が、データのD1~D64にそれぞれ対応します。 |
StMPXCANSlot
StMPXCANSlot構造体(スロット情報)のメンバは、以下の通りです。
| 変数名 | 型名 | 意味合い | 備考 |
|---|---|---|---|
| SlotNo | uint8_t | スロット番号(1~28) | |
| TriggerType | uint8_t | 送信トリガ種別 | 設定値については「トリガ種別」を参照してください。 |
| Reserved1 | uint8_t [2] | 予約領域 | |
| FrameType | StMPXCANFrameType | フレーム属性情報 | |
| TriggerID | StMPXCANID | 受信トリガID | |
| msSendDelay | uint32_t | イベント送信での遅延時間(ミリ秒) | イベント送信での遅延時間、送信オフセット、送信周期、送信最低保証間隔は、それぞれ以下の値を組み合わせて表現します。 【イベント送信での遅延時間】 msSendDelay、usSendDelay 【送信オフセット】 msSendOffset、usSendOffset 【送信周期】 msSendCycle、usSendCycle 【送信最低保証間隔】 usMinTransInterval、usMinTransInterval 例えば、送信オフセットに12.345ms(12msと345us)を設定する場合、msSendOffsetが12、usSendOffsetが345となります。 |
| msSendOffset | uint32_t | 送信オフセット(ミリ秒) | |
| msSendCycle | uint32_t | 送信周期(ミリ秒) | |
| msMinTransInterval | uint32_t | 送信最低保証間隔(ミリ秒) | |
| usSendDelay | uint16_t | イベント送信での遅延時間(マイクロ秒) | |
| usSendOffset | uint16_t | 送信オフセット(マイクロ秒) | |
| usSendCycle | uint16_t | 送信周期(マイクロ秒) | |
| usMinTransInterval | uint16_t | 送信最低保証間隔(マイクロ秒) | |
| SendCounter | uint16_t | 送信回数 | 0を設定した場合、送信回数は無制限になります。 |
| Reserved2 | uint8_t [2] | 予約領域 | |
| Frame | StMPXCANFrame | 送信フレーム情報 | |
| Increment | uint8_t [64] | インクリメント有無 | 配列の要素番号0~63が、データのD1~D64にそれぞれ対応します。 設定値については「インクリメント有無」を参照してください。 |
StMPXCANDirect
StMPXCANDirect構造体(ダイレクト送信情報)のメンバは、以下の通りです。
| 変数名 | 型名 | 意味合い |
|---|---|---|
| FrameType | StMPXCANFrameType | フレーム属性情報 |
| Frame | StMPXCANFrame | 送信フレーム情報 |
StMPXCANReplayLog
StMPXCANReplayLog構造体(ログ再生送信情報)のメンバは、以下の通りです。
| 変数名 | 型名 | 意味合い | 備考 |
|---|---|---|---|
| mSec | uint32_t | タイムスタンプ(ミリ秒) | タイムスタンプは、mSecとuSecの値を組み合わせて表現します。 例えば12.345ms(12msと345us)の場合、mSecが12、uSecが345となります。 |
| uSec | uint16_t | タイムスタンプ(マイクロ秒) | |
| ID | uint32_t | ID情報 | ビットフィールドによる構造体です(詳細は「ID」を参照)。 |
| DL | uint8_t | データ長(DL) | ビットフィールドによる構造体です(詳細は「DL」を参照)。 |
| FrameType | uint8_t | フレーム属性情報 | ビットフィールドによる構造体です(詳細は「FrameType」を参照)。 |
| Data | uint8_t [64] | データ(D1~D64) | 配列の要素番号0~63が、データのD1~D64にそれぞれ対応します。 |
補足情報
ビットフィールド構造体
LogType
LogTypeは、uint8_t型のビットフィールドによる構造体となっています。
メンバは以下の通りです。
| 変数名 | ビット数 | 意味合い | 備考 |
|---|---|---|---|
| Type | 6 | ログ種別 | 値の意味合いについては「ログ種別」を参照してください。 |
| Dir | 1 | 方向 | 値の意味合いについては「ログ方向」を参照してください。 |
| Error | 1 | エラーフラグ | 値の意味合いについては「エラーフラグ」を参照してください。 |
DL
DLは、uint8_t型のビットフィールドによる構造体となっています。
メンバは以下の通りです。
| 変数名 | ビット数 | 意味合い | 備考 |
|---|---|---|---|
| NotUsed | 4 | 未使用 | |
| DLC | 4 | データレングスコード(DLC) | データレングスコードとデータ長の関係については「データレングスコードとデータ長」を参照してください。 |
ID
IDは、uint32_t型 のビットフィールドによる構造体となっています。
メンバは以下の通りです。
| 変数名 | ビット数 | 意味合い | 備考 |
|---|---|---|---|
| ID | 29 | CAN ID(標準IDまたは拡張ID) | 標準IDの場合は、下位11ビット(ビット10~ビット0)にセットされます。 |
| Reserved | 1 | 予約領域 | |
| RTR | 1 | リモート送信要求(RTR) | 値の意味合いについては「リモート送信要求」を参照してください。 |
| IDE | 1 | IDフォーマット(IDE) | 値の意味合いについては「IDフォーマット」を参照してください。 |
FrameType
FrameTypeは、uint8_t型のビットフィールドによる構造体となっています。
メンバは以下の通りです。
| 変数名 | ビット数 | 意味合い | 備考 |
|---|---|---|---|
| ErrorPassive | 1 | エラーの振る舞い | 設定値については「エラーの振る舞い」を参照してください。 |
| BRS | 1 | ビットレートスイッチ(BRS) | 設定値については「ビットレートスイッチ」を参照してください。 |
| FDF | 1 | FDフォーマット(FDF) | 設定値については「FDフォーマット」を参照してください。 |
| Terminator | 1 | 最終フレーム判定 | 設定値については「最終フレーム判定」を参照してください。 |
| Reserved | 4 | 未使用(予約領域) |