JOB: MDBT42Q & MCP23017 Keyboard Matrix Scanning #26
Unanswered
espruino-discuss
asked this question in
Espruino Work
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Posted at 2020-08-30 by consolenaut
Thought I'd give the Espruino Jobs board a go to see if someone can give me a hand with a project I'm working on :)
I'm looking for a dev to write some code to scan a 4x16 matrix of keys using the Espruino MDBT42Q and an MCP23017 port expander chip.
The code should be split into a hardware handling module (communication with the MCP chip/driving the matrix/detecting state changes), and a metadata module (keeping track of if keys were pressed or released & how long they were pressed for, determining if they key was 'tapped' or 'held') which fires events.
The hardware handling module should:
The metadata module should:
Nice-to-haves:
I'm technical with a lot of commercial experience in Javascript & a decent amount with embedded code, but I'm super busy right now and some of this code is a little above my experience level (especially the NRF52 PPI). I can work with you to get this done or leave you to do it solo, whichever you prefer, and I'm pretty flexible on the requirements & implementation - if anything sounds crazy I'm open to a different approach :)
Reference:
Primer on keyboard matrix scanning: https://summivox.wordpress.com/2016/06/03/keyboard-matrix-scanning-and-debouncing/
Espruino NRF52 Programmable Peripheral Interconnect library: https://www.espruino.com/NRF52LL
Espruino MCP23017 library: https://www.espruino.com/MCP23xxx
Untested MCP23017 library with interrupt handling: http://forum.espruino.com/comments/14047043/
Beta Was this translation helpful? Give feedback.
All reactions