99 lines
3.1 KiB
Text
99 lines
3.1 KiB
Text
|
menu "I2C Port 0"
|
||
|
|
||
|
config I2C_MANAGER_0_ENABLED
|
||
|
bool "Enable I2C port 0"
|
||
|
|
||
|
if I2C_MANAGER_0_ENABLED
|
||
|
config I2C_MANAGER_0_SDA
|
||
|
int "SDA (GPIO pin)"
|
||
|
default 0
|
||
|
config I2C_MANAGER_0_SCL
|
||
|
int "SCL (GPIO pin)"
|
||
|
default 0
|
||
|
config I2C_MANAGER_0_FREQ_HZ
|
||
|
int "Frequency (Hz)"
|
||
|
default 400000
|
||
|
range 100000 5000000
|
||
|
help
|
||
|
The clock speed in Hz. Ranges from 100000 (100 kHz) to
|
||
|
5000000 (5 Mhz). I2C busses that involve external wires may
|
||
|
have to be slower, and the real maximum speed the bus will
|
||
|
support depends on the value of the pullup resistors and the
|
||
|
design of the overall circuit.
|
||
|
config I2C_MANAGER_0_TIMEOUT
|
||
|
int "R/W timeout (ms)"
|
||
|
default 20
|
||
|
range 10 1000
|
||
|
help
|
||
|
Timeout for I2C read and write operations. This does not
|
||
|
include the time waiting for a lock.
|
||
|
config I2C_MANAGER_0_LOCK_TIMEOUT
|
||
|
int "Stale lock override (ms)"
|
||
|
default 50
|
||
|
range 10 1000
|
||
|
help
|
||
|
Timeout at which point an operation waiting for its turn on
|
||
|
the port will assume that whatever set the lock has died and
|
||
|
overrides it. Set this somewhat larger than the previous
|
||
|
timeout.
|
||
|
config I2C_MANAGER_0_PULLUPS
|
||
|
bool "Use ESP32 built-in bus pull-up resistors"
|
||
|
help
|
||
|
The I2C bus needs resistors to make sure it's in a defined
|
||
|
state when nobody is talking. Many circuits have external
|
||
|
pullup resistors already and turning these on will increase
|
||
|
power consumption slightly and may limit the speed your bus
|
||
|
can attain. Try with these off first if you don't know.
|
||
|
endif
|
||
|
|
||
|
endmenu
|
||
|
|
||
|
|
||
|
menu "I2C Port 1"
|
||
|
|
||
|
config I2C_MANAGER_1_ENABLED
|
||
|
bool "Enable I2C port 1"
|
||
|
|
||
|
if I2C_MANAGER_1_ENABLED
|
||
|
config I2C_MANAGER_1_SDA
|
||
|
int "SDA (GPIO pin)"
|
||
|
config I2C_MANAGER_1_SCL
|
||
|
int "SCL (GPIO pin)"
|
||
|
config I2C_MANAGER_1_FREQ_HZ
|
||
|
int "Frequency (Hz)"
|
||
|
default 1000000
|
||
|
range 100000 5000000
|
||
|
help
|
||
|
The clock speed in Hz. Ranges from 100000 (100 kHz) to
|
||
|
5000000 (5 Mhz). I2C busses that involve external wires may
|
||
|
have to be slower, and the real maximum speed the bus will
|
||
|
support depends on the value of the pullup resistors and the
|
||
|
design of the overall circuit.
|
||
|
config I2C_MANAGER_1_TIMEOUT
|
||
|
int "R/W timeout (ms)"
|
||
|
default 20
|
||
|
range 10 1000
|
||
|
help
|
||
|
Timeout for I2C read and write operations. This does not
|
||
|
include the time waiting for a lock. Default should be fine.
|
||
|
config I2C_MANAGER_1_LOCK_TIMEOUT
|
||
|
int "Stale lock override (ms)"
|
||
|
default 50
|
||
|
help
|
||
|
Timeout at which point an operation waiting for its turn on
|
||
|
the port will assume that whatever set the lock has died and
|
||
|
overrides it. Set this somewhat larger than the previous
|
||
|
timeout. Default should be fine.
|
||
|
range 30 1000
|
||
|
config I2C_MANAGER_1_PULLUPS
|
||
|
bool "Use ESP32 built-in bus pull-up resistors"
|
||
|
help
|
||
|
The I2C bus needs resistors to make sure it's in a defined
|
||
|
state when nobody is talking. Many circuits have external
|
||
|
pullup resistors already and turning these on will increase
|
||
|
power consumption slightly and may limit the speed your bus
|
||
|
can attain. Try with these off first if you don't know.
|
||
|
endif
|
||
|
|
||
|
endmenu
|