Module - Added methods for INT pins read-only access
This commit is contained in:
parent
d41ecff647
commit
31dd1baadc
3 changed files with 5 additions and 13 deletions
|
@ -204,11 +204,3 @@ void Module::SPIwriteRegister(uint8_t reg, uint8_t data) {
|
||||||
SPI.endTransaction();
|
SPI.endTransaction();
|
||||||
digitalWrite(_cs, HIGH);
|
digitalWrite(_cs, HIGH);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Module::getInt0State() {
|
|
||||||
return(digitalRead(_int0));
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Module::getInt1State() {
|
|
||||||
return(digitalRead(_int1));
|
|
||||||
}
|
|
||||||
|
|
|
@ -38,8 +38,8 @@ class Module {
|
||||||
void SPIwriteRegisterBurstStr(uint8_t reg, const char* data, uint8_t numBytes);
|
void SPIwriteRegisterBurstStr(uint8_t reg, const char* data, uint8_t numBytes);
|
||||||
void SPIwriteRegister(uint8_t reg, uint8_t data);
|
void SPIwriteRegister(uint8_t reg, uint8_t data);
|
||||||
|
|
||||||
bool getInt0State();
|
int int0() const { return(_int0); }
|
||||||
bool getInt1State();
|
int int1() const { return(_int1); }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int _cs;
|
int _cs;
|
||||||
|
|
|
@ -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);
|
_mod->SPIsetRegValue(RF69_REG_TEST_PA2, RF69_PA2_20_DBM);
|
||||||
|
|
||||||
// wait for transmission end
|
// wait for transmission end
|
||||||
while(!_mod->getInt0State());
|
while(!digitalRead(_mod->int0()));
|
||||||
|
|
||||||
// clear interrupt flags
|
// clear interrupt flags
|
||||||
clearIRQFlags();
|
clearIRQFlags();
|
||||||
|
@ -149,8 +149,8 @@ int16_t RF69::receive(uint8_t* data, size_t len) {
|
||||||
_mod->SPIsetRegValue(RF69_REG_TEST_PA2, RF69_PA2_NORMAL);
|
_mod->SPIsetRegValue(RF69_REG_TEST_PA2, RF69_PA2_NORMAL);
|
||||||
|
|
||||||
// wait for packet reception or timeout
|
// wait for packet reception or timeout
|
||||||
while(!_mod->getInt0State()) {
|
while(!digitalRead(_mod->int0())) {
|
||||||
if(_mod->getInt1State()) {
|
if(digitalRead(_mod->int1())) {
|
||||||
clearIRQFlags();
|
clearIRQFlags();
|
||||||
return(ERR_RX_TIMEOUT);
|
return(ERR_RX_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue