bigtreetech / EBB

474 stars 103 forks source link

I2C timeout error #12

Closed DrumClock closed 2 years ago

DrumClock commented 2 years ago

I connected an OLED 0,96" display to the I2C connector - EBB 42 CAN V1.2 connected via USB. This display is functional when connected to the I2C bus on the printer's motherboard.

klipper configuration:

[display oled_1]
display_group: _toolhead_0
lcd_type: ssd1306
i2c_mcu: EBBCan_0   # mcu EBBCan_0
i2c_bus: i2c1             # u'BUS_PINS_i2c1': u'PB6,PB7'
i2c_address: 60         # 0x3C
contrast: 230            # range from 0 to 256

Unfortunately, I still get a timeout error on the i2C. I tried SDA/SCL both PB3,PB4 and PB6,PB7.

ebb

i2c1

adr

Datasheet STM...

I2C1

i2c1

I2C2

i2c2

DrumClock commented 2 years ago

pull up resistors are not connected to the i2C bus! Even if I add them, there is still no communication between Kipper and EBB

MCU 'EBBCan0' shutdown: i2c timeout

klippy (10).log

ldr commented 1 year ago

hi, did you get this to work ? i am unable to use pb3/pb4 pins either on ebb42 board

DrumClock commented 1 year ago

Hi @ldr it works fine for me on two EBB42 boards. Do you have the current version of FW Klipper?

floodo1 commented 1 year ago

Also works fine for me (with recent firmware) when I specify the i2c pins:

[display ebb1106]
lcd_type: sh1106
i2c_mcu: EBBCan # The name of the micro-controller that the chip is connected to.
i2c_address: 60 # 0x3C
i2c_software_scl_pin: PB3
i2c_software_sda_pin: PB4

I believe i2c_bus cannot be used because pins PB3 and PB4 are defaulted to the SPI bus. Visible in the constants screenshot (under "BUS_PINS_spi3") and in Klipper source I2C and SPI

Note: I ran into errors until I realized the i2c address on the silkscreen of my OLED screen was wrong! PS- I'm using CAN connection