はじめに
簡単に温度測定をしようと Lepton 3.5 を使っています。
当初思っていたほど『簡単』ではなかったことについて
いろいろ書いている記事の4回目です。
課題解決へ
-
課題はこれ(↓) (『Raspberry PI で Lepton3.x を使う(その2)』を参照)
-
この課題については、チョット時間があいた時に、チョット調査する程度の扱いになっていました。
-
チョットの調査の積み重ねで分かったことは、Qt の処理負荷が影響しているということ。
- 画面を書き換えなければ、データ取得は問題ない(と思われる)
- RaspberryPI にとって、短時間での画像更新処理は負荷が高い
-
Lepton3.5 は、データ量が Lepton2.5の4倍
- 高解像度となり取り扱うデータ量が増え、データ処理負荷が増えるのは避けようがない
- Lepton2.5 と違って、Lepton3.5 は1/4画面ずつデータを取得しており、Lepton2.5と同様の仕組みで画面を更新すれば、残念ながら Lepton3.5 では画面更新頻度が4倍となる
-
ここで思いついた『1画面分のデータがそろったタイミングで画面更新すれば良いのでは?』
- 取り扱いデータ量は4倍かもしれないが、画面更新頻度は4倍にならない!
- Qt の処理負荷を軽減できる!
UpdateImageのタイミング | 備考 | |
---|---|---|
修正前 | データ取得のタイミング(4回ごと)に UpdateImage | |
修正後 | 4番目のデータ取得のタイミングで UpdateImage |
-
大した修正量もなく実装できてしまった
- かなり改善した動き!
その後(PullRequest など)
- commit したよ
- fork 元に連絡したよ(2019/11/13)
- Please try this version.
- fork 元から返事が来たよ(2019/11/13)
- Thanks for your persistence with this. This looks like a very good update, I'll try it out as soon as I can. [翻訳]
- persistence(固執) って言われたよ(苦笑)
- merge されるといいな
- Thanks for your persistence with this. This looks like a very good update, I'll try it out as soon as I can. [翻訳]
- fork 元から返事が来たよ(2019/11/16)
- 使っている RPi3 に Buster 入れてみたよ(2019/11/20)
- 彼の言う通りだ(runs for a few seconds and stops [翻訳])再現したよ
- SPI 通信が怪しそうだったので '-ss 30' オプション付けて動かしてみたら、マシになった
- とりあえず、この↑オプションを試してもらうよう伝えた
- さて、どうなるか?
- 最終的に merge されました(2019/12/21)
-
README.mdにも記載されていますが、Buster では以下のような おまじない をとなえると問題なく稼働します
sudo sh -c "echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor"