Hi Alan, I've modified my defconfig file so that it looks almost exactly the same as the one you mentioned. I'm attaching it to this email so that you can have a look at it.
Regarding the I2C address, I've used i2ctool and confirmed that the OLED display is discoverable and reachable at 0x3c. This is also consistent with the behaviour I've experienced - the ssd1306_sendbyte commands do not fail, it's only the block transfers that cause the issue. Thank you, Robert On Wed, 9 Nov 2022 at 14:33, Alan C. Assis <acas...@gmail.com> wrote: > Hi Robert, > > I suggest you to verify if all needed options for SSD1306 are met, you > can compare with other boards, i.e.: > > arm/rp2040/raspberrypi-pico-w/configs/ssd1306/defconfig > > Also you can enable the i2ctool (CONFIG_SYSTEM_I2CTOOL) to scan your > I2C bus to confirm the I2C OLED address. > > BR, > > Alan > > On 11/9/22, Robert Alexa <robertalexa2...@gmail.com> wrote: > > Hi, > > > > I'm trying to set up an OLED SSD1306 128x32 display with an ESP32-Wrover > > board. The display module is connected through I2C and has only 4 pins > > exposed: SCL, SDA, VCC, GND. > > > > My custom config file starts from an esp32-wrover-kit:nsh to which I > added: > > CONFIG_LCD=y > > CONFIG_LCD_DEV=y > > CONFIG_LCD_SSD1306_CUSTOM=y > > CONFIG_LCD_SSD1306_CUSTOM_DEV_NATIVE_XRES=128 > > CONFIG_LCD_SSD1306_CUSTOM_DEV_NATIVE_YRES=32 > > CONFIG_LCD_SSD1306_CUSTOM_DEV_XOFFSET=0 > > CONFIG_LCD_SSD1306_CUSTOM_DEV_PAGES=4 > > CONFIG_LCD_SSD1306_CUSTOM_DEV_CMNPAD=2 > > CONFIG_LCD_SSD1306=y > > CONFIG_SSD1306_NUMDEVS=1 > > > > However, I'm encountering an issue at boot time regarding the I2C block > > transfer. > > ssd1306_setpower: power: 1 [0] > > ssd1306_sendblk: ERROR: I2C_TRANSFER failed: -116 > > board_lcd_initialize: Bound I2C0 to OLED 0 > > ssd1306_setpower: power: 1 [0] > > ssd1306_getplaneinfo: planeno: 0 bpp: 1 > > > > Interesting enough, it seems like the single transfer (ssd1306_sendbyte) > is > > working fine, the problem is only with the block transfer. Do you have > any > > ideas what might cause this? > > > > Regards, > > Robert > > >
# # This file is autogenerated: PLEASE DO NOT EDIT IT. # # You can use "make menuconfig" to make any modifications to the installed .config file. # You can then do "make savedefconfig" to generate a new defconfig file that includes your # modifications. # # CONFIG_ARCH_LEDS is not set # CONFIG_ESP32_SPI2_DMA is not set # CONFIG_EXAMPLES_NXLINES_DEFAULT_COLORS is not set # CONFIG_LIBC_LONG_LONG is not set # CONFIG_NSH_ARGCAT is not set # CONFIG_NSH_CMDOPT_HEXDUMP is not set # CONFIG_NSH_DISABLE_DATE is not set # CONFIG_NSH_DISABLE_LOSMART is not set # CONFIG_NX_DISABLE_1BPP is not set # CONFIG_NX_PACKEDMSFIRST is not set # CONFIG_STANDARD_SERIAL is not set # CONFIG_SPI_EXCHANGE is not set CONFIG_ARCH="xtensa" CONFIG_ARCH_BOARD="esp32-sparrow-kit" CONFIG_ARCH_BOARD_COMMON=y CONFIG_ARCH_BOARD_ESP32_SPARROWKIT=y CONFIG_ARCH_CHIP="esp32" CONFIG_ARCH_CHIP_ESP32=y CONFIG_ARCH_CHIP_ESP32WROVER=y CONFIG_ARCH_STACKDUMP=y CONFIG_ARCH_XTENSA=y CONFIG_BOARD_LOOPSPERMSEC=16717 CONFIG_BUILTIN=y CONFIG_DISABLE_POSIX_TIMERS=y CONFIG_ESP32_I2C0=y CONFIG_ESP32_I2C0_SCLPIN=22 CONFIG_ESP32_I2C0_SDAPIN=21 CONFIG_ESP32_UART0=y CONFIG_EXAMPLES_HELLO=y CONFIG_EXAMPLES_NX=y CONFIG_EXAMPLES_NXDEMO=y CONFIG_EXAMPLES_NXHELLO=y CONFIG_EXAMPLES_NXHELLO_BPP=1 CONFIG_EXAMPLES_NXLINES=y CONFIG_EXAMPLES_NXLINES_BORDERWIDTH=1 CONFIG_EXAMPLES_NXLINES_BPP=1 CONFIG_EXAMPLES_NXLINES_LINECOLOR=0xff CONFIG_EXAMPLES_NXLINES_LINEWIDTH=1 CONFIG_EXAMPLES_NX_BPP=1 CONFIG_FAT_LCNAMES=y CONFIG_FAT_LFN=y CONFIG_FS_FAT=y CONFIG_FS_PROCFS=y CONFIG_FS_PROCFS_REGISTER=y CONFIG_HAVE_CXX=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_IDLETHREAD_STACKSIZE=3072 CONFIG_INIT_ENTRYPOINT="nsh_main" CONFIG_LCD=y CONFIG_LCD_DEV=y CONFIG_LCD_FRAMEBUFFER=y CONFIG_LCD_MAXCONTRAST=255 CONFIG_LCD_SSD1306_CUSTOM=y CONFIG_LCD_SSD1306_I2C=y CONFIG_MQ_MAXMSGSIZE=64 CONFIG_NFILE_DESCRIPTORS_PER_BLOCK=6 CONFIG_NSH_ARCHINIT=y CONFIG_NSH_BUILTIN_APPS=y CONFIG_NSH_READLINE=y CONFIG_NX=y CONFIG_NXFONTS_PACKEDMSFIRST=y CONFIG_NXFONT_SANS20X26=y CONFIG_NX_BLOCKING=y CONFIG_RAM_SIZE=114688 CONFIG_RAM_START=0x20000000 CONFIG_RR_INTERVAL=200 CONFIG_SCHED_WAITPID=y CONFIG_SENSORS=y CONFIG_SENSORS_LTR308=y CONFIG_START_DAY=6 CONFIG_START_MONTH=12 CONFIG_START_YEAR=2011 CONFIG_SYSTEM_I2CTOOL=y CONFIG_SYSTEM_NSH=y CONFIG_TESTING_GETPRIME=y CONFIG_TESTING_OSTEST=y CONFIG_UART0_SERIAL_CONSOLE=y