2021-07-12 08:24:11 +00:00
|
|
|
menu "I2C Port 0"
|
2021-07-08 09:04:07 +00:00
|
|
|
|
2021-07-12 08:24:11 +00:00
|
|
|
config I2C_MANAGER_0_ENABLED
|
|
|
|
bool "Enable I2C port 0"
|
|
|
|
|
|
|
|
if I2C_MANAGER_0_ENABLED
|
|
|
|
config I2C_MANAGER_0_SDA
|
|
|
|
int "SDA (GPIO pin)"
|
2021-10-15 13:37:36 +00:00
|
|
|
default 0
|
2021-07-12 08:24:11 +00:00
|
|
|
config I2C_MANAGER_0_SCL
|
|
|
|
int "SCL (GPIO pin)"
|
2021-10-15 13:37:36 +00:00
|
|
|
default 0
|
2021-07-12 08:24:11 +00:00
|
|
|
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
|
2021-07-08 09:04:07 +00:00
|
|
|
|
2021-07-12 08:24:11 +00:00
|
|
|
endmenu
|
2021-07-08 09:04:07 +00:00
|
|
|
|
|
|
|
|
2021-07-12 08:24:11 +00:00
|
|
|
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
|
2021-07-08 09:04:07 +00:00
|
|
|
|
|
|
|
endmenu
|