USB-midi-device crashes when a lot of pitchbend messages are received [MicroPython v1.29.0]
I maintainer di solito rispondono entro 4 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 56/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- python
- Ambito
- embedded-iot
Direzione di ricerca
Inizia da micropython/usb/usb-device-midi/usb/device/midi.py, in particolare da on_midi_event, e riproduci il problema usando l'handler di pitch-bend mostrato in micropython/usb/examples/device/midi_example.py. Traccia cosa succede quando arrivano messaggi di pitch-bend rapidi e determina se il dispositivo si blocca o si ripristina normalmente a questa frequenza di input. Il lavoro è completato quando il traffico sostenuto di pitch-bend non blocca più il Pico e non richiede il riavvio del backend.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
As I wanted to test receiving MIDI pitchbend messages, I added the following lines to micropython/usb/usb-device-midi/usb/device/midi.py:
def on_midi_event(self, cin, midi0, midi1, midi2):
ch = midi0 & 0x0F
if cin == _CIN_NOTE_ON:
self.on_note_on(ch, midi1, midi2)
elif cin == _CIN_NOTE_OFF:
self.on_note_off(ch, midi1, midi2)
elif cin == _CIN_CONTROL_CHANGE:
self.on_control_change(ch, midi1, midi2)
elif cin == _CIN_PITCH_BEND: # <------------ Added these 4 lines
# Pitch bend combines two 7-bit values into a 14-bit unsigned integer
value = midi1 | (midi2 << 7)
self.on_pitch_bend(ch, value)
and
def on_pitch_bend(self, channel, value):
pass
To micropython/usb/examples/device/midi_example.py I added these lines:
def on_pitch_bend(self, ch, value):
"""Called when Pitch Bend is received. Value is an integer from 0 to 16383 (8192 is center)."""
normalized = value - 8192
print(f"PitchBend| Ch: {ch:<2} Raw: {value:<5} Relative to center: {normalized}")
Now when I move the pitchbend on my Arturia MiniLab MKII, it spits out a lot of pitchbend messages (every ~1ms). On a serial monitor, I see this:
After this, the Raspberry Pi Pico 2 hangs and I have to hit Thonny's "Stop/Restart backend" button twice to return/reset the Pico to the REPL.
It seems the rapid messages overflow a queue?
Paul
- Lingua principale
- Python
- Stelle
- 2.9k
- Fork
- 1.1k
- Merge medio
- 7g 4h
- PR unite (30g)
- 4
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di micropython/micropython-lib
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
micropython/micropython-lib#1074 ·
I maintainer di solito rispondono entro 4 giorni
-
needs-info
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
micropython/micropython-lib#943 · 1 commento ·
I maintainer di solito rispondono entro 4 giorni
-
"requests" does not handle redirection with relative path correctlyForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
micropython/micropython-lib#931 · 1 commento ·
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 62/100
micropython/micropython-lib#795 · 2 commenti ·
I maintainer di solito rispondono entro 4 giorni
-
webrepl: Support LAN as well as WLAN boards.Forse già presa @Romaric-RILLET l’ha presa 758 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
micropython/micropython-lib#762 ·
I maintainer di solito rispondono entro 4 giorni
Tutte le issue di micropython/micropython-lib
Issue simili
-
camlight produces degenerate target camera and light framesForse già presa @kavyabhand l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
google-deepmind/mujoco_warp#1743 ·
I maintainer di solito rispondono entro 1 giorno
-
netbird: Update to 0.80.0ApertaPackage: Update Request
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
getsolus/packages#10933 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[work-item] adam-adae-serious-events: pin missing-AESER filter semanticsForse già presa @muse-yamaa-bot l’ha presa oggi. Apertawork-item
Difficoltà 1/5 1-3 ore Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: Non-vision image fallback calls vision_analyze with an empty source for oversized inline images and tells the model the image is corruptForse già presa @liuhao1024 l’ha presa oggi. Apertacomp/agent P2 tool/vision type/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
NousResearch/hermes-agent#132605 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
pymc-labs/pymc-marketing#3102 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno