ソフトいまだ書き中
ソフトいまだ書き中
id:Chuck:20060322#p1 で書いていた MIDI2CV はどうなったのか。
MIDI2CV ATtiny2313(Simple)版 暫定仕様 未達リスト
- ゲート出力 (極性を設定可)
- MIDIメッセージ
- 高音優先 mono mode, single/
multipletrigger Legato対応Re-trigger対応(リトリガタイムは CC Legatoのローカル拡張で指定)- All note off (MM#123 (7Bh))
- Reset all controllers (MM#121 (79h))
- Active Sensing (FEh)
- System Reset (FFh) (できれば)
- 高音優先 mono mode, single/
- 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。