Any idea on ESP32 WROVER what is wrong with the SPI Init?
This is loboris Micropython build with ESP32 and March 2017 date.
Tried to remove the SD card interface, as it is on SPI, no luck.
Code: Select all
from machine import Pin, SPI
sck=Pin(18)
miso=Pin(19)
mosi=Pin(23)
dc=Pin(32)
cs=Pin(33)
spi = SPI(1, baudrate=32000000, sck=sck, miso=miso, mosi=mosi)
>>> spi = machine.SPI(2, baudrate=32000000, sck=sck, mosi=mosi, miso=miso)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: SPI host must be HSPI(1), VSPI(2) used by SDCard driver
>>> spi = machine.SPI(SPI.VSPI, baudrate=32000000, sck=sck, mosi=mosi, miso=miso)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: SPI host must be HSPI(1), VSPI(2) used by SDCard driver
>>> spi = machine.SPI(SPI.HSPI, baudrate=32000000, sck=sck, mosi=mosi, miso=miso)
E (703027) gpio: gpio_set_direction(247): GPIO number error
E (703028) gpio: gpio_set_level(189): GPIO output gpio_num error
E (703030) spi_master: spi_bus_add_device(221): no free cs pins for host
E (703037) [SPI_UTILS]: Adding spi device failed with rc=0x105
E (703044) spi_master: spi_bus_free(178): not all CSses freed
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: no free slots
E (31511) gpio: gpio_set_direction(247): GPIO number error
E (31512) gpio: gpio_set_level(189): GPIO output gpio_num error
D (31515) intr_alloc: Connected src 30 to int 9 (cpu 1)
>>> spi = SPI(2, baudrate=32000000, sck=sck, miso=miso, mosi=mosi)
E (49901) gpio: gpio_set_direction(247): GPIO number error
E (49901) gpio: gpio_set_level(189): GPIO output gpio_num error
E (49903) spi_master: spi_bus_initialize(94): dma channel already in use
E (49910) [SPI_UTILS]: spi bus initialization failed with rc=0x103
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: invalid state
Now trying to put other pins:
>>> sck=Pin(25)
>>> miso=Pin(26)
>>> mosi=Pin(27)
>>> spi = SPI(1, baudrate=32000000, sck=sck, miso=miso, mosi=mosi)
E (240684) gpio: gpio_set_direction(247): GPIO number error
E (240684) gpio: gpio_set_level(189): GPIO output gpio_num error
Maybe SPIram / flash is using the DMA and not letting second SPI initialize?
Internal FS (SPIFFS): Mounted on partition 'internalfs' [size: 1048576; Flash address: 0x1F0000]
----------------
Filesystem size: 956416 B
Used: 512 B
Free: 955904 B
----------------
FreeRTOS running on BOTH CORES, MicroPython task running on both cores.
Running from Factory partition starting at 0x10000, [MicroPython].
Reset reason: Power on reset
uPY stack: 19456 bytes
uPY heap: 3073664/6096/3067568 bytes (in SPIRAM using heap_caps_malloc)
MicroPython ESP32_LoBo_v3.1.21 - 2017-03-03 on ESP32 board with ESP32
Type "help()" for more information.