昨日のウクレレクロマチックチューナーのコード。
どこがおかしいのかなぁと、ロジック追いながら
電卓弾いていって、ようやくわかった。
元のサンプルデータから、比較するためのデータ列を
導くためのシフト量について、整数部と小数部を
別々の変数に置いておいて、コイツを元に比例配分の
計算を行うんだけど、この整数部分の比例配分で
生じる小数部を、小数用の変数に反映してなかった
のが原因らしい。
というわけで、計算処理と、計算に使うテーブル類を
サクッと修正。
コンパイルは一発で通ったので、いざ、動かしてみる。
…前半は上手く計算できてるんだけど、後半がグチャグチャ。
調べてみると、どうやら、関数呼び出しの際の、引き数
の渡し側と受け側で、「unsigned long」→「int」で
渡してしまってて、後半の処理で桁落ちしたのが原因っぽい。
コイツを直してさらに実行。
…上手くいった。結構バッチリ。
問題は、AT-MEGA328のSRAM2048バイトのうち、3/4は
既に食いつぶしてしまっているっぽいこと。まぁ、
そのうち、実験用データ作成に使っているmath.hの
sin関数が結構食ってるのは判ってる。んだけど、
それほどの量でもなかったよな。これを取り除いても、
残メモリは高が知れてる…
この残メモリじゃぁ、それほどの機能は追加できそうに
ないなぁ…
まぁ、ロジックは出来上がったので、適当なU/Iを
考えることにしよう。
http://headlines.yahoo.co.jp/hl?a=20131117-00000019-yom-sci
なんじゃ?この「.moe」ってドメイン…
http://www.nicovideo.jp/watch/sm14027440
ちょっと古い動画だけど、なかなか良くできてる感じ。
エンクロージャーだけじゃなく、コイルを自分で巻いて
作ってるってところがスゴイ。
http://page23.auctions.yahoo.co.jp/jp/auction/o9774876
P8のSR。ジャンク品なのに28,600円。結構な金額まで
上がったなぁ。
モノがレア中のレアだからなぁ。できればオイラも
エミュレータ用に実機が欲しいんだけどな。
|
|
|