I hope I understand the goal at this point, not good if I am wrong:
Let's hope I've got it all correct, I'm sure Moris526 will correct anything that is incorrect
EDit - added bit on tiling
- See this post first: https://python-forum.io/Thread-Stop-cont...#pid134234
- There are 32 neotrellis Boards (see: https://learn.adafruit.com/neotrellis-fe...y/overview )
and ( https://learn.adafruit.com/adafruit-neotrellis ) connected together to form an array of 512 buttons.
each is tiled as in: https://learn.adafruit.com/adafruit-neotrellis/tiling
- Current process (software) is polling each board to determine where a button was pressed.
This is very slow so it's possible to miss button presses.
- Morris 256 has tried to compensate for this by adding the Pi which has very fast MCU, I have attempted to
explain that the pi will not help, as there is a limit on how fast a finger can push a button. (In software
that I wrote (in 'C' 2008), I hound this to be somewhere around 125 - 200 ms, so resamples button down
button to compensate as for this delay, and also to reduce bounce).
- Moris526 is able to get I2C (from neotrellis) explained in post: https://python-forum.io/Thread-Stop-cont...#pid135407 but not getting data from all boards.
- Note that pin 5 of zero must be connected to interrupt pin of (tiled) neotrellis array in order to process with
without polling.
- On pi, determine which button on neotrellis array has been pressed, and connect I2C I/O of neotrellis to pi
see: https://learn.adafruit.com/adafruit-neot...ep-3002728 to Ableton Live
and https://www.ableton.com/, which Moris526 has already communicating with pi.
- What I am attempting to do:
- Bypass pi entirely (this is not where the bottleneck is occurring) by connection I2C from tiled neotrellis array
directly to an Adafruit board containing a Microchip MCP2221A I2c to USB converter directly to a PC ( Interrupt
driven ), deciphering content to pc (board and button, for unique button push on neotrellis 512 button array ).
- Create an event (on PC) that has corresponding function addresses for each of the 512 buttons
- Each function will contain additional code, provided by user, that will ultimately be sent to Ableton Live
(running on same PC).
- See this post for more info on parts that I have acquired: https://python-forum.io/Thread-Stop-cont...#pid134513
- MCP2221A pages on AdaFruit site:
https://www.adafruit.com/product/4471
https://learn.adafruit.com/circuitpython...th-mcp2221
Let's hope I've got it all correct, I'm sure Moris526 will correct anything that is incorrect
EDit - added bit on tiling