Changed RF69 rx timeout from gpio to internal
This commit is contained in:
parent
7b54c152dd
commit
8f1c94e8b5
1 changed files with 12 additions and 3 deletions
15
src/RF69.cpp
15
src/RF69.cpp
|
@ -5,7 +5,8 @@ RF69::RF69(Module* module) {
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t RF69::begin() {
|
uint8_t RF69::begin() {
|
||||||
_mod->init(USE_SPI, INT_BOTH);
|
//_mod->init(USE_SPI, INT_BOTH);
|
||||||
|
_mod->init(USE_SPI, INT_0);
|
||||||
|
|
||||||
uint8_t i = 0;
|
uint8_t i = 0;
|
||||||
bool flagFound = false;
|
bool flagFound = false;
|
||||||
|
@ -93,18 +94,26 @@ uint8_t RF69::receive(Packet& pack) {
|
||||||
|
|
||||||
//_mod->SPIsetRegValue(RF69_REG_PACKET_CONFIG_2, RF69_RESTART_RX, 2, 2);
|
//_mod->SPIsetRegValue(RF69_REG_PACKET_CONFIG_2, RF69_RESTART_RX, 2, 2);
|
||||||
|
|
||||||
_mod->SPIsetRegValue(RF69_REG_DIO_MAPPING_1, RF69_DIO0_PACK_PAYLOAD_READY | RF69_DIO1_PACK_TIMEOUT, 7, 4);
|
//_mod->SPIsetRegValue(RF69_REG_DIO_MAPPING_1, RF69_DIO0_PACK_PAYLOAD_READY | RF69_DIO1_PACK_TIMEOUT, 7, 4);
|
||||||
|
_mod->SPIsetRegValue(RF69_REG_DIO_MAPPING_1, RF69_DIO0_PACK_PAYLOAD_READY, 7, 6);
|
||||||
clearIRQFlags();
|
clearIRQFlags();
|
||||||
|
|
||||||
setMode(RF69_RX);
|
setMode(RF69_RX);
|
||||||
_mod->SPIsetRegValue(RF69_REG_TEST_PA1, RF69_PA1_NORMAL);
|
_mod->SPIsetRegValue(RF69_REG_TEST_PA1, RF69_PA1_NORMAL);
|
||||||
_mod->SPIsetRegValue(RF69_REG_TEST_PA2, RF69_PA2_NORMAL);
|
_mod->SPIsetRegValue(RF69_REG_TEST_PA2, RF69_PA2_NORMAL);
|
||||||
|
|
||||||
while(!_mod->getInt0State()) {
|
/*while(!_mod->getInt0State()) {
|
||||||
if(_mod->getInt1State()) {
|
if(_mod->getInt1State()) {
|
||||||
clearIRQFlags();
|
clearIRQFlags();
|
||||||
return(ERR_RX_TIMEOUT);
|
return(ERR_RX_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
}*/
|
||||||
|
unsigned long start = millis();
|
||||||
|
while(!_mod->getInt0State()) {
|
||||||
|
if(millis() - start > 2000) {
|
||||||
|
clearIRQFlags();
|
||||||
|
return(ERR_RX_TIMEOUT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pack.length = _mod->SPIreadRegister(RF69_REG_FIFO);
|
pack.length = _mod->SPIreadRegister(RF69_REG_FIFO);
|
||||||
|
|
Loading…
Add table
Reference in a new issue