Raspberry Pi で DPDK は使えるみたい
前回の記事 Raspberry Pi で DPDK は使えるか? の続きです。いきなり始めたこの話題ですが、そもそも DPDK とは何でしょうか?Wikipedia の説明が良くまとまっていてわかりやすいです。Data Plane Development Kit の略で、データプレーンを扱うアプリケーションを書くためのライブラリです。
8/19 もうちょっと色々わかったので追記しました。
Raspberry Pi で DPDK が使えるか?
かなり以前に Raspberry Pi で DPDK を走らせようとして挫折したのですが
それから7年も経っているし、状況は変わっているでしょう。再挑戦してみます。
Raspberry Pi でヘッドレス Linux
さっと Linux で何かしたいというとき、何を使いますか?Docker を使えば手軽に環境が作れますが、一個のコンピュータとして使うには制約が多くてかえって面倒です。バーチャルマシンを使うのも良いと思います。でも、実体があった方が良いときにはやっぱり Raspberry Pi。ディスク代わりにマイクロ SD を使うので、マイクロ SD を差し替えてしまえば別のホストに早変わりするところなどほとんどバーチャルマシンです。さっと素早く何かしたいときに実に重宝します。ということで、いつも旅には二台のラズパイがお供してくれています。名前もついてますよ。たろ君とじろ君。
これらのラズパイは、ヘッドレスといって、普段はモニタなどにつながずに PC から SSH を使ってログインして使っています。いざというときにはモニタケーブルをつなげば直接操作できますがデスクトップ環境はインストールしないのでかなり不便です。ラズパイ自体はシンプルにしておいて不便なところはPC でサポートすると、結局僕にはその方が楽なためこのような使い方をしています。
そして今日もちょっと使う用があって、たろ君、出番ですよ...ん?電源を入れても反応がない?
PC とディスプレイの消費電力
今日本に戻ってきて仕事していますが、毎日あり得ないぐらい暑いですね。そんな暑さの中でも仕事の道具でありじゃんじゃん熱を出す機械でもある PC は停められないのですが…
コロナ以来僕もご多分に漏れず在宅勤務中心になってしまったのですが、在宅勤務化してからの悩みの種が電気代の支払いが増えてしまったこと。オフィスに通ってた頃と比べて月々の消費電力は倍ぐらいいってます。どうやらPC とディスプレイの消費電力はかなりすごいみたいです...
Chat GPT? 使ってますよ
AVR の EEPROM データが壊れるのを防ぐには
909クローンのファームウェアの開発中、eeprom に書き込んだリズムパタンが書き込んだ後に崩れる現象がまあまあ頻繁に発生して、最初はファームウェアのバグのせいかと思っていたのですが、バグにしてはどうにも発生場所がランダムだったり発生の契機が読めなかったりで、これはプロセッサの誤動作なのでは?と考え始め、発生条件をもっとよく調べてみたら、どうも電源を落として立ち上げると何の書き込みをしていなくてもちょいちょい壊れるらしい。そういうわけで何の問題でどう対策すれば良いのか調べました。
怪しい通販サイトからトランジスタを買おうとしたらやっぱり怪しかった話
製作に使う部品にはあまりこだわらない方で普通は手に入るもので済ますので、部品の調達先はだいたい決まっているのですが、909クローンでは、どこを代替品にしてよいかというところまで部品表に指定してあって、そういったことを楽しむために頑張ってできるだけオリジナル部品を調達しました。そのためトランジスタは廃番を中心に集めることになり、トランジスタはほとんどが初めての販売者さんからの調達になりました。こういう時は eBay を利用するのが、詐欺防止の仕組みが充実していて安心なのですが、一点だけ eBay を通さず直接注文を出しました。ところ見事に問題が起きたので顛末を簡単に記録しておきます。
AVR の EEPROM 非同期書き込み関数
TR-909 クローンのシーケンスパタンは eeprom に書き込みますが、avr-libc ライブラリが提供している eeprom 関数には同期書き込みしかありません。
https://www.nongnu.org/avr-libc/user-manual/group__avr__eeprom.html
しかし、TR-909 クローンのファームウェアでは割り込みをほとんど使わずリアルタイム処理がなされていて、eeprom を同期書き込みすると書き込み中処理が止まってしまいます。これが様々な誤動作の原因になってしまうので、非同期書き込み関数を書きました。
シーケンサの基本構造とリズムパタンの打ち込み
909 の製作はハードウェア部分はほぼ終わり、ファームウェア書きが中心になってきました。ソースコードは GitHub に上げていて文章で書くことがだんだんなくなってきて、ブログ記事の間が広がってまいりました。その中で、シーケンサの基本構造とそこへリズムパタンを打ち込む部分はソースコードを読むだけではわかりにくい、自分でも忘れてしまうかもしれないので大枠を記事にしておきます。