MIOS Studio access of LPC17 based MIDIbox via USB4 (5th USB pipe)

Dear MIDIBOXers,

 

How can MOIS Studio access the LPC17 core exclusively via USB GM5 Port 5 instead of Port 1?

 

 

#define MIOS32_MIDI_DEBUG_PORT USB4

 

in MIOS32_config.h only sends debug outputs on Port 5 ( MIDI IN: GM5 Port 5 in MIIOS Studio)

 

I want use Port 5 ( MIDI IN & OUT) as a service channel for MIOS Studio (MIOS Terminal, MIDI Monitor, Upload Window etc.).

I would use Port 1..4 for pure application related MIDI data only.

 

I this possible, and if yes, how could I achieve that?

Where else do I have to make changes in the MISO32 framework?

 

Thanks in advance!

Cheers

Jo

 

 

 

 

Hi Jo,

 

there is a major blocking point which will prevent us from implementing this properly in MIOS32: there isn’t enough code space available in the bootloader range for a USB descriptor which enables 5 USB Ports.

With this assumption I never considered that “service functions” are accessed from an USB port other than USB0.

-> it will never work properly under all conditions!

 

Best Regards, Thorsten.

 

Hi Thorsten,

 

Many thanks for your quick answer!

I totaly aggree to your constrains by the limitations of the bootloader.

 

Is it possible and how to redirect the enumbered logical 4 USB ports 0..3 in the MIOS32 apps to the USB Pipes 1..4 instead of USB Pipe 0..3?

 

Best Regards, Jo

In theory you could do this in http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fmios32%2FLPC17xx%2Fmios32_usb_midi.c

MIOS32_USB_MIDI_PackageSend: add “package.cable = (package.cable + 1) % 5” at the top

MIOS32_USB_MIDI_PackageReceive: add “package->cable = (package->cable + 1) % 5” at the bottom.

You have to recompile and install the modified bootloader first before you will be able to use such a change in your application.

-> make in bootloader/src first, thereafter make in bootloader/updater

A perl installation is required to generate the bootloader/updater/bsl_image_* files

No guarantee that it will work! (could be that I overlooked something)

It should be clear, that Bootloader HOLD mode won’t work thereafter anymore, because the bootloader will listen to a non-existing USB cable. Much more code changes would be required to get this working, but I won’t have the time to support you on such a topic (for a nice-to-have, but not necessary feature from my point of view)

Best Regards, Thorsten.

Thanks Thorsten,

 

I totally agree with your concerns, it´s not worth to change the stable and aproved MIOS32 framwork, for such a minor nice-to have feature.

I may consider it, if I got all my other planned features for the MIDIboxKB project implemented and tested.

 

Thanks anyway for your profund answers.

 

Cheers, Jo