I2C Transmission Error
-
I've connected an Adafruit NeoPixel driver card correctly to the best of my ability, using the Duex I2C/GPIO header to provide 3.3V and ground, as well as the I2C clock & data pins. Unfortunately, while Adafruit provides comprehensive wiring information, they only provide some general information on communication with the card.
They do specify the card address as 0x60, and the NeoPixel "module base register" address as 0x0E (apparently the card uses a seesaw chip capable of many other functions besides NeoPixel control, and this module base register tells it which function to use).
Guessing, I though sending 0x0E to address 0x60 might be a way to test, and I converted to decimal to keep it simple, but this gives me a transmission error:
M260 A96 B14
I'm really not even sure what to try. I have no I2C experience (just a CS degree).
What should I do next to troubleshoot this?
-
Since I turned 61 I've been having this problem of reversing the clock and data wires, and things like that which produce transmission errors.
So now that I don't get that error, I have to figure out how to control the NeoPixels using I2C to the NeoDriver card. So far, whatever I do, the LEDs remain dormant.
-
@DonStauffer For the sake of documentation, I found that this macro lights the first LED white. I have not been able to find a way to specify hexadecimal that works, including the example in the M260 GCode dictionary entry (which gives an "expected a number" error); I can assign a hex value to a variable and use the variable in braces though, as in M260 A{var.Addr}... . Putting the hex literal in braces works too: M260 A{0x60} ...
M260 A96 B14:1:15 M260 A96 B14:2:1 M260 A96 B14:3:54:0 M260 A96 B14:4:0:0:255:255:255 ; Turn it on ;M260 A96 B14:4:0:0:0:0:0 ; Turn it off M260 A96 B14:5