numworks / epsilon

Modern graphing calculator operating system.
https://www.numworks.com/resources/engineering/software/
1.75k stars 464 forks source link

Pressing shift or alpha during Python program execution will make the calculator slowing down #2070

Closed yannis300307 closed 1 year ago

yannis300307 commented 1 year ago

Describe the bug

When we press shift or alpha during the execution of a Python program, the calculator will slow down.

Screenshots

https://github.com/numworks/epsilon/assets/52321382/58e402bb-61fb-461a-930d-9173e2eaffa1

To Reproduce

Steps to reproduce the behavior:

  1. Go to the 'Python' app
  2. Start a program wich takes a long time to perform like 'mandelbrot'
  3. Press 'shift' or 'alpha' during the execution
  4. See error

Expected behavior

I don't really know why this bug is happening.

Environment

EmilieNumworks commented 1 year ago

This is a consequence of our keyboard matrix design. When you press shift or alpha, we cannot rely anymore on hardware interruptions on the corresponding column pins to detect new key events. This forces us to scan regularly the keyboard slowing down the whole run loop.

EmilieNumworks commented 1 year ago

Duplicate of #1971