aboutsummaryrefslogtreecommitdiff
path: root/puzzle/neo/index.dox
blob: 002ab47b5785b9c47cb0e686c5bf129fa330a757 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// vim:ft=doxygen
/**
\ingroup puz
\defgroup puz_neo Neo
\brief NeoTrellis puzzle module

\warning **This puzzle module does not work.**

\warning The NeoTrellis boards from Adafruit sometimes pull both the SDA and
SCL lines low after being addressed. This seems to consistently happen during
the first iteration of the main controller's state exchange loop after the
handshake wave has completed successfully.

\warning We have been unable to find the root cause of the issue, but suspect
the Adafruit boards themselves, as the I2C lines remain low even when the main
controller and Arduino are both disconnected. We did find that the \ref
puz_dummy "dummy puzzle module" produced similar behavior (pulling the I2C low
indefinitely) when attempting to write to the I2C bus from an I2C receive ISR
directly. The Adafruit boards use a different microcontroller and run
closed-source firmware, which made verifying whether this was the issue
impossible.

\warning We recommend future project groups design a custom button/LED matrix
board instead of using the NeoTrellis boards.

\par Setup
- Use the Arduino IDE library manager to install the "Adafruit seesaw Library"
	library and its dependencies

\warning There is another library named "Adafruit NeoTrellis M4 Library", this
is not the right library.

*/