忙しいのに、時間無いのに、でもって忙しいのに、
つい思いついて計算を始めてしまいました…
背景表示器の処理は目下のところ、デコード処理に28.75us、
表示処理に48.80us。それぞれが走査線1本(63.4us)以内
に行っています。
一方、uart受信等の処理は、デコードも表示も行って
いない空き時間に裏でやってます。
この空き時間で一番時間を要する処理は1画面丸ごとの
洗い替え処理。
1回42.10usを要するんですが、これは走査線4本分の間に
処理が完了すれば良い設計。
(メインCPUから4バイト送出する間に1回画面洗い替え
ができればよいので)
ここから逆算すると、デコード処理はあと30us程度長く
なってもギリギリで入る計算。この30usに追加のロジック
を押し込めば良いんだゾ。と。
と、ここまでわかったので、軽ーくソースを眺めていると、
なんとなくロジックが思いついてしまいました。
ウン。行けそう!
横方向へのオフセット値分について1ライン16バイトのデータ
を右シフトさせるのに必要な増分は、このロジックなら
20us程度。よーし。なんとかギリギリ入りきる!
プログラムも短くて済むし。
ここまで来ると、頭にソースイメージまで思い浮かんで
しまったので、ソース修正だけでもやってしまおうかな…。
忘れないうちに。
でも、手をつけちゃったらどんどんワルノリしそうだし…
時間が無いんだ、時間が無いんだ。なおかつ時間が無いんだ。
2月頭まで忙しいんだった…。
どうしよう?
さらに、もう一つ追加したい機能があるんだよなぁ。
多重スクロールができる機能。こっちは簡単な話なんだけど、
そんなことまで全部やってたら時間が…
今月はダメだ…
|