BlokasLabs / USBMIDI

USB MIDI library for Arduino.
Other
189 stars 14 forks source link

update for latest samd cores #10

Closed mzero closed 4 years ago

mzero commented 4 years ago

The current samd cores (1.5.7) no longer use USBD_* functions, but instead have a class, USBDeviceClass, and a single global instance, USBDevice. These are defined in USBAPI.h

This commit updates the calls in usbmidi_pluggableusb.cpp to use this newer API.

This should help (fix?) with #4 I'm successfully compiling and using this with an Adafruit Feather M0 Express (ATSAMD21G18).

gtrainavicius commented 4 years ago

Hey, good to hear that this works on ARM based board! This is the first reported success. :)

I've just checked building for the SparkFun Pro Micro which uses AVR Arduino core - unfortunately the APIs between AVR, ARM and SAMD are still diverged. (https://github.com/arduino/ArduinoCore-sam/issues/62) and the same code can't be compiled for both.

I will accept this PR into the sam branch, and will ping the above issue whether there's been any new developments on a consistent API - I'd prefer to avoid having #ifdefs based on platform if possible.