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

[BUG] Output data is wrong when MT4 messages break up in the middle of a message. #457

Open
sat-okada opened this issue Dec 9, 2024 · 3 comments
Assignees
Labels
bug 🐞 Something isn't working

Comments

@sat-okada
Copy link
Collaborator

Describe the bug
MT4 messages consist of two words, but inputting one word at a time may result in incorrect output results.

To Reproduce

  1. Install zoa_odd.zip on the ProtoZOA.
  2. Start the console and monitor the ProtoZOA.
  3. Press TP3, TP4 in this order

Then undefined messages appear on the monitor
Image

Expected behavior
After Index 11, the message should be as follows:
Image

Installer Name or Version
・Windows.MIDI.Services.In-Box.Service.-.1.0.1-preview.7.24305.1438-x64.exe
・Windows.MIDI.Services.Tools.and.SDKs.1.0.1-preview.7.24305.1438-x64.exe
・USB MIDI 2.0 class driver (USBMIDI2_10.0.1.7.x64.zip)

Desktop (please complete the following information):
・OS: Windows 11 Pro Insider Preview Build 27758.rs_prerelease.241122-1512

Device information, if this is with an external MIDI device:
ProtoZOA

Application Information
midi.exe console app.

Additional context
The firmware sends two packets, one for each of the touchpads 1 to 6, when pressed.

The contents of the packets are as follows:
Image
Image

The packets sent when the touchpad is pressed are
TP1 : UMPpacket10, UMPpacket11
TP2 : UMPpacket10, UMPpacket12
TP3 : UMPpacket10, UMPpacket13
TP4 : UMPpacket10, UMPpacket14
TP5 : UMPpacket20, UMPpacket21
TP6 : UMPpacket30, UMPpacket31

@sat-okada sat-okada added the bug 🐞 Something isn't working label Dec 9, 2024
@sat-okada
Copy link
Collaborator Author

I checked the data on the USB for this case.

Seems to be sending strange data when sending UMPpacket13.
Image

@Psychlist1972
Copy link
Contributor

I assume in the first case (10 and 11) you are splitting that last valid UMP across UMPpacket10 and UMPpacket11. Does that mean they are in separate USB packets? I don't know how you are transmitting the data

If so, that's not valid, as I recall. The entire UMP needs to fit into the USB packet, Partial UMPs are not allowed.

@AmeNote-Michael can you confirm that this is (or isn't) the case for incoming MIDI 2.0 data in the driver?

@sat-okada
Copy link
Collaborator Author

I understand that these packets are not valid.

I tested this case because Michael had commented in #312 about handle a UMP message across multiple USB packets.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug 🐞 Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants