WIP: Use button_gestures module in ECG app
This MR is mostly for tracking purposes right now - it definitely depends on !304, and I'm happy to wait for !296 (merged) to go through as well before rebasing.
Merge request reports
Activity
Sorry, it looks like this Merge Request has some code quality issues!
The pipeline lint has failed - look at its failure output to understand what sort of diffs we'd like you to apply.
You can also use
tools/code-style.sh
to fix files that have issues.Good luck! I will update this comment when I detect you have applied your fixes.
While running this I got a
TypeError: 'tuple' object isn't callable TypeError: 'tuple' object isn't callable ... [ 39944] lifecycle: Payload returned with 255.
Later:
TypeError: 'float' object isn't callable TypeError: 'float' object isn't callable ... [ 351106] lifecycle: Payload returned with 255.
TypeError: 'list' object isn't callable
TypeError: 'tuple' object isn't callable TypeError: 'tuple' object isn't callable TypeError: 'tuple' object isn't callable TypeError: 'tuple' object isn't callable TypeError: 'tuple' object isn't callable TypeError: 'tuple' object isn't callable TypeError: 'tuple' object isn't callable TypeError: 'tuple' object isn't callable TypeError: 'tuple' object isn't callable TypeError: 'tuple' object isn't callable TypeError: 'tuple' object isn't callable TypeError: 'tuple' object isn't callable TypeError: 'tuple' object isn't callable TypeError: 'tuple' object isn't callable TypeError: 'tuple' object isn't callable TypeError: 'tuple' object isn't callable TypeError: 'tuple' object isn't callable TypeError: 'tuple' object isn't callable TypeError: 'tuple' object isn't callable [ 500250] max30001: queue full [ 500301] max30001: queue full [ 500352] max30001: queue full
Not sure where or why or if that has even been introduced by this PR. I was simply playing around with the buttons, trying to crash the app.
Damn, I came across this as well during testing, but thought I had worked around it by stripping down the ECG callback to a bare minimum. I doubt these objects are being called from python code directly - for one because there's no stack trace, and secondly because the types of the objects vary wildly, I can't think of any place in the code that would cause such behaviour. The symptoms smell more like (python) stack corruption or something similarly gnarly to me. My first suspicion falls on the asynchronous interrupt callback business, the only other thing I can think of that the new module does differently is that it uses a bunch of generators and
yield
s.Could someone with a core 1 debugger try trapping on objtype.c:871 and runtime.c:631? The backtrace from there might shine some light on the matter.
added 3 - Preload 6 - Needs Review labels
Blocked on !296 (merged) and !304 atm.
added 9-Blocked label