11/* *
2- * @file i2c_wire. cpp
2+ * @file i2c_p_wire-> cpp
33 * @author Phil Schatzmann
44 * @brief I2S Implementation using Arduino Wire Library
55 * @date 2021-12-12
2020#define PORT 0x20
2121#define END true
2222
23+ TwoWire *p_wire = &AUDIOKIT_WIRE;
24+
2325i2c_bus_handle_t i2c_bus_create (i2c_port_t port, i2c_config_t * conf)
2426{
2527 KIT_LOGD (LOG_METHOD);
2628
2729#if defined(ESP32)
2830 KIT_LOGI (" i2c sda: %d" , conf->sda_io_num );
2931 KIT_LOGI (" i2c scl: %d" , conf->scl_io_num );
30- Wire. setPins (conf->sda_io_num , conf->scl_io_num );
32+ p_wire-> setPins (conf->sda_io_num , conf->scl_io_num );
3133 KIT_LOGI (" i2c clk_speed: %d" , conf->master .clk_speed );
3234#elif defined(ARDUINO_ARCH_RP2040)
33- Wire. setSDA (conf->sda_io_num );
35+ p_wire-> setSDA (conf->sda_io_num );
3436 bool setSCL (conf->scl_io_num );
3537#else
3638#warning "Pins in Wire Library ignored"
3739#endif
3840
39- Wire. setClock (conf->master .clk_speed );
40- Wire. begin ();
41+ p_wire-> setClock (conf->master .clk_speed );
42+ p_wire-> begin ();
4143
4244 return nullptr ;
4345}
@@ -57,12 +59,12 @@ esp_err_t i2c_bus_write_bytes(i2c_bus_handle_t bus, int addr, uint8_t* reg, int
5759 assert (datalen == 1 );
5860
5961 int result = ESP_OK;
60- Wire. beginTransmission (addr >> 1 );
61- Wire. write (reg[0 ]);
62- Wire. write (data[0 ]);
63- int rc = Wire. endTransmission (END);
62+ p_wire-> beginTransmission (addr >> 1 );
63+ p_wire-> write (reg[0 ]);
64+ p_wire-> write (data[0 ]);
65+ int rc = p_wire-> endTransmission (END);
6466 if (rc != 0 ) {
65- KIT_LOGE (" ->Wire. endTransmission: %d" , rc);
67+ KIT_LOGE (" ->p_wire-> endTransmission: %d" , rc);
6668 result = ESP_FAIL;
6769 }
6870 return result;
@@ -74,11 +76,11 @@ esp_err_t i2c_bus_write_data(i2c_bus_handle_t bus, int addr, uint8_t* data, int
7476 assert (datalen == 1 );
7577
7678 int result = ESP_OK;
77- Wire. beginTransmission (addr >> 1 );
78- Wire. write (data, datalen);
79- int rc = Wire. endTransmission (END);
79+ p_wire-> beginTransmission (addr >> 1 );
80+ p_wire-> write (data, datalen);
81+ int rc = p_wire-> endTransmission (END);
8082 if (rc != 0 ) {
81- KIT_LOGE (" ->Wire. endTransmission: %d" , rc);
83+ KIT_LOGE (" ->p_wire-> endTransmission: %d" , rc);
8284 result = ESP_FAIL;
8385 }
8486 return result;
@@ -94,18 +96,18 @@ esp_err_t i2c_bus_read_bytes(i2c_bus_handle_t bus, int addr, uint8_t* reg, int r
9496 outdata[0 ] = 0 ;
9597 int result = ESP_OK;
9698
97- Wire. beginTransmission (addr >> 1 );
98- Wire. write (reg[0 ]);
99- int rc = Wire. endTransmission ();
99+ p_wire-> beginTransmission (addr >> 1 );
100+ p_wire-> write (reg[0 ]);
101+ int rc = p_wire-> endTransmission ();
100102 if (rc!=0 ){
101- KIT_LOGE (" ->Wire. endTransmission: %d" , rc);
103+ KIT_LOGE (" ->p_wire-> endTransmission: %d" , rc);
102104 }
103105
104- uint8_t result_len = Wire. requestFrom ((uint16_t )(addr >> 1 ), (uint8_t )1 , true );
106+ uint8_t result_len = p_wire-> requestFrom ((uint16_t )(addr >> 1 ), (uint8_t )1 , true );
105107 if (result_len > 0 ) {
106- result_len = Wire. readBytes (outdata, datalen);
108+ result_len = p_wire-> readBytes (outdata, datalen);
107109 } else {
108- KIT_LOGE (" ->Wire. requestFrom %d->%d" , datalen, result_len);
110+ KIT_LOGE (" ->p_wire-> requestFrom %d->%d" , datalen, result_len);
109111 result = ESP_FAIL;
110112 }
111113 return result;
@@ -116,7 +118,7 @@ esp_err_t i2c_bus_delete(i2c_bus_handle_t bus)
116118 KIT_LOGD (LOG_METHOD);
117119// All arduino implementations except old IDF versions
118120#if !defined(ESP32) || ESP_IDF_VERSION_MAJOR >= 4
119- Wire. end ();
121+ p_wire-> end ();
120122#endif
121123
122124 return ESP_OK;
0 commit comments