Change default transfer speed to 250kbps.
Set default value for config. Return wakeup trigger after sleep.
This commit is contained in:
@@ -5,7 +5,7 @@
|
|||||||
* Configure Sensor Network
|
* Configure Sensor Network
|
||||||
*/
|
*/
|
||||||
#define RF24_CHANNEL 76 //RF channel for the sensor net, 0-127
|
#define RF24_CHANNEL 76 //RF channel for the sensor net, 0-127
|
||||||
#define RF24_DATARATE RF24_1MBPS //RF24_250KBPS for 250kbs, RF24_1MBPS for 1Mbps, or RF24_2MBPS for 2Mbps
|
#define RF24_DATARATE RF24_250KBPS //RF24_250KBPS for 250kbs, RF24_1MBPS for 1Mbps, or RF24_2MBPS for 2Mbps
|
||||||
#define RF24_PA_LEVEL RF24_PA_MAX //Sensor PA Level == RF24_PA_MIN=-18dBm, RF24_PA_LOW=-12dBm, RF24_PA_HIGH=-6dBM, and RF24_PA_HIGH=0dBm
|
#define RF24_PA_LEVEL RF24_PA_MAX //Sensor PA Level == RF24_PA_MIN=-18dBm, RF24_PA_LOW=-12dBm, RF24_PA_HIGH=-6dBM, and RF24_PA_HIGH=0dBm
|
||||||
#define RF24_PA_LEVEL_GW RF24_PA_LOW //Gateway PA Level, defaults to Sensor net PA Level. Tune here if using an amplified nRF2401+ in your gateway.
|
#define RF24_PA_LEVEL_GW RF24_PA_LOW //Gateway PA Level, defaults to Sensor net PA Level. Tune here if using an amplified nRF2401+ in your gateway.
|
||||||
|
|
||||||
|
|||||||
@@ -46,7 +46,10 @@ void MySensor::begin(void (*_msgCallback)(const MyMessage &), uint8_t _nodeId, b
|
|||||||
eeprom_read_block((void*)&nc, (void*)EEPROM_NODE_ID_ADDRESS, sizeof(NodeConfig));
|
eeprom_read_block((void*)&nc, (void*)EEPROM_NODE_ID_ADDRESS, sizeof(NodeConfig));
|
||||||
// Read latest received controller configuration from EEPROM
|
// Read latest received controller configuration from EEPROM
|
||||||
eeprom_read_block((void*)&cc, (void*)EEPROM_LOCAL_CONFIG_ADDRESS, sizeof(ControllerConfig));
|
eeprom_read_block((void*)&cc, (void*)EEPROM_LOCAL_CONFIG_ADDRESS, sizeof(ControllerConfig));
|
||||||
|
if (cc.isMetric == 0xff) {
|
||||||
|
// Eeprom empty, set default to metric
|
||||||
|
cc.isMetric = 0x01;
|
||||||
|
}
|
||||||
|
|
||||||
if (_nodeId != AUTO) {
|
if (_nodeId != AUTO) {
|
||||||
// Set static id
|
// Set static id
|
||||||
@@ -541,18 +544,22 @@ void MySensor::sleep(int ms) {
|
|||||||
internalSleep(ms);
|
internalSleep(ms);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MySensor::sleep(int interrupt, int mode, int ms) {
|
bool MySensor::sleep(int interrupt, int mode, int ms) {
|
||||||
// Let serial prints finish (debug, log etc)
|
// Let serial prints finish (debug, log etc)
|
||||||
|
bool pinTriggeredWakeup = true;
|
||||||
Serial.flush();
|
Serial.flush();
|
||||||
RF24::powerDown();
|
RF24::powerDown();
|
||||||
attachInterrupt(interrupt, wakeUp, mode); //Interrupt on pin 3 for any change in solar power
|
attachInterrupt(interrupt, wakeUp, mode); //Interrupt on pin 3 for any change in solar power
|
||||||
if (ms>0) {
|
if (ms>0) {
|
||||||
continueTimer = true;
|
continueTimer = true;
|
||||||
sleep(ms);
|
sleep(ms);
|
||||||
|
pinTriggeredWakeup = !continueTimer;
|
||||||
} else {
|
} else {
|
||||||
|
Serial.flush();
|
||||||
LowPower.powerDown(SLEEP_FOREVER, ADC_OFF, BOD_OFF);
|
LowPower.powerDown(SLEEP_FOREVER, ADC_OFF, BOD_OFF);
|
||||||
}
|
}
|
||||||
detachInterrupt(interrupt);
|
detachInterrupt(interrupt);
|
||||||
|
return pinTriggeredWakeup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -211,8 +211,9 @@ class MySensor : public RF24
|
|||||||
* @param interrupt Interrupt that should trigger the wakeup
|
* @param interrupt Interrupt that should trigger the wakeup
|
||||||
* @param mode RISING, FALLING, CHANGE
|
* @param mode RISING, FALLING, CHANGE
|
||||||
* @param ms Number of milliseconds to sleep or 0 to sleep forever
|
* @param ms Number of milliseconds to sleep or 0 to sleep forever
|
||||||
|
* @return true if wake up was triggered by pin change and false means timer woke it up.
|
||||||
*/
|
*/
|
||||||
void sleep(int interrupt, int mode, int ms=0);
|
bool sleep(int interrupt, int mode, int ms=0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* getInternalTemp
|
* getInternalTemp
|
||||||
|
|||||||
Reference in New Issue
Block a user