8000 Merge remote-tracking branch 'origin/master' · echoGee/arduino-esp32@26374e4 · GitHub
[go: up one dir, main page]

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 26374e4

Browse files
author
Chuck Todd
committed
Merge remote-tracking branch 'origin/master'
# Conflicts: # cores/esp32/esp32-hal-i2c.c
2 parents 8cdf387 + 5faf988 commit 26374e4

File tree

2 files changed

+13
-13
lines changed

2 files changed

+13
-13
lines changed

README.md

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@ uint8_t err =Wire.endTransmission(false); // don't send a STOP, just Pause I2C o
5454
if(err==7){ // Prior Operation has been queued, it is NOT guaranteed that it will
5555
// successfully occur!
5656
err=Wire.requestFrom(addr,len);
57-
if(err!=len){ // complete/partial read failure
58-
Serial.print("Bad Stuff!! Read Failed lastError=");
59-
Serial.print(Wire.lastError(),DEC);
57+
if(Wire.lastError()!=0){ // complete/partial read failure
58+
Serial.printf("Bad Stuff!!\nRead of (%d) bytes read %d bytes\nFailed lastError=%d,"
59+
" text=%s\n",len,err,Wire.lastError(),Wire.getErrorText(Wire.lastError()));
6060
}
6161
// some of the read may have executed
6262
while(Wire.avaiable()){
@@ -70,13 +70,8 @@ Additionally I have expanded the ability of `Wire()` to handle larger Reads and
7070

7171
I have create a few new methods for Wire:
7272
```c++
73-
uint8_t oldEndTransmission(uint8_t); //released implementation
74-
size_t oldRequestFrom(uint8_t address, size_t size, bool sendStop); //released implementation
75-
//@stickBreaker for big blocks and ISR model
7673
uint8_t writeTransaction(uint8_t address, uint8_t* buff, size_t size, bool sendStop);// big block handling
77-
size_t requestFrom(uint8_t address, size_t size, bool sendStop);
7874
size_t requestFrom(uint8_t address, uint8_t* buf, size_t size, bool sendStop);
79-
size_t polledRequestFrom(uint8_t address, uint8_t* buf, size_t size, bool sendStop);//a BigBlock test case Not USING ISR
8075
size_t transact(size_t readLen); // replacement for endTransmission(false),requestFrom(ID,readLen,true);
8176
size_t transact(uint8_t* readBuff, size_t readLen);// bigger Block read
8277
i2c_err_t lastError(); // Expose complete error
@@ -91,10 +86,9 @@ Wire.beginTransmission(ID);
9186
Wire.write(highByte(addr));
9287
Wire.write(lowByte(addr));
9388
94-
uint8_t err=Wire.transact(len);
95-
if(err!=len){ // complete/partial read failure
96-
Serial.print("Bad Stuff!! Read Failed lastError=");
97-
Serial.print(Wire.lastError(),DEC);
89+
uint8_t err=Wire.transact(len); // transact() does both Wire.endTransmission(false); and Wire.requestFrom(ID,len,true);
90+
if(Wire.lastError != 0){ // complete/partial read failure
91+
Serial.printf("Bad Stuff!! Read Failed lastError=%d\n",Wire.lastError());
9892
}
9993
// some of the read may have executed
10094
while(Wire.avaiable()){
@@ -110,5 +104,4 @@ Set the "core debug level" to 'error'
110104
There is MINIMAL to NO ERROR detection, BUS, BUSY. because I have not encounter any of them!
111105

112106

113-
114107
Chuck.

cores/esp32/esp32-hal-i2c.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1131,10 +1131,17 @@ if(i2c->intr_handle){
11311131
i2c->intr_handle=NULL;
11321132
}
11331133
if(i2c->i2c_event){
1134+
<<<<<<< HEAD
11341135
vEventGroupDelete(i2c->i2c_event);
11351136
i2c->i2c_event = NULL;
11361137
}
11371138
return i2cFreeQueue(i2c);
1139+
=======
1140+
xEventGroupDelete(i2c->i2c_event);
1141+
i2c->i2c_event = NULL;
1142+
}
1143+
return i2cFreeQueue(i2c); //release dynamic memory
1144+
>>>>>>> origin/master
11381145
}
11391146

11401147
/* todo

0 commit comments

Comments
 (0)
0