This program generates sound by using FM tone generator YMF825 via SPI.
Diff: main.cpp
- Revision:
- 0:c54d59d6fb78
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Fri Jan 05 22:58:49 2018 +0000 @@ -0,0 +1,58 @@ +#include "MicroBit.h" + +extern "C" { +#include "fmif.h" +}; +#include "fmsd1.h" + +//MicroBit uBit; +MicroBitDisplay uBitDisplay; +MicroBitMessageBus uBitMessageBus; +MicroBitButton buttonA(MICROBIT_PIN_BUTTON_A, MICROBIT_ID_BUTTON_A); +//MicroBitI2C i2c(I2C_SDA0, I2C_SCL0); + +int tnum = 60; + +const ManagedString tname[12] = { + "C","c","D","d","E","F","f","G","g","A","a","B" +}; + +void onButtonA(MicroBitEvent) +{ + uBitDisplay.print(tname[tnum-60]); +} + +int main( void ) +{ +// uBit.init(); + + initSPI(); + initSD1(); + Fmdriver_init(); + + Fmdriver_sendMidi(0xc0); + Fmdriver_sendMidi(0x04); + + uBitMessageBus.listen(MICROBIT_ID_BUTTON_A, MICROBIT_BUTTON_EVT_CLICK, onButtonA); + + while(1){ +// if ( buttonA.isPressed() ){ +// Fmdriver_sendMidi(0x90); +// Fmdriver_sendMidi(0x30); +// Fmdriver_sendMidi(0x7f); +// } + + Fmdriver_sendMidi(0x90); + Fmdriver_sendMidi(tnum); + Fmdriver_sendMidi(0x7f); + wait_ms(200); + Fmdriver_sendMidi(0x90); + Fmdriver_sendMidi(tnum); + Fmdriver_sendMidi(0); + wait_ms(200); + tnum++; + if ( tnum>72 ){ tnum=60;} + } + + return 0; +} \ No newline at end of file