Media Transfer Protocol (MTP)に独自拡張を施したものがTHETA USB APIです。
Linuxの場合、gphoto2というコマンドラインツールを使うと、簡単にTHETAのUSB APIを呼び出せます。MTPのオペレーションやプロパティを意識せずにUSB経由でTHETAを操作できるコマンドも揃っています。--debug
オプションをつけてコマンドを実行すれば、実際に呼ばれる一連のMTPのオペレーションを確認できます。
$ gphoto2 --help
Filterプロパティ(0xD80B)の値を取得します。
$ gphoto2 --get-config=d80b
Noise reductionに設定されているというレスポンスです。
Label: PTP Property 0xd80b
Readonly: 0
Type: MENU
Current: 2
Choice: 0 0
Choice: 1 2
Choice: 2 3
END
すべてのデバイスプロパティの値を取得します。
$ gphoto2 --list-all-config
レスポンスの一部です。
/main/actions/powerdown
Label: Power Down
Readonly: 0
Type: TOGGLE
Current: 2
END
...中略...
/main/other/d83f
Label: PTP Property 0xd83f
Readonly: 0
Type: MENU
Current: 0
Choice: 0 0
Choice: 1 1
END
Filterプロパティ(0xD80B**)**の値をHDR(0x03)に設定します。レスポンスはありません。
$ gphoto2 --set-config=d80b=3
写真を撮影するためにInitiateCaptureオペレーション(0x100E)を呼び出します。パラメータが2つ必要です。レスポンスはありません。
$ gphoto2 --set-config=opcode=0x100e,0x00000000,0x00000000