2021年4月18日日曜日

ラップタイマー作ります その13:…そしてメモリとの戦いへ

 基盤が来た。

20200401は気にしてはいけない
あれだ。20200401は…誤植だ。
本来は2021だが、手マクロが勝手に2020って打つんだ。(後で気がつく)

手マクロはともかく。
遅れていた部品も届いたので、とりあえず送信側を組み立ててみる。
手前が試作版、奥が今回のバージョン。
試作版はボタンの分だけ一回りデカい。
奥の新しい物はボタンをスキマにねじ込んだから出っ張りがない分小さい。

で、受信側も組み立ててみる。

受信側

うん。まぁ動く。
と思った頃がありました。

回路ミスが1点。
4つのボタンの分圧回路の結線ミス。で、一カ所パターンカットとバイパス2本を追加。

まぁこの程度なら良かったんだけど…
電源電圧の検出回路を追加でPG組んでると、メモリが足らなく…

電源電圧の検出ってまぁ要は分圧で降下させた電圧をanalogreadで読み込んであれこれやるだけのPGを追加しただけなんだけど。
要はOLEDのライブラリとフォントがでかい。

u8glib.hからu8g2lib.hに置き換えても減らず(むしろ増えた)、あれこれ調べてキャラクタ専門のu8x8lib.hに置き換えて。
描画が目で追える程遅くなった原因調べて解決して。
やれやれメモリ開いたと思ってSDカードのライブラリをincludeしたらまた枯渇。

かろうじて足りては居るが、これでは…

あれだな。
arduino1台にあれこれ詰め込むなって事だな。これは。

これってまたアレでしょ?
arduinoのライブラリを通さずマイコンのポートを直接操作してPGの容量減らす事でフラッシュメモリ空けて。
開いたフラッシュメモリに変数扱いしてる変更されない物を全部放り込んで。
読み書き少ない変数はEEPROMに放り込んで。
で、最終的にRAMを空ける。

ハードのエラーをパターンカットとバイパスで交わして。
ソフトはメモリ容量との戦いになる。

すげぇ組み込み開発の要素満載w
SDカードを諦めたら解決する話ではあるんだけど。

0 件のコメント:

コメントを投稿