There are SPI compatibility problems with the Adafruit_DotStar library for some of the newer Ardrino boards. Was hoping to take advantage of the much higher clock speed (64Mhz) of the newer board for doing high speed refresh of DotStar strips over SPI for POV applications.
-
Arduino board: Nano 33 BLE
-
Arduino IDE version: 1.8.13
-
List the steps to reproduce the problem below:
strandtest.txt
- Install Adafruit_DotStar library.
- Modified NUMPIXELS from 30 to 60
- commented out // Adafruit_DotStar strip(NUMPIXELS, DATAPIN, CLOCKPIN, DOTSTAR_BRG);
- uncommented Adafruit_DotStar strip(NUMPIXELS, DOTSTAR_BRG);
- Tried to compile/upload to a new Nano 33 BLE board. Recieved several errors shown below:
`Arduino: 1.8.13 (Windows 10), Board: "Arduino Nano 33 BLE"
C:\Users\karl\Documents\Arduino\libraries\Adafruit_DotStar\Adafruit_DotStar.cpp: In member function 'void Adafruit_DotStar::hw_spi_init()':
C:\Users\karl\Documents\Arduino\libraries\Adafruit_DotStar\Adafruit_DotStar.cpp:189:7: error: 'class arduino::MbedSPI' has no member named 'setClockDivider'
SPI.setClockDivider((F_CPU + 4000000L) / 8000000L); // 8-ish MHz on Due
^~~~~~~~~~~~~~~
C:\Users\karl\Documents\Arduino\libraries\Adafruit_DotStar\Adafruit_DotStar.cpp:189:24: error: 'F_CPU' was not declared in this scope
SPI.setClockDivider((F_CPU + 4000000L) / 8000000L); // 8-ish MHz on Due
^~~~~
C:\Users\karl\Documents\Arduino\libraries\Adafruit_DotStar\Adafruit_DotStar.cpp:189:24: note: suggested alternative: 'FPU'
SPI.setClockDivider((F_CPU + 4000000L) / 8000000L); // 8-ish MHz on Due
^~~~~
FPU
C:\Users\karl\Documents\Arduino\libraries\Adafruit_DotStar\Adafruit_DotStar.cpp:192:7: error: 'class arduino::MbedSPI' has no member named 'setBitOrder'
SPI.setBitOrder(MSBFIRST);
^~~~~~~~~~~
C:\Users\karl\Documents\Arduino\libraries\Adafruit_DotStar\Adafruit_DotStar.cpp:193:7: error: 'class arduino::MbedSPI' has no member named 'setDataMode'
SPI.setDataMode(SPI_MODE0);
^~~~~~~~~~~
exit status 1
Error compiling for board Arduino Nano 33 BLE.
`