Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Arduino Giga R1 Wifi support #996

Open
BenRauzi opened this issue Jan 27, 2024 · 3 comments
Open

Arduino Giga R1 Wifi support #996

BenRauzi opened this issue Jan 27, 2024 · 3 comments

Comments

@BenRauzi
Copy link

BenRauzi commented Jan 27, 2024

Are there any plans to support the Arduino Giga R1 Wifi in future with MIDI over USB? Understandably it's STM32 so would be a bit more work, but keen to build something with this board.

Would be happy to collaborate on this if given some pointers if it were needed.

@tttapa
Copy link
Owner

tttapa commented Jan 27, 2024

The code for the Giga should be there, but I don't have the hardware to test it. I've just verified that the correct backend is selected and that the code compiles without warnings or errors, but I have no idea if it will work. If the GIGA USB implementation and API in the ArduinoCore-mbed are similar enough to the ones for the Nano 33 BLE, it may work without too many modifications.

To be honest, the low-level MIDI USB code for the mbed platform is rather experimental, it needs some refactoring and simplifications, along with more rigorous tests, but there have been a lot of other things on my todo list, unfortunately.

If you have a Giga at hand, it would be great if you could give it a try, it should be as simple as using the USBMIDI_Interface.
I usually start with a simple loopback test:

#include <Control_Surface.h>
// Make sure we're not silently falling back to MIDI over Serial
#ifdef CS_USB_MIDI_NOT_SUPPORTED
#error "Actual MIDI USB backend required"
#endif

USBMIDI_Interface midi;
MIDI_Pipe p;

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  midi >> p >> midi;
  MIDI_Interface::beginAll();
}

void loop() {
  static bool ledState = false;
  static AH::Timer<millis> timer {500};
  if (timer)
    digitalWrite(LED_BUILTIN, ledState = !ledState);
  MIDI_Interface::updateAll();
}

@BenRauzi
Copy link
Author

Sure thing I'll have an experiment and see if I can get anything working

@intini
Copy link

intini commented Jul 19, 2024

@BenRauzi Hi! Please, may I ask if you were you able to test the Arduino Giga R1 Wifi with the Control Surface library?
Has anyone? I just bought a chinese version of the Arduino Due. I hope that it will work fine with the Control Surface Library. But I am looking forward to exploring a more modern board like the new Giga R1 for this application.
I would like to thank Pieter (@tttapa) for working on such a fantastic Library. Thank you, Pieter!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants