Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: BLE_API mbed nRF51822_BLE_MIDI
Dependents: BLE_MIDI_one_note_TEST
Fork of BLE_MIDI by
main.cpp@1:cba2eba64f5c, 2015-04-03 (annotated)
- 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?
| User | Revision | Line number | New 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 | } |
