diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-09-05 15:37:22 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-09-05 15:37:22 +1000 |
| commit | 020d42d43156423488df4ea4538f4952a3c97c48 (patch) | |
| tree | 97d022ff83eb61d3c3923b89532e84ba3a8c35e0 /src/drivers/samd.cpp | |
| parent | f0d82cfb0959c48e251246aa988989e1cfddc4af (diff) | |
| download | tangara-fw-020d42d43156423488df4ea4538f4952a3c97c48.tar.gz | |
Be tolerant of SAMD timeouts
Diffstat (limited to 'src/drivers/samd.cpp')
| -rw-r--r-- | src/drivers/samd.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/drivers/samd.cpp b/src/drivers/samd.cpp index 176da241..fe621993 100644 --- a/src/drivers/samd.cpp +++ b/src/drivers/samd.cpp @@ -78,7 +78,10 @@ auto Samd::UpdateChargeStatus() -> void { .write_addr(kAddress, I2C_MASTER_READ) .read(&raw_res, I2C_MASTER_NACK) .stop(); - ESP_ERROR_CHECK(transaction.Execute()); + esp_err_t res = transaction.Execute(); + if (res != ESP_OK) { + return; + } uint8_t usb_state = raw_res & 0b11; uint8_t charge_state = (raw_res >> 2) & 0b111; @@ -120,7 +123,10 @@ auto Samd::UpdateUsbStatus() -> void { .write_addr(kAddress, I2C_MASTER_READ) .read(&raw_res, I2C_MASTER_NACK) .stop(); - ESP_ERROR_CHECK(transaction.Execute()); + esp_err_t res = transaction.Execute(); + if (res != ESP_OK) { + return; + } if (!(raw_res & 0b1)) { usb_status_ = UsbStatus::kDetached; |
