main.cpp
- Committer:
- mistery
- Date:
- 2017-08-10
- Revision:
- 0:99a8a5ec3e56
File content as of revision 0:99a8a5ec3e56:
#include "mbed.h" #include "BLEDevice.h" #include "BLEMIDI.h" #include "math.h" BLEDevice device; BLEMIDI bleMidi(&device); PwmOut sound(P0_6); Ticker midinote; void disconnectionCallback(Gap::Handle_t handle, Gap::DisconnectionReason_t reason) { bleMidi.onBleDisconnection(handle, reason); } void connectionCallback(Gap::Handle_t handle, Gap::addr_type_t type, const Gap::address_t addr, const Gap::ConnectionParams_t *params) { bleMidi.onBleConnection(handle, type, addr, params); } void onNoteOn(uint8_t channel, uint8_t note, uint8_t velocity) { sound.write(0.5f); sound.period(1.0f / (440.0f * (float)pow(2.0, (note - 69.0) / 12.0))); } void onNoteOff(uint8_t channel, uint8_t note, uint8_t velocity) { sound.pulsewidth(0); } void note(){ bleMidi.sendNoteOn(0, 63, 127); } int main(void) { device.onConnection(connectionCallback); device.onDisconnection(disconnectionCallback); bleMidi.attachNoteOn(onNoteOn); bleMidi.attachNoteOff(onNoteOff); midinote.attach(¬e, 2.0); // the address of the function to be attached (flip) and the interval (2 seconds) for (;;) { device.waitForEvent(); } }