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

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

Open
pikablue opened this issue Dec 19, 2020 · 1 comment
Open

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

pikablue opened this issue Dec 19, 2020 · 1 comment

Comments

@pikablue
Copy link

pikablue commented Dec 19, 2020

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?

  • If code in app_timer_event takes longer than 1ms to execute, what happens? Does a queue fill up, or are the next 1ms timer events simply not queued?
  • If code in app_timer_event (or app_surface_event, or app_aftertouch_event or app_midi_event) is executing when another event occurs, what happens?
  • How long is the queue?

Thanks,

..pika..

@mat1jaczyyy
Copy link

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

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

No branches or pull requests

2 participants