Skip to content

nRF52 RotaryIO: raise error when more than 4 encoders are used #5211

@jpconstantineau

Description

@jpconstantineau

I have a small macropad that has 5 rotary encoders. It appears that CircuitPython has a hardcoded limit of 4 rotary encoders to be setup on the nRF52840. (I use a BlueMicro840).

I created a test program to track the position of all 5 encoders. In the first iteration of the program, I initialize 5 encoders in sequence 1,2,3,4,5 and the 5th one doesn't respond.
In the second iteration, I moved the initializer for encoder 5 up to be between 3 and 4 (1,2,3,5,4). In this sequence, it's the 4th one that didn't respond.

It would be nice to be able to configure the maximum number of rotary encoders to be initialized. I understand that 4 is a reasonable limit for most users but with keyboards and more users looking at HID, I suspect that this will be a parameter that might need to be exposed.

Could it be added into boot.py and not at CP compile time (i.e. hardcoded)?

macropad in question: miniMacro5

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions