電音の工場ブログ

趣味の電子工作を中心としたブログです.音モノの工作が多いです.

ソフトいまだ書き中

ソフトいまだ書き中

id:Chuck:20060322#p1 で書いていた MIDI2CV はどうなったのか。

MIDI2CV ATtiny2313(Simple)版 暫定仕様 未達リスト
  • ゲート出力 (極性を設定可)
  • MIDIメッセージ
    • 高音優先 mono mode, single/multiple trigger
    • Legato対応
    • Re-trigger対応(リトリガタイムは CC Legatoのローカル拡張で指定)
    • All note off (MM#123 (7Bh))
    • Reset all controllers (MM#121 (79h))
    • Active Sensing (FEh)
    • System Reset (FFh) (できれば)
  • I2Cからも読み書きはコードエリアに余裕があったらとする → 余裕なくドロップ

あまり進んでいませんな。

まだsingle triggerを書いていないらしい。I2Cはコード、データともに余裕がなくドロップした。System Resetの実装はドロップしようと思っていたが、考え違いが発覚したのでもう少し粘ってみる。

組んでいて何がつらいって、リトリガタイマとPWMとでタイマリソースを共用しているのだけれど、PWMのことを考えてタイマをプリスケールできないので、リトリガ制御に皺寄せがいくのである。20MHz クロックで8bit(256)を78回割り込んで1msecを作るという…

で、今のキャパはどうなっているかというと、

AVR Memory Usage
----------------
Device: attiny2313

Program:    1644 bytes (80.3% Full)
(.text + .data + .bootloader)

Data:        115 bytes (89.8% Full)
(.data + .bss + .noinit)

EEPROM:       13 bytes (10.2% Full)
(.eeprom)
-------- end --------

コード領域よりもデータ領域の方がつらい。128byte中 115byte 使用。これでスタックとヒープ(ん?)は取れるのか? まぁ16音分確保している Legatoメモリを減らせばいいんだけど*1