ひどく眠く、仕事も趣味もうまく行かない日。憂鬱だ。ハードウェア割り込みを受けようとするとどうしてもグローバルな関数が必要になるが、グローバルな関数からシングルトンオブジェクトを参照する上手い方法が思いつかないし、イベントハンドラもRustの借用ルールに縛られてうまく書けない。no_stdなのもあって厳しい。うう。
寝ます。明日はなんかミスったので頭痛外来と心療内科に両方行く。
ひどく眠く、仕事も趣味もうまく行かない日。憂鬱だ。ハードウェア割り込みを受けようとするとどうしてもグローバルな関数が必要になるが、グローバルな関数からシングルトンオブジェクトを参照する上手い方法が思いつかないし、イベントハンドラもRustの借用ルールに縛られてうまく書けない。no_stdなのもあって厳しい。うう。
寝ます。明日はなんかミスったので頭痛外来と心療内科に両方行く。
眠い。本が届いたので少しだけ目を通した。やはりヴィトゲンシュタインは僕のヒーローなんだと思った。そしてこの問題意識を僕は僕の物語にうまく埋め込まなくてはならない。
necoboardはあまり触らなかった。とりあえずの実装イメージはわかってきたが、実際にやるとなるとテンションが上がらないなあと思ったので今日はやらないことにした。明日はちゃんとやりたいが……。でもこれメモリ安全性と食い合わせ悪そうだし、けっこう腰を据えて考えないとだめかも。
最近ますます忙しいな。本も読まないといけないし、数学もしなくちゃ。necoccも忘れたわけではないが……。
寝ます。
月曜日が憂鬱だったのでAmazonで本を買う健康法を実践した。明日届くようだ。読む時間の目処はあんまりないが…… まあRustの本とかは空いた時間にサッと目を通せばよいだろう。哲学の本はそういうわけにはいくまい。
仕事の前にすこしnecoboardを触った。OLEDの更新のたびにチカチカするのを改善した(せっかくバッファがあるのに活用していなかった)。ただ相変わらず大きめのビットマップは読めていない。QMKではもうすこし大きめのグリフを出せているので、できないことはないと思うのだが。
仕事はわりとタスク整理ばかりしていた気がする。レビューもした。現状の進捗管理には課題を感じるのだけど、どうすればうまくいくのかはわからない。前職でやっていたようなRedmineでの管理は、僕は気に入っていたけれど。
夜もnecoboardを触った、というかQMKを読んで研究していた。単線でのソフトウェアシリアル通信の雰囲気がわかってきた。今回の要件では、単線でデータを行ったり来たりさせておけば十分であろう。というか相互に送っているとタイミング次第でバッファが詰まって不安定になるのかもしれない。よくわかっていないが。
このあたり今週かけてとりあえず実装してみたい。
寝ます。眠いなあ。
昼頃に起きてnecoboardを触る。OLEDパネルに文字を出すなどしたが、どうも左右の同期が不安定になってきていてうまく入力が送られないことが出てきた。USARTを使った通信がちょっと雑すぎるのが原因か?と思っているがよくわからない。あとOLEDパネルもうまく動いたり動かなかったりで、これも不穏。
そろそろatmega32u4の性能限界が足枷になっていると感じるようになってきていて、じゃあ思い切ってRasPi picoにでもするか?と思ったが、こいつは思ったよりかデカいので基盤設計が難しそう。仕方がないので今回はPro Microで頑張ろうと思うが、やはり駄目そうとなったら諦めるしかない。そもそもRustのAVR対応はなんか壊れているらしいし。
ともあれまずは左右同期だ。QMKを見て研究したい。
そういえば夕方にガトーショコラを焼いた。バレンタインだし。なんかでも、そろそろガトーショコラ以外のレパートリーもほしいよねという気はする。
三連休は終わり。明日起きれるかしら。
昼夜逆転が祟ってか寝不足で調子が悪かった。最近ツイッターで話題だったのでサイゼリヤに行った。実はあまり行ったことがない。まあ、コスパがいいのは確かだが、人生にはコスパではなくパを追求せねばならない場面もある。
夕方はすこしゲームをしたのだが、寝不足のせいか3D酔いしてしまった。うう。
夜はnecoboardを触った。一応分離キーボードとして動作できるようになったので満足している。そろそろ基盤設計をやらねばならないだろうか。とりあえず4キーくらいで試せば良いか。あと静電容量スイッチのことも調べておかねば。
寝よう。今夜は昼夜逆転を元に戻そうと思っていたはずなのだけど、結局はこう。
また三連休だからって昼夜逆転してる。こういうことすると来週の前半とかも眠くて大変なのに。
昼過ぎに起きて、necoboard触ったり昼寝したり。とりあえずファームウェアロジック部分をcoreモジュールに分離して、可能な限りハードウェア非依存になるようにした、つもり。あと分離キーボードのためにUSARTを試している。とりあえず分離Lチカには成功したので、ここからキー入力を送信できるかどうか。ただ今の枠組みだと非同期なのがちょっと不満というか、同期にできないだろうかと思っている。よくわかっていないが。
寝よう。
今朝はすこし早起きしたのだけど、なんかそのせいか昼間はずっと眠たかった。うーん、そうならないように昨夜は早めに寝た、つもりだったのだけど。
仕事は今日も落ち穂拾いなど。ようやく全体的な進捗に改善の兆しが出てきた感じがする。とはいえ週明けにはもうテストを始めたいという話になっているのだが……。
夜はnecoboardを触って、2x2のキーマトリクスが動作したのと、OLEDモジュールになんか表示させるところまでできた。すごいぞ。とりあえず必要な要素はかなり出揃ってきた。あとはOLEDパネルに文字とか出したり、分離キーボードに対応したりしたい。そこまで動いたら、もしかして、もういま動いてるキーボードのファームウェアに利用可能か?(いやいやレイヤーの実装とかぜんぜん道は遠いでしょうよ)
眠かったくせにだいぶ夜更かししてしまった。寝ます。
今日もわりとコーディングに集中できて、いくつかPRを出した。もう大詰めだし落ち穂拾いを積極的にやっていきたい。ただPHPにはまだ慣れていないことも多く、そういう部分で躓くことが多い。こういうのは筋力の問題なので、たくさん書いていくしかない。
夜はfとオンラインでちょっと飲んだり、ちょっと数学をした。necoboardは今日はお休み。
寝ます。明日は早いのでしっかりしなきゃ。
最近ずっと朝起きれないのだけど、これは単に夜更かししてばかりいるからっぽい気もするな。
仕事は今日はわりとガリガリ手を動かした。そろそろ仕上げていかないといけない頃合いなのだけど、雑多なタスクが散らかったままになっていてよくない。たぶん工数見積もりがまったくされていないのが問題なのではないかと思うが、本当にそういう話なのかはよくわからない。
夜はnecoboardを触る。ここまで全部main.rsに書いてきていたコードをモジュール化して、USB触るクレートとメインクレートに分割した。分割しても動いてくれたので満足している。これであとはキーボードマトリクスを読むクレートやらレイヤーキーをハンドリングするクレートなどを分離して、適宜テストすることもできるだろう。いや、それもなんか違う気もするな?まあゆっくり考えていけばいいと思う。
寝ます。
月曜日。テンション上がらない。テンション上がらないのは月曜日だからだけではなく、仕事がうまく進んでいないからでもある。自分が要求されていることと、自分ができそうだと思えることとの間に乖離がある。正確には、自分が要求されていることと、自分ができそうだと思えることと、自分が要求されているとチームメンバーが思っているだろうと僕が思っていること、との間に。このせいで動きづらい部分があり、こういうとき自分のコミュニケイションの下手さを痛感する。日常の会話なら下手でもなんでもやっていけばいいのだが、仕事となるといささか趣が異なる。
夜はnecoboardを触る。スイッチを押すとaが入力される簡易的なキーボードが作れたが、なぜかmacosに繋いだときだけ正しく入力されるまでに待ち時間がある。何だろう。windowsだと繋いで即入力できるのだが。
とはいえ一旦USB部分は一段落としてよさそうなので、クレート分割などをしていきたいなと思っている。楽しみ。
寝よ寝よ。