mirror of
https://github.com/arendst/Tasmota.git
synced 2026-07-28 04:15:53 +00:00
ESP8266 enable second I2C bus
This commit is contained in:
+1
-2
@@ -5,13 +5,13 @@ All notable changes to this project will be documented in this file.
|
||||
|
||||
## [15.3.0.2]
|
||||
### Added
|
||||
- ESP8266 redesigned I2C Wire driver to support second I2C bus
|
||||
- Environment sensors CCS811, SGP30 and SGP40 second I2C bus support
|
||||
- Real Time Clocks BM8563, PCF85063 and PCF85363 second I2C bus support
|
||||
|
||||
### Breaking Changed
|
||||
|
||||
### Changed
|
||||
- ESP8266 redesigned I2C Wire driver to support second I2C bus
|
||||
- Adafruit_BusIO library from v1.11.0 to v1.17.4
|
||||
- Adafruit_CCS811 library from v1.0.0.14 to v1.1.3
|
||||
- Adafruit SGP30 library from v1.2.0 to v2.0.3
|
||||
@@ -142,7 +142,6 @@ All notable changes to this project will be documented in this file.
|
||||
- Berry `tasmota.micros()` to get time in microseconds (#24192)
|
||||
- Support for AGS02MA TVOC sensor (#24109)
|
||||
|
||||
## [15.0.1.5] 20251011
|
||||
### Changed
|
||||
- ESP32 Platform from 2025.11.30 to 2025.11.31, Framework (Arduino Core) from v3.1.5 to v3.1.6 and IDF from v5.3.4.251110 to v5.3.4.251110 (#24146)
|
||||
- Refactored DALI using TasmotaDali library v1.0.0 adding frame receive buffer
|
||||
|
||||
+1
-1
@@ -117,6 +117,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm
|
||||
- Support for JSON value pair `"ARCH"` in template being either ESP8266, ESP32, ESP32C2, ESP32C3, ESP32C5, ESP32C6, ESP32H2, ESP32H4, ESP32P4, ESP32S2 or ESP32S3
|
||||
- Support for Sensirion SCD42 and SCD43 CO2 sensor
|
||||
- Support for Sensirion STCC4 CO2 sensor
|
||||
- ESP8266 redesigned I2C Wire driver to support second I2C bus
|
||||
- Environment sensors CCS811, SGP30 and SGP40 second I2C bus support
|
||||
- Real Time Clocks BM8563, PCF85063 and PCF85363 second I2C bus support
|
||||
- I2S full duplex, auto rx sample rate [#24469](https://github.com/arendst/Tasmota/issues/24469)
|
||||
@@ -129,7 +130,6 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm
|
||||
- Adafruit SGP40 library from v1.1.0 to v1.1.4
|
||||
- Sensirion Core library from v0.6.0 to v0.7.2
|
||||
- LVGL library from v9.4.0 to v9.5.0 [#24470](https://github.com/arendst/Tasmota/issues/24470)
|
||||
- ESP8266 redesigned I2C Wire driver to support second I2C bus
|
||||
- SHT1x software reset I2C bus after initial (un)detection
|
||||
- Matter improved parameters handling [#24471](https://github.com/arendst/Tasmota/issues/24471)
|
||||
|
||||
|
||||
@@ -33,14 +33,14 @@ extern "C"
|
||||
|
||||
/*** so bad ****/
|
||||
// https://github.com/esp8266/Arduino/issues/3063#issuecomment-786266957
|
||||
#define MAX_TWI_INSTANCES 5
|
||||
#define MAX_TWI_INSTANCES 2
|
||||
typedef void (*fn_timer)(void *);
|
||||
typedef void (*fn_event)(ETSEvent *e);
|
||||
typedef void (*fn_sclChange)();
|
||||
typedef void (*fn_sdaChange)();
|
||||
|
||||
int timers = 0;
|
||||
Twi *twi_instances[5];
|
||||
Twi *twi_instances[2];
|
||||
void ICACHE_RAM_ATTR timer0(void *n)
|
||||
{
|
||||
twi_instances[0]->onTimer(n);
|
||||
@@ -49,18 +49,6 @@ void ICACHE_RAM_ATTR timer1(void *n)
|
||||
{
|
||||
twi_instances[1]->onTimer(n);
|
||||
}
|
||||
void ICACHE_RAM_ATTR timer2(void *n)
|
||||
{
|
||||
twi_instances[2]->onTimer(n);
|
||||
}
|
||||
void ICACHE_RAM_ATTR timer3(void *n)
|
||||
{
|
||||
twi_instances[3]->onTimer(n);
|
||||
}
|
||||
void ICACHE_RAM_ATTR timer4(void *n)
|
||||
{
|
||||
twi_instances[4]->onTimer(n);
|
||||
}
|
||||
void eventTask0(ETSEvent *e)
|
||||
{
|
||||
twi_instances[0]->eventTask(e);
|
||||
@@ -69,18 +57,6 @@ void eventTask1(ETSEvent *e)
|
||||
{
|
||||
twi_instances[1]->eventTask(e);
|
||||
}
|
||||
void eventTask2(ETSEvent *e)
|
||||
{
|
||||
twi_instances[2]->eventTask(e);
|
||||
}
|
||||
void eventTask3(ETSEvent *e)
|
||||
{
|
||||
twi_instances[3]->eventTask(e);
|
||||
}
|
||||
void eventTask4(ETSEvent *e)
|
||||
{
|
||||
twi_instances[4]->eventTask(e);
|
||||
}
|
||||
|
||||
void ICACHE_RAM_ATTR sclChange0()
|
||||
{
|
||||
@@ -102,40 +78,10 @@ void ICACHE_RAM_ATTR sdaChange1()
|
||||
twi_instances[1]->onSdaChange();
|
||||
}
|
||||
|
||||
void ICACHE_RAM_ATTR sclChange2()
|
||||
{
|
||||
twi_instances[2]->onSclChange();
|
||||
}
|
||||
|
||||
void ICACHE_RAM_ATTR sdaChange2()
|
||||
{
|
||||
twi_instances[2]->onSdaChange();
|
||||
}
|
||||
|
||||
void ICACHE_RAM_ATTR sclChange3()
|
||||
{
|
||||
twi_instances[3]->onSclChange();
|
||||
}
|
||||
|
||||
void ICACHE_RAM_ATTR sdaChange3()
|
||||
{
|
||||
twi_instances[3]->onSdaChange();
|
||||
}
|
||||
|
||||
void ICACHE_RAM_ATTR sclChange4()
|
||||
{
|
||||
twi_instances[4]->onSclChange();
|
||||
}
|
||||
|
||||
void ICACHE_RAM_ATTR sdaChange4()
|
||||
{
|
||||
twi_instances[4]->onSdaChange();
|
||||
}
|
||||
|
||||
fn_event twi_eventTasks[] = {&eventTask0, &eventTask1, &eventTask2, &eventTask3, &eventTask4};
|
||||
fn_sclChange twi_sdaChanges[] = {&sdaChange0, &sdaChange1, &sdaChange2, &sdaChange3, &sdaChange4};
|
||||
fn_sdaChange twi_sclChanges[] = {&sclChange0, &sclChange1, &sclChange2, &sclChange3, &sclChange4};
|
||||
fn_timer twi_timers[] = {&timer0, &timer1, &timer2, &timer3, &timer4};
|
||||
fn_event twi_eventTasks[] = {&eventTask0, &eventTask1};
|
||||
fn_sclChange twi_sdaChanges[] = {&sdaChange0, &sdaChange1};
|
||||
fn_sdaChange twi_sclChanges[] = {&sclChange0, &sclChange1};
|
||||
fn_timer twi_timers[] = {&timer0, &timer1};
|
||||
|
||||
fn_timer getTimer(Twi *obj)
|
||||
{
|
||||
|
||||
@@ -117,6 +117,8 @@ const char WIFI_HOSTNAME[] = WIFI_DEFAULT_HOSTNAME; // Override by user_confi
|
||||
#define ARDUINO_CORE_RELEASE "2.7.8"
|
||||
#endif // ARDUINO_ESP8266_RELEASE
|
||||
|
||||
#define USE_I2C_BUS2 // Add support for second I2C bus on ESP8266
|
||||
|
||||
#ifndef USE_ADC_VCC
|
||||
#define USE_ADC
|
||||
#else
|
||||
|
||||
@@ -644,7 +644,6 @@
|
||||
#define I2CDRIVERS_128_159 0xFFFFFFFF // Enable I2CDriver128 to I2CDriver159
|
||||
|
||||
#ifdef USE_I2C
|
||||
// #define USE_I2C_BUS2 // Add experimental support for second I2C bus on ESP8266 (+0k6k code)
|
||||
// #define USE_SHT // [I2cDriver8] Enable SHT1X sensor (+1k4 code)
|
||||
// #define USE_HTU // [I2cDriver9] Enable HTU21/SI7013/SI7020/SI7021 sensor (I2C address 0x40) (+1k5 code)
|
||||
// #define USE_BMP // [I2cDriver10] Enable BMP085/BMP180/BMP280/BME280 sensors (I2C addresses 0x76 and 0x77) (+4k4 code)
|
||||
|
||||
Reference in New Issue
Block a user