Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Retry waking up ATECC on unexpected response
The original code had intentions of retrying the wake up processor, but it never used it. I.e., the default number of retries was 1. This changes the default to 4 and adds a 500 ms wait in between tries. The logic for this is that wakeup errors can happen for many reasons especially since it's possible for other programs to access to ATECC simultaneously. This is definitely a problem with OpenSSL engines since they're independent of this library. The strategy for this library is to minimize calls to the ATECC via caching of responses to read-only data, but it still happens and retries are needed. 4 retries separated by 500 ms was picked since 1. it's still well under the 5 second default Erlang timer on calls, so function calls shouldn't time out, and 2. 500 ms is longer than most ATECC ops, so there's a good change that whatever conflicted is done.
- Loading branch information