Module - Added methods for INT pins read-only access

This commit is contained in:
Jan Gromeš 2018-07-25 14:52:57 +02:00
parent d41ecff647
commit 31dd1baadc
3 changed files with 5 additions and 13 deletions

View file

@ -204,11 +204,3 @@ void Module::SPIwriteRegister(uint8_t reg, uint8_t data) {
SPI.endTransaction();
digitalWrite(_cs, HIGH);
}
bool Module::getInt0State() {
return(digitalRead(_int0));
}
bool Module::getInt1State() {
return(digitalRead(_int1));
}

View file

@ -38,8 +38,8 @@ class Module {
void SPIwriteRegisterBurstStr(uint8_t reg, const char* data, uint8_t numBytes);
void SPIwriteRegister(uint8_t reg, uint8_t data);
bool getInt0State();
bool getInt1State();
int int0() const { return(_int0); }
int int1() const { return(_int1); }
private:
int _cs;

View file

@ -117,7 +117,7 @@ int16_t RF69::transmit(uint8_t* data, size_t len, uint8_t addr) {
_mod->SPIsetRegValue(RF69_REG_TEST_PA2, RF69_PA2_20_DBM);
// wait for transmission end
while(!_mod->getInt0State());
while(!digitalRead(_mod->int0()));
// clear interrupt flags
clearIRQFlags();
@ -149,8 +149,8 @@ int16_t RF69::receive(uint8_t* data, size_t len) {
_mod->SPIsetRegValue(RF69_REG_TEST_PA2, RF69_PA2_NORMAL);
// wait for packet reception or timeout
while(!_mod->getInt0State()) {
if(_mod->getInt1State()) {
while(!digitalRead(_mod->int0())) {
if(digitalRead(_mod->int1())) {
clearIRQFlags();
return(ERR_RX_TIMEOUT);
}