(日々の記録)デジタルオシロを買った。3の電源事情好転せず。3(以下Raspi3)による監視カメラはほぼ完成したが、恐れていた通り実際の観測には重い腰が上がらなくなった。現役時代の習い性だろう(若い時はそうではなかったので、一種の職業後遺症)。いうプロジェクトを計画なしに始めることに強い抵抗があるのだ。どんな仕事でも一旦始めると、それを中止する大義名分が見つからない限り止められなくなる習慣が出来ている。途中でやめることに強い罪悪感を覚える。作業を始める前に具体的な目的と目標を決めておくのが決まりになっている。これまでに何度か気楽に始めてそれが止められず、といって順調に事は進まず、その葛藤で、へとへとになってしまったことがある。出来ない屁理屈をこねているが、実はそれよりもっと深刻なことがある。Raspi3そのものの動作がまだ安定しない。USBセルフパワーHUBと電源のACアダプターを共通にすると大量にHUBの方から電力を供給してしまう問題は、特定のHUBの逆流と結論付けたのだが、念のため単独でテストしたところマスター側には電圧がかかってこないし(LEDが点かない)、このHUBを分解して中身を確認しても、しっかりVBUS側にはSBD(ショットキーバリヤーダイオード)が入っていたりする。別のHUBに交換し、ケーブルを吟味した結果、定常的な電源容量不足は一時的に稲妻の警告がでるものの、相当な負荷をかけても(カメラと自前ブラウザーなど)、ほとんど落ちることはなくなった。今度は、本体そのものが電源を入れてもブートしなくなるというトラブルが発生し始めた。起きるということではなく、何度か電源を入れ直したり、HDDにつながるセルフパワーHUBの電源を別にしたり、あとからUSBを接続したりすると正常にシステムが立ち上がるので、それほど神経質になることはないのだが、安心して運用テストに入れるレベルにない。UARTの字化けはあっさり解決。ボーレートがおかしかっただけ(4/17/2017)Tiny13を使ったRaspi電源制御装置も、最初、電圧低下でRaspi3では不安定だったのだが、ケーブルやHUBを交換しているうちに安定して作動するようになっている。この制御装置は、電流量のモニターが出来るので、このまま使いたい、しかし肝心のUARTシリアル出力が盛大な字化けをしているのが気になる。これを先に直すことにした。久しぶりにオシロを動かして、ボーレートを調べる。明らかに9600bpsのボーレートより遅い(1ビット10.4μsのはずが12μs近く)。9000近辺)、不思議なことに全く改善されなかった。他の原因が考えられる。自作のソフトUARTのソースコードをじっくり見直した。すると送信期間はボーレートを守るため割り込み禁止(cli();)にしているところを、ストップビットを出した直後、解除(sei())してしまっているのを発見した。ここで割り込みが入ってしまうと、規定よりストップビットが長くなって字化けする。字だしてもせいぜい3ms(1文字10ビットで1ms)だ。他と被ることはないはずだ。コードを調べていくと、待ち時間をループでなく8ビットタイマーで作っていることがわかった。それもその割り込みは1ms単位だ。したら、ペンディングになっていたタイマー割り込みがここで入ってUARTと被るのかもしれない。ロジアナでも持ち出して測れば一発で原因がわかると思うが、何しろTiny13は8ピンでプローブに使えるピンが一本も残っていない。面倒なので、ボーレートの調整と、この修正(割り込み解除をひとつずらしただけ)を一緒に直してテストしてみた。!見事に字化けはひとつもなくなった。念のため、割り込み解除のステートメントを元に戻してみた。それでも字化けは解消している。被ってはいなかったのだ。単なるボーレートの修正だけで直ってしまった。通信ソフトのTeratermのボーレート変更では治らなかったのに何故だ?心残りではあるが、余りこればっかりやっているわけにもいかない。10インチのHDMIモニターを入れてRaspi環境が改善(4/18/2017)現在のRaspi3のOSはJessieで、HDMIコンソールからブートするようになっている。今まではPCのHDMIモニターを共用にしてディスプレイのSWで切り替えていたのだが、電源のトラブルシューティングで頻繁に再起動をする状況ではどうも具合が悪い。例の7インチIGZOパネルをこのときとばかりに使いたいのだが、1920x1080の解像度では、動画を見るのならともかく、コンソールは猛烈に字が小さくなりデバッグなどはとても出来ない。フォントを拡大するコマンドは入れたが、実用性に欠ける。迷った挙句、適当なHDMIディスプレイを別個に買うことにした。