2025W12
やりたい事
- ローラーマウス付きキーボード
- ファームウエアを仕上げる。
- 腹筋デック
- アイディアをまとめる。
- Rust
- もうちょい文法を拡充する。
やった事
- ローラーマウスつきキーボード
- 動くようになった。
- ETL
- 関数定義と呼び出しができた。
- Nucbox G9
- NATとしてのLinuxセットアップ
学んだ事
- ETL
- 変数名に予約語が使えないようにする必要がある。
- GoogleWifi
- IPv6をフル機能で使うためには、/63のアドレスをDHCP6-PDで配る必要がある。
記録
- 20250317
- トラックボールテンティング
- 適当に見つけたのを印刷してみた。
- トラックボールテンティング
- 20250318
- 100マス計算
- 10分30秒
- もっと遅くなった!?
- ETL (Embedded Tiny Language)
- 入れ子のプログラムを書けるようにした。
% echo 'print (stringJoin "Hello" (stringJoin "awesome" "world"))' | cargo run Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.02s Running `target/debug/etl` Hello awesome world
- &strとStringをenumにした型を作ってみたけど、これをグローバル変数にはできない?
- ちょっと小さいクレート作って試してまわらないとわからん。
- 入れ子のプログラムを書けるようにした。
- ローラーマウスつきキーボード
- 通信できないのをデバッグ
- 基板の半田付けミスを2箇所発見
- ジャックの足
- ピンヘッダの1つ。
- なおしたら、通信はできたが、マウス移動は送れてない。
- 100マス計算
- 20250319
- ローラーマウスつきキーボード
- Splitモジュールをいじって、通信にポインティングデバイス移動量を入れた。
- 安定して動くかな?
- たまにパケットが落ちる。
- 原因はわからない。PIOを使わないようにしたら安定した。何で?
- Splitモジュールをいじって、通信にポインティングデバイス移動量を入れた。
- ETL (Embedded Tiny Language)
- 一旦放りなげて、1から作りたい。
- jawiki
- ひらがなで部分検索できるところまでやった。
- これをMicroPythonでやってみる?
- Nucbox G9
- Debianで運用する事に決めた。
- ローラーマウスつきキーボード
- 20250320
- 祝日
- Nucbox G9
- 古いNASからコピーしてるけど20MB/sぐらいしか出てない。古いNASのスピード制限だな。
- Nucbox G9
- 熱くない?って聞かれたので、ついでにPrometheusの対象に追加。
- アイドル時で60℃弱ぐらい。
- 負荷をかけると70℃弱になるっぽい。
- ETL (Embedded Tiny Language)
- 腰を入れて関数を実装した。
-
% cargo run <<EOL fn foo() print "hoge" end fn main() foo foo end EOL Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.01s Running `target/debug/etl` hoge hoge
- 20250321
- ETL (Embedded Tiny Language)
- ローカル変数(引数)
- defとendという変数名を作れるようにするために、予約語をやめて記号にした。
-
% cargo run <<'EOL' ^ foo str { print $str print $str $str } foo "hello" EOL Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.01s Running `target/debug/etl` hello hello
- 走ってきた。
- 6.15km
- ETL (Embedded Tiny Language)
- 20250322
- PiCon
- ひさしぶりすぎて、覚えてない。
- ここまでのあらすじ。
- 画面表示が遅いという問題があった。
- フォントファイルが100kb弱あり、メモリを全部読むだけのメモリがない。
- Cにテーブルを書いて、mpyにコンパイルしたが、mpyをimportするとコンパイル済みモジュールがメモリに読まれるのでメモリを消費する。
- MicroPythonにフォントを書き込んだものを作った。
- ターミナル側をいじって、フォントファイルを読むかわりに、メモリから読んでみた。
- あまり早くなってない。
- そもそもちゃんと計測しないと駄目かな。
- ローラーマウスつきキーボード
- ローラーが簡単に動きすぎる問題。
- 何種類か試したけど、駄目だった。
- ローラーが簡単に動きすぎる問題。
- フレッツ光クロス
- Google Wifiを使いたい。
- 家中に届くために、アクセスポイントを複数置きたい。
- この場合ブリッジモードは使えない。
- IPv4は多重NATになるが動作はする。
- IPv6なら普通に使えるはず。
- アプリの設定画面にIPv6を有効にするオプションがある。
- 単にオンにしたら動かなかった。
- マニュアルによるとDHCP6-PDでアドレスを配る必要があるらしい。
- いろいろ試したら、/64をPDで配らないといけないらしい。
- Guestをオンにするためには/63がいるみたい。
- NTTから/56をもらってる。
- /56を16つに割って、/60にした。
- そのうち1つを家のLANにした。
- 家のLAN用の/60をまた16個(/64)に分けた。
- 1つ(/64)を固定IP用
- 1つ(/64)をradvd用
- 1つ(/64)dhcp6で配る用
- 2つ(/63)をPDでGoogleWifiに与えた。
- isc-dhcp-serverを入れたらIPv6用の設定もあったので、そこにつけた。
- この辺のベストプラクティスわからない。
- これで動いてそう。
- Google Wifiを使いたい。
- PiCon
- 20250323
- PiCon
- 計測方法
- MicroPythonでプロファイラを探したけど、ないみたい。
- とりあえず、コードをあちこちコメントアウトして早くなるか見てみてる。
- SPI転送部分が遅いみたい。
- 1ピクセル(3バイト)ごとに、ピクセル位置指定(10バイト)をしてた。
- とりあえず、1文字ごとに送る事にした。
- 結構早くなった気がする。
- 24ビットカラーをやめて3ビットカラーにしてみた。
- これも早くなった気がする。
- 1ピクセル(3バイト)ごとに、ピクセル位置指定(10バイト)をしてた。
- 気がする、ではなくいい感じに数字に出さないと何とも言えないな。
- 計測方法
- PiCon
意見、ご感想、コメントはフォームにどうぞ。