今日は、カメラ周りを中心に見て行きます
#プロセッサについて
今更ながら、TX1ボードに搭載されているプロセッサは「NVIDIA Tegra X1」というらしい。
Tegra - Wikipediaを眺めてみると(公式ページ見なさいよ……)
すぐ上に「Tegra K1」というのが居るので、Jetson TK1にはコレが乗ってるんだな、とか
Tegra X1のモデルナンバーは「T210」というんだな、という事が分かります。
……というのも、カーネル眺めてたらarch/arm64/mach-tegra/board-t210**
てファイルが出てきて
それで逆引きしただけなんだけどね。
つまり、チップ依存の記述はこの辺りに記載されているはず
board-t210ref-camera.c(197)
辺りを見ると、OV5693とTegraのI/Fっぽい記述がベタベタ書かれてるっぽい。
別のカメラを取り付けるなら、この辺りをガッツリ書かないとダメって事ね……
#カメラモジュールについて
前回の記事にも書いた通り、センサーはOV5693で間違いないと思う。
(何で開発キットのドキュメントに記載されてないんですかねぇ……)
で、こいつがどんなセンサーかというと……ググってもコレしか出てこない。
読み取れる範囲で抽出すると
・1080pで、30FPS動作が可能
・ISP内蔵、出力は10bit RGB
・MIPI 2Lane出力
・電源は2.6~3.0[V]、内蔵レギュレータによりコア電源(1.2[V])が生成される
それ以外に、Linuxのソースから読み取れる事は
・制御はI2C経由 (i2c-6にぶら下がってる?)
・アドレスは0x36 (0x6C/0x6D) ...デバイスツリーにベタ書き?
くらいか
#勘違いと絶望と
さて、前回の記事で色々と勘違いしていた事が発覚
(Linuxやってる人にちょっと見て貰った)
まずカメラについて、V4L2で動いているというのがそもそもの勘違いだったようで
(コマンドでgst-launch
と書いてあるんだから気付けよという話)
つまりov5693_v4l2.c
は全く使用されていないようだ。
そして困ったことに、ここで使用されているnvcamerasrc
というライブラリがソースコード非公開の模様
この中でMIPI受けなど、カメラの制御が行われているらしいので
ちょい変更で別カメラに対応できるのでは……という夢が潰えてしまった。
#そしてV4L2へ……
しかし不幸中の幸いとでも言うべきか
ドキュメントを色々漁ったところ「Tegra Linux Driver Package Documents」にVideo for Linux User Guide
という項目が
つまり同一環境で、カメラ制御部をGstreamerからV4L2に置き換えることが出来る?
V4L2であれば、先の通り全ソースコードが公開されてる(はず)
ところで、パッチ当てろとかカーネル再ビルドしろとか不穏なワードが見えるんですがそれは
ひとまず明日は、この手順に従って行けるとこまで行ってみたいと思います。
#覚え書き
・ファイル検索について(参考:Linuxコマンド集 / ITpro)
カレント以下の全ディレクトリから、ある名称のファイルを検索する
find . -name "*hoge*"
・文字列検索について(参考:Linuxで「特定の文字列を含むファイルを全て検索する」ためのコマンド)
grep -rn . -e "hoge"
もしくは grep -rnw . -e "hoge"
(オプション-w
を指定すると、単語単位での検索になる)
OR検索する場合はgrep -rn . -e "hoge" -e "piyo"
AND検索する場合は"grep -rn . -e "hoge" | grep -e "piyo"
・キーボードレイアウトについて
TX1を再起動すると、設定したはずのレイアウトが英語配列に戻ってしまうようです。
しかもsudo dpkg-reconfigure keyboard-configuration
を実行すると、設定はちゃんと日本語になっている……
(再設定するとレイアウトもちゃんと日本語になる、何でや!!)
このサイトを参考に、設定ファイルxmlを編集したら直った模様。
つまりMozcが悪いのか……?