ガチャガチャでゲット。ペンタックス党ならつい手が
出てしまう逸品。
k-rゲット。かわいい。なかなかの造型。
ただ、シルバー×ブラウンかぁ。もっとサイケな感じの
色を期待してたんだけどな…。まぁ、ブラック×ブラック
よりは良かった。
レンズは透明のプラスティックでレンズっぽく出来て
いるんだけど、1枚構成でちょっとつくりが寂しい。
ウソでも良いので、何枚かレンズっぽい板を入れて
おいてくれたらよかったのにな。
あと、レンズは取り外し交換して遊べるようにして
くれたら良いのに。もちろんレンズもラインナップを
色々そろえてくれたり。ミニチュアだけでいいから
大艦巨砲主義を実現したい。
ボデー下部の透明の板は、丁度ホットシューに挿さる
形状になってて、親亀の上に小亀状態になるみたい。
まぁ、そんな使い方より普通にキーホルダーだな。
似非DDSのプログラムを検討中。
目下、フルアセンブラでサクッと作る方向で検討を進めて
きたんだけど、とりあえず4096点のsinカーブを使う考え。
で、例によって99basic使って定数テーブル作成の
スクリプトを書いてバッチリ。
さて本体のプログラムを書こうかと練り始めてみたところ、
ふと壁にぶつかった。
割り算。
周波数を整数値で入れると、角速度を自動計算して
その後自動的に波形を出力し続けてくれるっていう
物を考えたんだけど、そうすると固定小数点ながら
割り算が必要になるはず…。いま想定しているのは
32ビット幅整数同士の割り算。
被除数は4096固定(の1/4か?)として、除数は1~20000
と結構なレンジになるので、あらかじめ定数化しておく
のはメモリ足らないし、引き算の繰り返しだと処理時間
掛かりすぎ。
普通に引き戻し法、引き放し法を使わんといけないん
だろうけど、そんなテストちまちまやるのはイヤだなぁ…。
波形生成の処理(+割り込み)は実体をアセンブラで、
メイン側をC言語で書くかなぁ?とか考えたんだけど、
割り込み1回の処理時間がシビアに短いので、C言語
からの割り込みはオーバーヘッドがちょっと…と戸惑う。
とふと思い出したChaNさんの秘蔵テクニカルライブラリ
にAVR用割り算ライブラリが載ってたような…
http://elm-chan.org/cc.html
あった!
しかも短い。とりあえず眺めてみる。
シフト命令をじゃんじゃん使っているところを見ると、
多分引き戻し法か引き放し法を使っているんだろうな。
アタリマエだけど。
これを参考にさせてもらえばオイラのプログラムにも
ちょっとのアレンジで組み込むことは出来そう。
ただ、そんなところに時間食っているより、直接
角速度をUART側から入力させちゃうてもあるよな、と
思うと、そっちの安易な方向に流れちゃう手もある…
とりあえずは簡単な方法に逃げるのがいいかな。
手を加えて色々使い勝手よくするのはその後でも
いいのだ。まずは使えるツールを準備しないと
FFTがいつまでたっても進まないから。
|