[SX126x] Added missing calls to yield
This commit is contained in:
parent
901783cf39
commit
a46a1f5f1c
1 changed files with 4 additions and 0 deletions
|
@ -219,6 +219,7 @@ int16_t SX126x::transmit(uint8_t* data, size_t len, uint8_t addr) {
|
||||||
// wait for packet transmission or timeout
|
// wait for packet transmission or timeout
|
||||||
uint32_t start = micros();
|
uint32_t start = micros();
|
||||||
while(!digitalRead(_mod->getIrq())) {
|
while(!digitalRead(_mod->getIrq())) {
|
||||||
|
yield();
|
||||||
if(micros() - start > timeout) {
|
if(micros() - start > timeout) {
|
||||||
clearIrqStatus();
|
clearIrqStatus();
|
||||||
standby();
|
standby();
|
||||||
|
@ -278,6 +279,7 @@ int16_t SX126x::receive(uint8_t* data, size_t len) {
|
||||||
// wait for packet reception or timeout
|
// wait for packet reception or timeout
|
||||||
uint32_t start = micros();
|
uint32_t start = micros();
|
||||||
while(!digitalRead(_mod->getIrq())) {
|
while(!digitalRead(_mod->getIrq())) {
|
||||||
|
yield();
|
||||||
if(micros() - start > timeout) {
|
if(micros() - start > timeout) {
|
||||||
fixImplicitTimeout();
|
fixImplicitTimeout();
|
||||||
clearIrqStatus();
|
clearIrqStatus();
|
||||||
|
@ -1516,6 +1518,7 @@ int16_t SX126x::SPItransfer(uint8_t* cmd, uint8_t cmdLen, bool write, uint8_t* d
|
||||||
// ensure BUSY is low (state machine ready)
|
// ensure BUSY is low (state machine ready)
|
||||||
uint32_t start = millis();
|
uint32_t start = millis();
|
||||||
while(digitalRead(_mod->getGpio())) {
|
while(digitalRead(_mod->getGpio())) {
|
||||||
|
yield();
|
||||||
if(millis() - start >= timeout) {
|
if(millis() - start >= timeout) {
|
||||||
return(ERR_SPI_CMD_TIMEOUT);
|
return(ERR_SPI_CMD_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
@ -1583,6 +1586,7 @@ int16_t SX126x::SPItransfer(uint8_t* cmd, uint8_t cmdLen, bool write, uint8_t* d
|
||||||
delayMicroseconds(1);
|
delayMicroseconds(1);
|
||||||
start = millis();
|
start = millis();
|
||||||
while(digitalRead(_mod->getGpio())) {
|
while(digitalRead(_mod->getGpio())) {
|
||||||
|
yield();
|
||||||
if(millis() - start >= timeout) {
|
if(millis() - start >= timeout) {
|
||||||
status = SX126X_STATUS_CMD_TIMEOUT;
|
status = SX126X_STATUS_CMD_TIMEOUT;
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Reference in a new issue