Skip to content

Commit 8e574bd

Browse files
authored
Merge pull request #7 from sandeepmistry/extra-wakeup
Put in idle mode on begin, bump wake/sleep/idle delays to match datasheet
2 parents 5b591ab + 1a924f0 commit 8e574bd

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/ECCX08.cpp

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ int ECCX08Class::begin()
4242
{
4343
_wire->begin();
4444

45+
wakeup();
46+
idle();
47+
4548
long ver = version() & 0x0F00000;
4649

4750
if (ver != 0x0500000 && ver != 0x0600000) {
@@ -425,7 +428,7 @@ int ECCX08Class::wakeup()
425428
_wire->beginTransmission(0x00);
426429
_wire->endTransmission();
427430

428-
delay(1);
431+
delayMicroseconds(1500);
429432

430433
byte response;
431434

@@ -447,6 +450,8 @@ int ECCX08Class::sleep()
447450
return 0;
448451
}
449452

453+
delay(1);
454+
450455
return 1;
451456
}
452457

@@ -459,6 +464,8 @@ int ECCX08Class::idle()
459464
return 0;
460465
}
461466

467+
delay(1);
468+
462469
return 1;
463470
}
464471

@@ -698,7 +705,7 @@ int ECCX08Class::sendCommand(uint8_t opcode, uint8_t param1, uint16_t param2, co
698705

699706
int ECCX08Class::receiveResponse(void* response, size_t length)
700707
{
701-
int retries = 100;
708+
int retries = 20;
702709
size_t responseSize = length + 3; // 1 for length header, 2 for CRC
703710
byte responseBuffer[responseSize];
704711

0 commit comments

Comments
 (0)