dvhdr / launchpad-pro

Open source firmware for the Launchpad Pro grid controller
BSD 3-Clause "New" or "Revised" License
444 stars 101 forks source link

"Interrupt" priority not clear - or are events queued? #59

Open pikablue opened 3 years ago

pikablue commented 3 years ago

Apologies for raising this as an issue, but I couldn't see it in the code. Basically, are the events handled by interrupt, or by queue? I seem to be missing events (midi, keypresses, etc.).

Firstly, can someone explain what the interrupt or queue handling priority is between all the various app_*_events, and app_init? In particular, do the app_*_events only start being called once app_init has completed, or is there an assumption about how long app_init might take to complete?

Secondly, are events queued or handled by interrupt?

Thanks,

..pika..

mat1jaczyyy commented 3 years ago

No one will answer this for you, but you can check it for yourself. In newer versions of the repo, the symbols are left out of launchpad_pro.a, but in the older they're compiled in (the file will be 16MB total).

Use that HAL instead and compile your firmware with -g -O0 and inspect the resulting firmware ELF file in IDA Pro or Ghidra, which will have full symbols from the HAL so you can see exactly what's going on for yourself