Goran Mahovlic / Mbed 2 deprecated BLE_MIDI

Dependencies:   BLE_API mbed nRF51822_BLE_MIDI

Dependents:   BLE_MIDI_one_note_TEST

Fork of BLE_MIDI by Kaoru Shoji

Committer:
kshoji
Date:
Fri Apr 03 04:24:01 2015 +0000
Revision:
1:cba2eba64f5c
Parent:
0:83889dc90473
Child:
2:dbc6f81b9ba0
Tested MIDI sending

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kshoji 0:83889dc90473 1 #include "mbed.h"
kshoji 0:83889dc90473 2 #include "BLEDevice.h"
kshoji 0:83889dc90473 3 #include "BLEMIDI.h"
kshoji 0:83889dc90473 4
kshoji 0:83889dc90473 5 BLEDevice device;
kshoji 0:83889dc90473 6 BLEMIDI bleMidi(&device);
kshoji 0:83889dc90473 7
kshoji 0:83889dc90473 8 DigitalOut led1(P0_0);
kshoji 1:cba2eba64f5c 9 InterruptIn button(P0_1);
kshoji 0:83889dc90473 10
kshoji 0:83889dc90473 11 void disconnectionCallback(Gap::Handle_t handle, Gap::DisconnectionReason_t reason) {
kshoji 0:83889dc90473 12 bleMidi.onBleDisconnection(handle, reason);
kshoji 0:83889dc90473 13 }
kshoji 0:83889dc90473 14
kshoji 0:83889dc90473 15 void connectionCallback(Gap::Handle_t handle, Gap::addr_type_t type, const Gap::address_t addr, const Gap::ConnectionParams_t *params) {
kshoji 0:83889dc90473 16 bleMidi.onBleConnection(handle, type, addr, params);
kshoji 0:83889dc90473 17 }
kshoji 0:83889dc90473 18
kshoji 0:83889dc90473 19 void onNoteOn(uint8_t channel, uint8_t note, uint8_t velocity) {
kshoji 0:83889dc90473 20 led1 = 1;
kshoji 1:cba2eba64f5c 21 if (bleMidi.connected()) {
kshoji 1:cba2eba64f5c 22 bleMidi.sendNoteOn(channel, note, velocity);
kshoji 1:cba2eba64f5c 23 }
kshoji 0:83889dc90473 24 }
kshoji 0:83889dc90473 25
kshoji 0:83889dc90473 26 void onNoteOff(uint8_t channel, uint8_t note, uint8_t velocity) {
kshoji 0:83889dc90473 27 led1 = 0;
kshoji 1:cba2eba64f5c 28 if (bleMidi.connected()) {
kshoji 1:cba2eba64f5c 29 bleMidi.sendNoteOff(channel, note, velocity);
kshoji 1:cba2eba64f5c 30 }
kshoji 0:83889dc90473 31 }
kshoji 0:83889dc90473 32
kshoji 0:83889dc90473 33 int main(void) {
kshoji 0:83889dc90473 34 device.onConnection(connectionCallback);
kshoji 0:83889dc90473 35 device.onDisconnection(disconnectionCallback);
kshoji 0:83889dc90473 36
kshoji 0:83889dc90473 37 bleMidi.attachNoteOn(onNoteOn);
kshoji 0:83889dc90473 38 bleMidi.attachNoteOff(onNoteOff);
kshoji 0:83889dc90473 39
kshoji 0:83889dc90473 40 for (;;) {
kshoji 0:83889dc90473 41 device.waitForEvent();
kshoji 0:83889dc90473 42 }
kshoji 0:83889dc90473 43 }