remove LowPower dependency, example update
This commit is contained in:
parent
6f99497441
commit
e9f527ec18
|
|
@ -26,8 +26,8 @@
|
||||||
// **********************************************************************************
|
// **********************************************************************************
|
||||||
#include <RFM69.h>
|
#include <RFM69.h>
|
||||||
#include <RFM69_ATC.h>
|
#include <RFM69_ATC.h>
|
||||||
#include <LowPower.h>
|
#include <LowPower.h> //https://github.com/LowPowerLab/LowPower
|
||||||
#include <PString.h> //easy string manipulator: http://arduiniana.org/libraries/pstring/
|
#include <PString.h> //easy string manipulator: http://arduiniana.org/libraries/pstring/
|
||||||
//*********************************************************************************************
|
//*********************************************************************************************
|
||||||
//************ IMPORTANT SETTINGS - YOU MUST CHANGE/CONFIGURE TO FIT YOUR HARDWARE ************
|
//************ IMPORTANT SETTINGS - YOU MUST CHANGE/CONFIGURE TO FIT YOUR HARDWARE ************
|
||||||
//*********************************************************************************************
|
//*********************************************************************************************
|
||||||
|
|
@ -118,13 +118,13 @@ void loop() {
|
||||||
if (TRANSMITPERIOD%262 && TRANSMITPERIOD > 262*2)
|
if (TRANSMITPERIOD%262 && TRANSMITPERIOD > 262*2)
|
||||||
{
|
{
|
||||||
DEBUG("Sleeping "); DEBUGln(TRANSMITPERIOD-TRANSMITPERIOD%262-262); DEBUGFlush();
|
DEBUG("Sleeping "); DEBUGln(TRANSMITPERIOD-TRANSMITPERIOD%262-262); DEBUGFlush();
|
||||||
radio.listenModeSleep(TRANSMITPERIOD-TRANSMITPERIOD%262-262);
|
listenModeSleep(TRANSMITPERIOD-TRANSMITPERIOD%262-262);
|
||||||
DEBUG("Sleeping "); DEBUGln(TRANSMITPERIOD%262 + 262); DEBUGFlush();
|
DEBUG("Sleeping "); DEBUGln(TRANSMITPERIOD%262 + 262); DEBUGFlush();
|
||||||
radio.listenModeSleep(TRANSMITPERIOD%262 + 262);
|
listenModeSleep(TRANSMITPERIOD%262 + 262);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
DEBUG("Sleeping "); DEBUGln(TRANSMITPERIOD); DEBUGFlush();
|
DEBUG("Sleeping "); DEBUGln(TRANSMITPERIOD); DEBUGFlush();
|
||||||
radio.listenModeSleep(TRANSMITPERIOD);
|
listenModeSleep(TRANSMITPERIOD);
|
||||||
}
|
}
|
||||||
|
|
||||||
//wakeup (must reinit)
|
//wakeup (must reinit)
|
||||||
|
|
@ -137,3 +137,10 @@ void loop() {
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void listenModeSleep(uint16_t millisInterval) {
|
||||||
|
LowPower.powerDown( SLEEP_FOREVER, ADC_OFF, BOD_OFF );
|
||||||
|
LowPower.powerDown( SLEEP_FOREVER, ADC_OFF, BOD_OFF );
|
||||||
|
LowPower.powerDown( SLEEP_FOREVER, ADC_OFF, BOD_OFF );
|
||||||
|
radio.endListenModeSleep();
|
||||||
|
}
|
||||||
13
RFM69.cpp
13
RFM69.cpp
|
|
@ -26,9 +26,6 @@
|
||||||
#include "RFM69.h"
|
#include "RFM69.h"
|
||||||
#include "RFM69registers.h"
|
#include "RFM69registers.h"
|
||||||
#include <SPI.h>
|
#include <SPI.h>
|
||||||
#if defined(__AVR__)
|
|
||||||
#include <LowPower.h> //http://github.com/LowPowerLab/LowPower
|
|
||||||
#endif
|
|
||||||
|
|
||||||
uint8_t RFM69::DATA[RF69_MAX_DATA_LEN+1];
|
uint8_t RFM69::DATA[RF69_MAX_DATA_LEN+1];
|
||||||
uint8_t RFM69::_mode; // current transceiver state
|
uint8_t RFM69::_mode; // current transceiver state
|
||||||
|
|
@ -874,10 +871,9 @@ void RFM69::rcCalibration()
|
||||||
while ((readReg(REG_OSC1) & RF_OSC1_RCCAL_DONE) == 0x00);
|
while ((readReg(REG_OSC1) & RF_OSC1_RCCAL_DONE) == 0x00);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ListenMode sleep/timer
|
// ListenMode sleep/timer - see ListenModeSleep example for proper usage!
|
||||||
void RFM69::listenModeSleep(uint16_t millisInterval)
|
void RFM69::listenModeSleep(uint16_t millisInterval)
|
||||||
{
|
{
|
||||||
#if defined (__AVR__)
|
|
||||||
setMode( RF69_MODE_STANDBY );
|
setMode( RF69_MODE_STANDBY );
|
||||||
while ((readReg(REG_IRQFLAGS1) & RF_IRQFLAGS1_MODEREADY) == 0x00); // wait for ModeReady
|
while ((readReg(REG_IRQFLAGS1) & RF_IRQFLAGS1_MODEREADY) == 0x00); // wait for ModeReady
|
||||||
|
|
||||||
|
|
@ -917,12 +913,7 @@ void RFM69::listenModeSleep(uint16_t millisInterval)
|
||||||
|
|
||||||
attachInterrupt( _interruptNum, delayIrq, RISING);
|
attachInterrupt( _interruptNum, delayIrq, RISING);
|
||||||
|
|
||||||
LowPower.powerDown( SLEEP_FOREVER, ADC_OFF, BOD_OFF );
|
//must call sleep + interrupt handler 3 times here, then endListenModeSleep() - see ListenModeSleep example!
|
||||||
LowPower.powerDown( SLEEP_FOREVER, ADC_OFF, BOD_OFF );
|
|
||||||
LowPower.powerDown( SLEEP_FOREVER, ADC_OFF, BOD_OFF );
|
|
||||||
|
|
||||||
endListenModeSleep();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
|
|
||||||
2
RFM69.h
2
RFM69.h
|
|
@ -233,6 +233,7 @@ class RFM69 {
|
||||||
|
|
||||||
// ListenMode sleep/timer
|
// ListenMode sleep/timer
|
||||||
void listenModeSleep(uint16_t millisInterval);
|
void listenModeSleep(uint16_t millisInterval);
|
||||||
|
void endListenModeSleep();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
static void isr0();
|
static void isr0();
|
||||||
|
|
@ -243,7 +244,6 @@ class RFM69 {
|
||||||
|
|
||||||
// for ListenMode sleep/timer
|
// for ListenMode sleep/timer
|
||||||
static void delayIrq();
|
static void delayIrq();
|
||||||
void endListenModeSleep();
|
|
||||||
|
|
||||||
uint8_t _slaveSelectPin;
|
uint8_t _slaveSelectPin;
|
||||||
uint8_t _interruptPin;
|
uint8_t _interruptPin;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue