So I'm using SP1 on pin A7 and here's what I'm observing.
Just using the code from the examples:
SPI1.setup({baud:3200000, mosi:A7}); // All good here
// Per the tutorial, the following should make LED1 red;
// but our WS2812 string is addressed GRB, not RGB, so it should be GREEN.
// Oddly it becomes BLUE.
SPI1.send4bit([255, 0, 0], 0b0001, 0b0011);
// As noted above, our LED string is addressed as GRB when on B15 (this works fine).
// Below it gets weird in that this line makes LED2 GREEN (not LED1 RED).
// In other words, I've discovered on SPI1 A7 we cannot set the first two bytes.
// Everything is shifted two bytes over.
SPI1.send4bit([0, 255, 0], 0b0001, 0b0011); // Should be LED1 RED, but it's not!
// So the above is really functioning as
SPI1.send4bit([x, x, 0, 255, 0, 0], 0b0001, 0b0011); // Where x are the untouchable bytes.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
So I'm using SP1 on pin A7 and here's what I'm observing.
Just using the code from the examples:
SPI1.setup({baud:3200000, mosi:A7}); // All good here
// Per the tutorial, the following should make LED1 red;
// but our WS2812 string is addressed GRB, not RGB, so it should be GREEN.
// Oddly it becomes BLUE.
SPI1.send4bit([255, 0, 0], 0b0001, 0b0011);
// As noted above, our LED string is addressed as GRB when on B15 (this works fine).
// Below it gets weird in that this line makes LED2 GREEN (not LED1 RED).
// In other words, I've discovered on SPI1 A7 we cannot set the first two bytes.
// Everything is shifted two bytes over.
SPI1.send4bit([0, 255, 0], 0b0001, 0b0011); // Should be LED1 RED, but it's not!
// So the above is really functioning as
SPI1.send4bit([x, x, 0, 255, 0, 0], 0b0001, 0b0011); // Where x are the untouchable bytes.