Can someone please confirm that the Adafruit 1.8" TFT display board is not fully compatible with the Nano 33 BLE? The GFX libraries work fine but the ImageReader library will not compile due to out-of-scope pin definitions for:
PIN_QSPI_SCK
PIN_QSPI_CS
PIN_QSPI_IO0
PIN_QSPI_IO1
PIN_QSPI_IO2
PIN_QSPI_IO3
I've searched through all the dependent libraries and believe the issue is with Adafruit_FlashTransport_QSPI_NRF.cpp. A constructor in that file uses these pin definitions and fails due to out of scope. Here is an example error for one 0f the pins:
/Users/evanthayer/Documents/Arduino/libraries/Adafruit_SPIFlash/src/qspi/Adafruit_FlashTransport_QSPI_NRF.cpp: In constructor 'Adafruit_FlashTransport_QSPI::Adafruit_FlashTransport_QSPI()':
/Users/evanthayer/Documents/Arduino/libraries/Adafruit_SPIFlash/src/qspi/Adafruit_FlashTransport_QSPI_NRF.cpp:42:36: error: 'PIN_QSPI_SCK' was not declared in this scope
: Adafruit_FlashTransport_QSPI(PIN_QSPI_SCK, PIN_QSPI_CS, PIN_QSPI_IO0,
Am I chasing my tail? Is there a fundamental compatibility issue here?
Thanks!
Evan
Adafruit 1.8" TFT Display Incompatible with Nano 33 BLE
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- GoodBetterBest
- Posts: 3
- Joined: Fri Jun 03, 2022 2:59 pm
- dastels
- Posts: 15653
- Joined: Tue Oct 20, 2015 3:22 pm
Re: Adafruit 1.8" TFT Display Incompatible with Nano 33 BLE
The nano33ble doesn't appear to have any QSPI flash. All Adafruit's nRF52840 boards do, so my guess is that an nRF52840 is assumed to have QSPI flash. Can you give more of the error trace so as to provide a bit more context?
Dave
Dave
- GoodBetterBest
- Posts: 3
- Joined: Fri Jun 03, 2022 2:59 pm
Re: Adafruit 1.8" TFT Display Incompatible with Nano 33 BLE
Hi Dave,
Thanks for responding! Here is the full error trace from the failed compilation of Adafruit ImageReader example sketch BreakoutST7735-160x128.ino:
--------------------
--------------------
Thanks!
Evan
Thanks for responding! Here is the full error trace from the failed compilation of Adafruit ImageReader example sketch BreakoutST7735-160x128.ino:
--------------------
Code: Select all
/Users/evanthayer/Documents/Arduino/libraries/Adafruit_SPIFlash/src/qspi/Adafruit_FlashTransport_QSPI_NRF.cpp: In constructor 'Adafruit_FlashTransport_QSPI::Adafruit_FlashTransport_QSPI()':
/Users/evanthayer/Documents/Arduino/libraries/Adafruit_SPIFlash/src/qspi/Adafruit_FlashTransport_QSPI_NRF.cpp:42:36: error: 'PIN_QSPI_SCK' was not declared in this scope
: Adafruit_FlashTransport_QSPI(PIN_QSPI_SCK, PIN_QSPI_CS, PIN_QSPI_IO0,
^~~~~~~~~~~~
/Users/evanthayer/Documents/Arduino/libraries/Adafruit_SPIFlash/src/qspi/Adafruit_FlashTransport_QSPI_NRF.cpp:42:36: note: suggested alternative: 'PIN_SPI_SCK'
: Adafruit_FlashTransport_QSPI(PIN_QSPI_SCK, PIN_QSPI_CS, PIN_QSPI_IO0,
^~~~~~~~~~~~
PIN_SPI_SCK
/Users/evanthayer/Documents/Arduino/libraries/Adafruit_SPIFlash/src/qspi/Adafruit_FlashTransport_QSPI_NRF.cpp:42:50: error: 'PIN_QSPI_CS' was not declared in this scope
: Adafruit_FlashTransport_QSPI(PIN_QSPI_SCK, PIN_QSPI_CS, PIN_QSPI_IO0,
^~~~~~~~~~~
/Users/evanthayer/Documents/Arduino/libraries/Adafruit_SPIFlash/src/qspi/Adafruit_FlashTransport_QSPI_NRF.cpp:42:50: note: suggested alternative: 'PIN_SPI_SS'
: Adafruit_FlashTransport_QSPI(PIN_QSPI_SCK, PIN_QSPI_CS, PIN_QSPI_IO0,
^~~~~~~~~~~
PIN_SPI_SS
/Users/evanthayer/Documents/Arduino/libraries/Adafruit_SPIFlash/src/qspi/Adafruit_FlashTransport_QSPI_NRF.cpp:42:63: error: 'PIN_QSPI_IO0' was not declared in this scope
: Adafruit_FlashTransport_QSPI(PIN_QSPI_SCK, PIN_QSPI_CS, PIN_QSPI_IO0,
^~~~~~~~~~~~
/Users/evanthayer/Documents/Arduino/libraries/Adafruit_SPIFlash/src/qspi/Adafruit_FlashTransport_QSPI_NRF.cpp:42:63: note: suggested alternative: 'PIN_SPI_MISO'
: Adafruit_FlashTransport_QSPI(PIN_QSPI_SCK, PIN_QSPI_CS, PIN_QSPI_IO0,
^~~~~~~~~~~~
PIN_SPI_MISO
/Users/evanthayer/Documents/Arduino/libraries/Adafruit_SPIFlash/src/qspi/Adafruit_FlashTransport_QSPI_NRF.cpp:43:36: error: 'PIN_QSPI_IO1' was not declared in this scope
PIN_QSPI_IO1, PIN_QSPI_IO2, PIN_QSPI_IO3) {}
^~~~~~~~~~~~
/Users/evanthayer/Documents/Arduino/libraries/Adafruit_SPIFlash/src/qspi/Adafruit_FlashTransport_QSPI_NRF.cpp:43:36: note: suggested alternative: 'PIN_SPI_MISO'
PIN_QSPI_IO1, PIN_QSPI_IO2, PIN_QSPI_IO3) {}
^~~~~~~~~~~~
PIN_SPI_MISO
/Users/evanthayer/Documents/Arduino/libraries/Adafruit_SPIFlash/src/qspi/Adafruit_FlashTransport_QSPI_NRF.cpp:43:50: error: 'PIN_QSPI_IO2' was not declared in this scope
PIN_QSPI_IO1, PIN_QSPI_IO2, PIN_QSPI_IO3) {}
^~~~~~~~~~~~
/Users/evanthayer/Documents/Arduino/libraries/Adafruit_SPIFlash/src/qspi/Adafruit_FlashTransport_QSPI_NRF.cpp:43:50: note: suggested alternative: 'PIN_SPI_MISO'
PIN_QSPI_IO1, PIN_QSPI_IO2, PIN_QSPI_IO3) {}
^~~~~~~~~~~~
PIN_SPI_MISO
/Users/evanthayer/Documents/Arduino/libraries/Adafruit_SPIFlash/src/qspi/Adafruit_FlashTransport_QSPI_NRF.cpp:43:64: error: 'PIN_QSPI_IO3' was not declared in this scope
PIN_QSPI_IO1, PIN_QSPI_IO2, PIN_QSPI_IO3) {}
^~~~~~~~~~~~
/Users/evanthayer/Documents/Arduino/libraries/Adafruit_SPIFlash/src/qspi/Adafruit_FlashTransport_QSPI_NRF.cpp:43:64: note: suggested alternative: 'PIN_SPI_MISO'
PIN_QSPI_IO1, PIN_QSPI_IO2, PIN_QSPI_IO3) {}
^~~~~~~~~~~~
PIN_SPI_MISO
/Users/evanthayer/Documents/Arduino/libraries/Adafruit_SPIFlash/src/qspi/Adafruit_FlashTransport_QSPI_NRF.cpp: In member function 'virtual void Adafruit_FlashTransport_QSPI::begin()':
/Users/evanthayer/Documents/Arduino/libraries/Adafruit_SPIFlash/src/qspi/Adafruit_FlashTransport_QSPI_NRF.cpp:63:35: error: 'g_ADigitalPinMap' was not declared in this scope
.sck_pin = (uint8_t)g_ADigitalPinMap[_sck],
^~~~~~~~~~~~~~~~
exit status 1
Compilation error: exit status 1
Thanks!
Evan
- GoodBetterBest
- Posts: 3
- Joined: Fri Jun 03, 2022 2:59 pm
Re: Adafruit 1.8" TFT Display Incompatible with Nano 33 BLE
Additionally, and this may show tautologically that the board is not compatible, I switched the IDE to the AVR regular Arduino Nano and the example sketch quickly compiled with no issue.
- dastels
- Posts: 15653
- Joined: Tue Oct 20, 2015 3:22 pm
Re: Adafruit 1.8" TFT Display Incompatible with Nano 33 BLE
Right. The AVR MCUs just support SPI flash, not QSPI. From the code it seems that only nRF and SAMD boards support QSPI (and it has to be supported by the board support package as well). Again, Adafruit libraries are designed primarily for Adafruit hardware.
Dave
Dave
Please be positive and constructive with your questions and comments.