Nucleo F401REでFM音源を実装するやつ 外部DACとオペアンプを利用 現在はMCP4922とNJM2737

Dependencies:   AOTTrigon I2CEEPROM MCP4922 AQM0802A mbed

Fork of NuMidi401 by Yuu Kobayashi

NuFM401

Nucleo F401用の自作ソフトウェアMIDI音源

概要

だいたいそんなもんです。

特徴

  • ブレッドボードの上で組める程度には簡単な回路構成
  • 外部のDACにMCP4922を採用
  • 念のためのボルテージフォロアとしてNJM2737Dを採用
  • バンク用EEPROMに24FC1025を採用
  • シリアル経由でMIDIデータを受信することで操作

補足

シリアル <=> MIDI のドライバにはHairless-MIDISerialをオススメします。 仮想MIDIケーブルはとりあえずMIDI Yokeで。

Revision:
16:5cfa8b491882
Parent:
13:e11380ceb460
Child:
17:2e577c6000cf
--- a/FMOscillator/FMOscillator.h	Sat Jan 17 04:00:20 2015 +0000
+++ b/FMOscillator/FMOscillator.h	Mon Jan 26 13:26:34 2015 +0000
@@ -1,22 +1,27 @@
 #pragma once
 #include "mbed.h"
+#include "AQM0802A.h"
 #include "AOTTrigon.h"
 #include "FMOperator.h"
 #include "MIDIUtil.h"
+#include <new>
 
 class FMOscillator
 {
 public:
     FMOscillator();
-    FMOscillator(Timer *timer, Serial *serial, AOTTrigon *trigon);
-
+    FMOscillator(int opc, Timer *tim, Serial *ser, AOTTrigon *tri, I2C *i2clcd);
+    ~FMOscillator();
 private:
     Timer *master;
     Serial *serial;
     AOTTrigon *trigon;
-    FMOperator op[64];
+    AQM0802A *lcd;
+    FMOperator **operators;
+    int opcount;
     
     void getMIDIMessage();
+    void midiReceived();
     void getMIDISystemCommonMessage(char t2);
     void midiSystemRealtimeMessage(char mes);
     void midiNoteOn(char ch, char note, char vel);