共通定数・列挙体・型定義
ヘッダーファイル PUCCONST.h で定義されている共通の定数、各種列挙体、および型定義の仕様です。
| 定数名 | 値 | 説明 |
|---|---|---|
PUC_MAX_DEVICE |
16 |
接続可能な最大デバイス数 |
PUC_MAX_LEN |
256 |
最大文字数 |
PUC_Q_COUNT |
64 |
量子化テーブルの要素数 (8 × 8) |
PUC_MIN_RING_BUF_COUNT |
4 |
連続転送時の最小リングバッファ数 |
PUC_MAX_RING_BUF_COUNT |
65535 |
連続転送時の最大リングバッファ数 |
PUC_XFER_TIMEOUT_AUTO |
0 |
タイムアウト時間を撮影速度に応じて自動調整 |
PUC_XFER_TIMEOUT_INFINITE |
0xFFFFFFFF |
タイムアウト時間を無制限に設定 |
PUC_SYNC_OUT_MAGNIFICATION_0_5 |
0 |
同期信号出力倍率 0.5 倍を表す定数 |
PUC_MAX_DECODE_THREAD_COUNT |
32 |
マルチスレッドデコード時の最大スレッド数 |
PUC_MAC_ADDRESS_SIZE |
6 |
MACアドレスのバイト数 |
デバイス検索フラグ (PUC_DetectDevice2 用)
Section titled “デバイス検索フラグ (PUC_DetectDevice2 用)”PUC_DETECT_FILTER::nDeviceTypeFlags に指定する検索対象フラグです。複数機種を同時に検索する場合はビットOR で組み合わせます。
| 定数名 | 値 | 説明 |
|---|---|---|
PUC_DETECT_TARGET_ALL |
0x00000000 |
全機種を検索対象にする |
PUC_DETECT_TARGET_UC1 |
0x00000001 |
UC-1.1(USBモデル)を検索対象にする |
PUC_DETECT_TARGET_GBE2 |
0x00000002 |
GbE-2(Ethernetモデル)を検索対象にする |
PUC_DETECT_FILTER::nDetectMode に指定する検索方式です(GbE-2専用、UC1では無視されます)。
| 定数名 | 値 | 説明 |
|---|---|---|
PUC_DETECT_MODE_DISCOVERY |
0x00000000 |
各アダプタでブロードキャスト探索を行う(既定)。IPアドレスが未知のデバイスも発見可能 |
PUC_DETECT_MODE_TARGET_IP |
0x00000001 |
nTargetIPAddress で指定したIPアドレスへ直接検索する |
エラー判定マクロ
Section titled “エラー判定マクロ”#define PUC_CHK_SUCCEEDED(res) (res == PUC_SUCCEEDED) // エラーコードが正常時に真となるマクロ#define PUC_CHK_FAILED(res) (res != PUC_SUCCEEDED) // エラーコードが正常以外の時に真となるマクロハンドル型定義
Section titled “ハンドル型定義”typedef void* PUC_HANDLE; // デバイスを表すハンドルtypedef PUC_HANDLE* PPUC_HANDLE; // デバイスハンドルのポインタPUC_MODE (ON / OFF 設定)
Section titled “PUC_MODE (ON / OFF 設定)”typedef enum { PUC_OFF = 0, // OFF PUC_ON = 1 // ON} PUC_MODE;PUC_SIGNAL (信号極性)
Section titled “PUC_SIGNAL (信号極性)”typedef enum { PUC_SIGNAL_POSI = 0, // 正極性 PUC_SIGNAL_NEGA = 1 // 負極性} PUC_SIGNAL;PUC_SYNC_MODE (同期モード)
Section titled “PUC_SYNC_MODE (同期モード)”typedef enum { PUC_SYNC_INTERNAL = 0, // 内部動作 PUC_SYNC_EXTERNAL = 1, // 外部信号に同期する PUC_SYNC_EXTERNAL_PTP = 2 // PTP (Precision Time Protocol) マスタークロックに同期する(GbE-2専用)} PUC_SYNC_MODE;PUC_COLOR_TYPE (カラー / モノクロ仕様)
Section titled “PUC_COLOR_TYPE (カラー / モノクロ仕様)”typedef enum { PUC_COLOR_MONO = 0, // モノクロ PUC_COLOR_COLOR = 1 // カラー} PUC_COLOR_TYPE;PUC_DEVICE_TYPE (機種種別)
Section titled “PUC_DEVICE_TYPE (機種種別)”検索系関数(PUC_DetectDevice2 等)が PUC_DETECT_INFO::nDeviceType に格納する値で、PUC_OpenDevice2 で開く対象デバイスの判別にも使用します。
typedef enum { PUC_DEVICE_UC1 = 0, // INFINICAM UC-1.1(USB接続) PUC_DEVICE_GBE2 = 1, // INFINICAM GbE-2(Ethernet接続) PUC_DEVICE_OTHERS = 2 // 上記以外(検索系関数が返すことはなく、アプリ側がファイル等カメラ以外を表すために使用)} PUC_DEVICE_TYPE;PUC_SYNC_OUT_TIMES (同期信号出力回数倍率)
Section titled “PUC_SYNC_OUT_TIMES (同期信号出力回数倍率)”撮影速度に対する倍率で、1フレームあたり何回同期信号を出力するかを指定します(例:X2 は1フレームあたり2回出力)。
typedef enum { X0_5 = 0x0101, // x0.5倍(2フレームに1回) X1 = 1, // x1倍 X2 = 2, // x2倍 X4 = 4, // x4倍 X6 = 6, // x6倍 X8 = 8, // x8倍 X10 = 10, // x10倍 X20 = 20, // x20倍 X30 = 30, // x30倍} PUC_SYNC_OUT_TIMES;PUC_NETWORK_INFO_TYPE (PUC_SetNetworkInfo 用)
Section titled “PUC_NETWORK_INFO_TYPE (PUC_SetNetworkInfo 用)”typedef enum { IPADDRESS = 0, // IPアドレス(32bit値で指定) NETMASK = 1, // サブネットマスク(32bit値で指定) GATEWAY = 2, // デフォルトゲートウェイ(32bit値で指定) DHCP_ON = 3, // DHCPを有効にする(値は未使用) DHCP_OFF = 4, // DHCPを無効にする(値は未使用)} PUC_NETWORK_INFO_TYPE;PUC_CAPABILITY (PUC_IsSupported 用の機能種別)
Section titled “PUC_CAPABILITY (PUC_IsSupported 用の機能種別)”接続中のカメラが対応している機能かどうかを、機種名で分岐する代わりに PUC_IsSupported で確認するための列挙体です。
| 定数名 | 対応するAPI |
|---|---|
PUC_CAP_RESET_DEVICE |
PUC_ResetDevice |
PUC_CAP_COMMAND_PASSTHROUGH |
コマンド直接送受信 |
PUC_CAP_SYNC_OUT_SIGNAL |
PUC_Get/SetSyncOutSignal |
PUC_CAP_SYNC_OUT_MAGNIFICATION |
PUC_Get/SetSyncOutMagnification |
PUC_CAP_SYNC_OUT_TIMES |
PUC_Get/SetSyncOutTimes |
PUC_CAP_SYNC_IN_DELAY |
PUC_Get/SetSyncInDelay |
PUC_CAP_TRIG_IN_DELAY |
PUC_Get/SetTrigInDelay |
PUC_CAP_TRIG_OUT_WIDTH |
PUC_Get/SetTrigOutWidth |
PUC_CAP_EXPOSE_DELAY |
PUC_Get/SetExposeDelay |
PUC_CAP_PP_OUT |
PUC_Get/SetPPOutWidth / PUC_Get/SetPPOutDelay |
PUC_CAP_EXTERNAL_SYNC_STATUS |
PUC_GetExternalSyncStatus |
PUC_CAP_EPOC_TIME |
PUC_SetEPOCTime / PUC_SetTimeOfDay |
PUC_CAP_MAC_ADDRESS |
PUC_GetMacAddress |
PUC_CAP_NETWORK_INFO |
PUC_SetNetworkInfo / PUC_GetIPAddress |
PUC_CAP_GENERAL_IO |
PUC_Get/SetGeneralIn/OutSignal |
PUC_CAP_XFER_TIMEOUT |
PUC_SetXferTimeOut の設定が反映されるか |
PUC_CAP_GPU_DECODE |
PUC_DecodeGPU(当該カメラのデータ形式に対応しているか) |
PUC_CAP_FAN |
PUC_Get/SetFanState |
PUC_GENERAL_OUT_SIGNAL_TYPE / PUC_GENERAL_IN_SIGNAL_TYPE (汎用入出力の信号種別)
Section titled “PUC_GENERAL_OUT_SIGNAL_TYPE / PUC_GENERAL_IN_SIGNAL_TYPE (汎用入出力の信号種別)”GPIOの汎用入出力ポートへ割り当てる信号種別です。名称末尾(または含まれる)の POS/NEG はそれぞれ正極性・負極性を表します。使用可能な種別は機種によって異なるため、PUC_GetSupportedGeneralOutSignal / PUC_GetSupportedGeneralInSignal で事前に確認してください。
// 汎用出力ポートtypedef enum { VSYNC_POS = 0x0000, VSYNC_NEG = 0x0001, // 垂直同期信号 EXPOSE_POS = 0x0002, EXPOSE_NEG = 0x0003, // 露光期間 REC_POS = 0x0004, REC_NEG = 0x0005, // 記録中 TRIGGER_POS = 0x0006, TRIGGER_NEG = 0x0007, // トリガ入力の検出 READY_POS = 0x0008, READY_NEG = 0x0009, // 記録準備完了 IRIG_RESET_POS = 0x000A, IRIG_RESET_NEG = 0x000B, // IRIGタイムコードのリセット STRADDLING_POS = 0x000C, STRADDLING_NEG = 0x000D, // ストラドリング(2枚撮り)露光 PTP_PP_POS = 0x000E, PTP_PP_NEG = 0x000F, // PTPの毎秒パルス} PUC_GENERAL_OUT_SIGNAL_TYPE;
// 汎用入力ポートtypedef enum { EVENT_POS_IN = 0x0000, EVENT_NEG_IN = 0x0001, // イベント入力 TRIG_POS_IN = 0x0002, TRIG_NEG_IN = 0x0003, // トリガ入力 READY_POS_IN = 0x0004, READY_NEG_IN = 0x0005, // 記録準備完了の入力 SYNC_POS_IN = 0x0006, SYNC_NEG_IN = 0x0007, // 外部同期入力 POWER_OFF_POS_IN = 0x0008, POWER_OFF_NEG_IN = 0x0009, // 電源オフ入力 EXPOSE_POS_IN = 0x000A, EXPOSE_NEG_IN = 0x000B, // 露光制御入力} PUC_GENERAL_IN_SIGNAL_TYPE;エラーコード一覧 & ハンドリングガイド関数の戻り値となる PUCRESULT の列挙値一覧およびトラブルシューティング
