Saqoosha

2020.11.18

Diary

Rust で書き換えたことで CPU 負荷問題は完全に解決したくさいのだけど、100 台ぐらいを一定時間動かし続けるとちょいちょい BLE モジュールごとフリーズしている。どうやら BLE モジュールに SPI で接続している Ethernet チップの挙動があやしい。たまに NULL がまざっていてデータのパースに失敗、バッファーオーバーランして死んでいるっぽい。PC 側で受け取ったデータもたまに欠落していることがあって PC 側でもそのへんちゃんとケアしてやらないといけない。めんどくさい。

2020.11.19

Diary

受信したデータが抜けてたり謎の NULL が挿入されてても、データがおかしいことを検知して死なないようにしたら、140 台 30 分ほぼ問題なく動いてたから、もうちょいデバッグやりやすくしようと BLE モジュール側のコードをいじったら、突然不安定になりまくり。2 台目接続時にフリーズ多発。ほんのちょっとしかいじってないのに意味不明すぎ。2 時間ぐらい格闘しても原因不明で結局もとにもどした。どっかメモリぶっこわしてるんだろうけど全然検討がつかない。BLE 側も Rust で書きたくなってきた。

2020.11.20

Diary

かろうじて 260 台同時制御できた!やっぱり SPI 接続してる W5500 のデータ破損対策が完全じゃなくて BLE モジュールがたまにフリーズしているけど 260 台つながってる状態でも電波状況的には余裕ぽくて制御コマンドも瞬時に反映されてよい感じ。映像公開せよとの指令が出ているので近日中なんかでます。ここから先がまだ長いけどひとまずマイルストーンいけたのでよしとする。🎉