Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
N
NodeManager_BMP280_Stamp
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
SmartHome
NodeManager_BMP280_Stamp
Commits
15fc8d41
Commit
15fc8d41
authored
8 years ago
by
user2684
Browse files
Options
Downloads
Patches
Plain Diff
Use F() macro in Serial.println() #35
parent
5bcfd7b7
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
NodeManager.cpp
+106
-116
106 additions, 116 deletions
NodeManager.cpp
config.h
+1
-1
1 addition, 1 deletion
config.h
with
107 additions
and
117 deletions
NodeManager.cpp
+
106
−
116
View file @
15fc8d41
...
...
@@ -4,16 +4,6 @@
#include
"NodeManager.h"
/*
* Constants
*/
const
char
*
BATTERY
=
"BATTERY"
;
const
char
*
AWAKE
=
"AWAKE"
;
const
char
*
REBOOT
=
"REBOOT"
;
const
char
*
CLEAR
=
"CLEAR"
;
const
char
*
WAKEUP
=
"WAKEUP"
;
const
char
*
STARTED
=
"STARTED"
;
/***************************************
PowerManager
...
...
@@ -22,9 +12,9 @@ const char* STARTED = "STARTED";
// set the vcc and ground pin the sensor is connected to
void
PowerManager
::
setPowerPins
(
int
ground_pin
,
int
vcc_pin
,
long
wait
)
{
#if DEBUG == 1
Serial
.
print
(
"PWR G="
);
Serial
.
print
(
F
(
"PWR G="
)
)
;
Serial
.
print
(
ground_pin
);
Serial
.
print
(
" V="
);
Serial
.
print
(
F
(
" V="
)
)
;
Serial
.
println
(
vcc_pin
);
#endif
// configure the vcc pin as output and initialize to low (power off)
...
...
@@ -48,7 +38,7 @@ bool PowerManager::_hasPowerManager() {
void
PowerManager
::
powerOn
()
{
if
(
!
_hasPowerManager
())
return
;
#if DEBUG == 1
Serial
.
print
(
"ON P="
);
Serial
.
print
(
F
(
"ON P="
)
)
;
Serial
.
println
(
_vcc_pin
);
#endif
// power on the sensor by turning high the vcc pin
...
...
@@ -61,7 +51,7 @@ void PowerManager::powerOn() {
void
PowerManager
::
powerOff
()
{
if
(
!
_hasPowerManager
())
return
;
#if DEBUG == 1
Serial
.
print
(
"OFF P="
);
Serial
.
print
(
F
(
"OFF P="
)
)
;
Serial
.
println
(
_vcc_pin
);
#endif
// power off the sensor by turning low the vcc pin
...
...
@@ -150,9 +140,9 @@ void Sensor::setSleepBetweenSend(int value) {
// present the sensor to the gateway and controller
void
Sensor
::
presentation
()
{
#if DEBUG == 1
Serial
.
print
(
"PRES I="
);
Serial
.
print
(
F
(
"PRES I="
)
)
;
Serial
.
print
(
_child_id
);
Serial
.
print
(
" T="
);
Serial
.
print
(
F
(
" T="
)
)
;
Serial
.
println
(
_presentation
);
#endif
present
(
_child_id
,
_presentation
);
...
...
@@ -244,19 +234,19 @@ void Sensor::_send(MyMessage & message) {
// if configured, sleep beetween each send
if
(
_sleep_between_send
>
0
)
wait
(
_sleep_between_send
);
#if DEBUG == 1
Serial
.
print
(
"SEND D="
);
Serial
.
print
(
F
(
"SEND D="
)
)
;
Serial
.
print
(
message
.
destination
);
Serial
.
print
(
" I="
);
Serial
.
print
(
F
(
" I="
)
)
;
Serial
.
print
(
message
.
sensor
);
Serial
.
print
(
" C="
);
Serial
.
print
(
F
(
" C="
)
)
;
Serial
.
print
(
message
.
getCommand
());
Serial
.
print
(
" T="
);
Serial
.
print
(
F
(
" T="
)
)
;
Serial
.
print
(
message
.
type
);
Serial
.
print
(
" S="
);
Serial
.
print
(
F
(
" S="
)
)
;
Serial
.
print
(
message
.
getString
());
Serial
.
print
(
" N="
);
Serial
.
print
(
F
(
" N="
)
)
;
Serial
.
print
(
message
.
getInt
());
Serial
.
print
(
" F="
);
Serial
.
print
(
F
(
" F="
)
)
;
Serial
.
println
(
message
.
getFloat
());
#endif
send
(
message
);
...
...
@@ -302,11 +292,11 @@ void SensorAnalogInput::onLoop() {
int
percentage
=
0
;
if
(
_output_percentage
)
percentage
=
_getPercentage
(
adc
);
#if DEBUG == 1
Serial
.
print
(
"A-IN I="
);
Serial
.
print
(
F
(
"A-IN I="
)
)
;
Serial
.
print
(
_child_id
);
Serial
.
print
(
" V="
);
Serial
.
print
(
F
(
" V="
)
)
;
Serial
.
print
(
adc
);
Serial
.
print
(
" %="
);
Serial
.
print
(
F
(
" %="
)
)
;
Serial
.
println
(
percentage
);
#endif
// store the result
...
...
@@ -407,13 +397,13 @@ void SensorThermistor::onLoop() {
temperature
-=
273.15
;
// convert to C
if
(
!
getControllerConfig
().
isMetric
)
temperature
=
temperature
*
1.8
+
32
;
#if DEBUG == 1
Serial
.
print
(
"THER I="
);
Serial
.
print
(
F
(
"THER I="
)
)
;
Serial
.
print
(
_child_id
);
Serial
.
print
(
" V="
);
Serial
.
print
(
F
(
" V="
)
)
;
Serial
.
print
(
adc
);
Serial
.
print
(
" T="
);
Serial
.
print
(
F
(
" T="
)
)
;
Serial
.
println
(
temperature
);
Serial
.
print
(
" M="
);
Serial
.
print
(
F
(
" M="
)
)
;
Serial
.
println
(
getControllerConfig
().
isMetric
);
#endif
// store the value
...
...
@@ -444,11 +434,11 @@ void SensorDigitalInput::onLoop() {
// read the value
int
value
=
digitalRead
(
_pin
);
#if DEBUG == 1
Serial
.
print
(
"D-IN I="
);
Serial
.
print
(
F
(
"D-IN I="
)
)
;
Serial
.
print
(
_child_id
);
Serial
.
print
(
" P="
);
Serial
.
print
(
F
(
" P="
)
)
;
Serial
.
print
(
_pin
);
Serial
.
print
(
" V="
);
Serial
.
print
(
F
(
" V="
)
)
;
Serial
.
println
(
value
);
#endif
// store the value
...
...
@@ -496,15 +486,15 @@ void SensorDigitalOutput::onReceive(const MyMessage & message) {
int
value
=
message
.
getInt
();
if
(
value
!=
0
&&
value
!=
1
)
return
;
#if DEBUG == 1
Serial
.
print
(
"DOUT I="
);
Serial
.
print
(
F
(
"DOUT I="
)
)
;
Serial
.
print
(
_child_id
);
Serial
.
print
(
" P="
);
Serial
.
print
(
F
(
" P="
)
)
;
Serial
.
print
(
_pin
);
Serial
.
print
(
" S="
);
Serial
.
print
(
F
(
" S="
)
)
;
Serial
.
print
(
_initial_value
);
Serial
.
print
(
" V="
);
Serial
.
print
(
F
(
" V="
)
)
;
Serial
.
print
(
value
);
Serial
.
print
(
" P="
);
Serial
.
print
(
F
(
" P="
)
)
;
Serial
.
println
(
_pulse_width
);
#endif
// set the value
...
...
@@ -585,9 +575,9 @@ void SensorDHT::onLoop() {
// convert it
if
(
!
getControllerConfig
().
isMetric
)
temperature
=
temperature
*
1.8
+
32
;
#if DEBUG == 1
Serial
.
print
(
"DHT I="
);
Serial
.
print
(
F
(
"DHT I="
)
)
;
Serial
.
print
(
_child_id
);
Serial
.
print
(
" T="
);
Serial
.
print
(
F
(
" T="
)
)
;
Serial
.
println
(
temperature
);
#endif
// store the value
...
...
@@ -599,9 +589,9 @@ void SensorDHT::onLoop() {
float
humidity
=
_dht
->
readHumidity
();
if
(
isnan
(
humidity
))
return
;
#if DEBUG == 1
Serial
.
print
(
"DHT I="
);
Serial
.
print
(
F
(
"DHT I="
)
)
;
Serial
.
print
(
_child_id
);
Serial
.
print
(
" H="
);
Serial
.
print
(
F
(
" H="
)
)
;
Serial
.
println
(
humidity
);
#endif
// store the value
...
...
@@ -652,9 +642,9 @@ void SensorSHT21::onLoop() {
// convert it
if
(
!
getControllerConfig
().
isMetric
)
temperature
=
temperature
*
1.8
+
32
;
#if DEBUG == 1
Serial
.
print
(
"SHT I="
);
Serial
.
print
(
F
(
"SHT I="
)
)
;
Serial
.
print
(
_child_id
);
Serial
.
print
(
" T="
);
Serial
.
print
(
F
(
" T="
)
)
;
Serial
.
println
(
temperature
);
#endif
// store the value
...
...
@@ -666,9 +656,9 @@ void SensorSHT21::onLoop() {
float
humidity
=
SHT2x
.
GetHumidity
();
if
(
isnan
(
humidity
))
return
;
#if DEBUG == 1
Serial
.
print
(
"SHT I="
);
Serial
.
print
(
F
(
"SHT I="
)
)
;
Serial
.
print
(
_child_id
);
Serial
.
print
(
" H="
);
Serial
.
print
(
F
(
" H="
)
)
;
Serial
.
println
(
humidity
);
#endif
// store the value
...
...
@@ -734,11 +724,11 @@ void SensorSwitch::onLoop() {
// process the value
if
(
(
_mode
==
RISING
&&
value
==
HIGH
)
||
(
_mode
==
FALLING
&&
value
==
LOW
)
||
(
_mode
==
CHANGE
)
)
{
#if DEBUG == 1
Serial
.
print
(
"SWITCH I="
);
Serial
.
print
(
F
(
"SWITCH I="
)
)
;
Serial
.
print
(
_child_id
);
Serial
.
print
(
" P="
);
Serial
.
print
(
F
(
" P="
)
)
;
Serial
.
print
(
_pin
);
Serial
.
print
(
" V="
);
Serial
.
print
(
F
(
" V="
)
)
;
Serial
.
println
(
value
);
#endif
_value_int
=
value
;
...
...
@@ -798,9 +788,9 @@ void SensorDs18b20::onLoop() {
// convert it
if
(
!
getControllerConfig
().
isMetric
)
temperature
=
temperature
*
1.8
+
32
;
#if DEBUG == 1
Serial
.
print
(
"DS18 I="
);
Serial
.
print
(
F
(
"DS18 I="
)
)
;
Serial
.
print
(
_child_id
);
Serial
.
print
(
" T="
);
Serial
.
print
(
F
(
" T="
)
)
;
Serial
.
println
(
temperature
);
#endif
// store the value
...
...
@@ -834,9 +824,9 @@ void SensorBH1750::onLoop() {
// request the light level
_value_int
=
_lightSensor
->
readLightLevel
();
#if DEBUG == 1
Serial
.
print
(
"BH1 I="
);
Serial
.
print
(
F
(
"BH1 I="
)
)
;
Serial
.
print
(
_child_id
);
Serial
.
print
(
" L="
);
Serial
.
print
(
F
(
" L="
)
)
;
Serial
.
println
(
_value_int
);
#endif
}
...
...
@@ -874,9 +864,9 @@ void SensorMLX90614::onLoop() {
// convert it
if
(
!
getControllerConfig
().
isMetric
)
temperature
=
temperature
*
1.8
+
32
;
#if DEBUG == 1
Serial
.
print
(
"MLX I="
);
Serial
.
print
(
F
(
"MLX I="
)
)
;
Serial
.
print
(
_child_id
);
Serial
.
print
(
" T="
);
Serial
.
print
(
F
(
" T="
)
)
;
Serial
.
println
(
temperature
);
#endif
if
(
!
isnan
(
temperature
))
_value_float
=
temperature
;
...
...
@@ -931,9 +921,9 @@ void SensorBME280::onLoop() {
// convert it
if
(
!
getControllerConfig
().
isMetric
)
temperature
=
temperature
*
1.8
+
32
;
#if DEBUG == 1
Serial
.
print
(
"BME I="
);
Serial
.
print
(
F
(
"BME I="
)
)
;
Serial
.
print
(
_child_id
);
Serial
.
print
(
" T="
);
Serial
.
print
(
F
(
" T="
)
)
;
Serial
.
println
(
temperature
);
#endif
// store the value
...
...
@@ -945,9 +935,9 @@ void SensorBME280::onLoop() {
float
humidity
=
_bme
->
readHumidity
();
if
(
isnan
(
humidity
))
return
;
#if DEBUG == 1
Serial
.
print
(
"BME I="
);
Serial
.
print
(
F
(
"BME I="
)
)
;
Serial
.
print
(
_child_id
);
Serial
.
print
(
" H="
);
Serial
.
print
(
F
(
" H="
)
)
;
Serial
.
println
(
humidity
);
#endif
// store the value
...
...
@@ -959,9 +949,9 @@ void SensorBME280::onLoop() {
float
pressure
=
_bme
->
readPressure
()
/
100.0
F
;
if
(
isnan
(
pressure
))
return
;
#if DEBUG == 1
Serial
.
print
(
"BME I="
);
Serial
.
print
(
F
(
"BME I="
)
)
;
Serial
.
print
(
_child_id
);
Serial
.
print
(
" P="
);
Serial
.
print
(
F
(
" P="
)
)
;
Serial
.
println
(
pressure
);
#endif
// store the value
...
...
@@ -1148,7 +1138,7 @@ int NodeManager::registerSensor(int sensor_type, int pin, int child_id) {
Adafruit_BME280
*
bme
=
new
Adafruit_BME280
();
if
(
!
bme
->
begin
())
{
#if DEBUG == 1
Serial
.
println
(
"NO BME"
);
Serial
.
println
(
F
(
"NO BME"
)
)
;
#endif
return
-
1
;
}
...
...
@@ -1161,7 +1151,7 @@ int NodeManager::registerSensor(int sensor_type, int pin, int child_id) {
#endif
else
{
#if DEBUG == 1
Serial
.
print
(
"INVALID "
);
Serial
.
print
(
F
(
"INVALID "
)
)
;
Serial
.
println
(
sensor_type
);
#endif
return
-
1
;
...
...
@@ -1171,13 +1161,13 @@ int NodeManager::registerSensor(int sensor_type, int pin, int child_id) {
// attach a built-in or custom sensor to this manager
int
NodeManager
::
registerSensor
(
Sensor
*
sensor
)
{
#if DEBUG == 1
Serial
.
print
(
"REG I="
);
Serial
.
print
(
F
(
"REG I="
)
)
;
Serial
.
print
(
sensor
->
getChildId
());
Serial
.
print
(
" P="
);
Serial
.
print
(
F
(
" P="
)
)
;
Serial
.
print
(
sensor
->
getPin
());
Serial
.
print
(
" P="
);
Serial
.
print
(
F
(
" P="
)
)
;
Serial
.
print
(
sensor
->
getPresentation
());
Serial
.
print
(
" T="
);
Serial
.
print
(
F
(
" T="
)
)
;
Serial
.
println
(
sensor
->
getType
());
#endif
#if POWER_MANAGER == 1
...
...
@@ -1199,12 +1189,12 @@ Sensor* NodeManager::get(int child_id) {
// setup NodeManager
void
NodeManager
::
before
()
{
#if DEBUG == 1
Serial
.
print
(
"NodeManager v"
);
Serial
.
print
(
F
(
"NodeManager v"
)
)
;
Serial
.
println
(
VERSION
);
#endif
if
(
_reboot_pin
>
-
1
)
{
#if DEBUG == 1
Serial
.
print
(
"REB P="
);
Serial
.
print
(
F
(
"REB P="
)
)
;
Serial
.
println
(
_reboot_pin
);
#endif
// setup the reboot pin
...
...
@@ -1228,9 +1218,9 @@ void NodeManager::before() {
if
(
_interrupt_2_pull
>
-
1
)
digitalWrite
(
INTERRUPT_PIN_2
,
_interrupt_2_pull
);
}
#if DEBUG == 1
Serial
.
print
(
"INT1 M="
);
Serial
.
print
(
F
(
"INT1 M="
)
)
;
Serial
.
println
(
_interrupt_1_mode
);
Serial
.
print
(
"INT2 M="
);
Serial
.
print
(
F
(
"INT2 M="
)
)
;
Serial
.
println
(
_interrupt_2_mode
);
#endif
#if REMOTE_CONFIGURATION == 1 && SLEEP_MANAGER == 1 && PERSIST == 1
...
...
@@ -1245,11 +1235,11 @@ void NodeManager::before() {
else
if
(
major
==
3
)
_sleep_time
=
_sleep_time
+
250
*
3
;
_sleep_unit
=
loadState
(
EEPROM_SLEEP_UNIT
);
#if DEBUG == 1
Serial
.
print
(
"LOADSLP M="
);
Serial
.
print
(
F
(
"LOADSLP M="
)
)
;
Serial
.
print
(
_sleep_mode
);
Serial
.
print
(
" T="
);
Serial
.
print
(
F
(
" T="
)
)
;
Serial
.
print
(
_sleep_time
);
Serial
.
print
(
" U="
);
Serial
.
print
(
F
(
" U="
)
)
;
Serial
.
println
(
_sleep_unit
);
#endif
}
...
...
@@ -1269,27 +1259,27 @@ void NodeManager::before() {
// present NodeManager and its sensors
void
NodeManager
::
presentation
()
{
#if DEBUG == 1
Serial
.
println
(
"RADIO OK"
);
Serial
.
println
(
F
(
"RADIO OK"
)
)
;
#endif
// present the service as a custom sensor to the controller
#if DEBUG == 1
Serial
.
print
(
"PRES I="
);
Serial
.
print
(
F
(
"PRES I="
)
)
;
Serial
.
print
(
CONFIGURATION_CHILD_ID
);
Serial
.
print
(
", T="
);
Serial
.
print
(
F
(
", T="
)
)
;
Serial
.
println
(
S_CUSTOM
);
#endif
present
(
CONFIGURATION_CHILD_ID
,
S_CUSTOM
);
#if BATTERY_MANAGER == 1 && BATTERY_SENSOR == 1
#if DEBUG == 1
Serial
.
print
(
"PRES I="
);
Serial
.
print
(
F
(
"PRES I="
)
)
;
Serial
.
print
(
BATTERY_CHILD_ID
);
Serial
.
print
(
", T="
);
Serial
.
print
(
F
(
", T="
)
)
;
Serial
.
println
(
S_MULTIMETER
);
#endif
// present the battery service
present
(
BATTERY_CHILD_ID
,
S_MULTIMETER
);
// report battery level
_process
(
BATTERY
);
_process
(
"
BATTERY
"
);
#endif
// present each sensor
for
(
int
i
=
0
;
i
<
255
;
i
++
)
{
...
...
@@ -1298,7 +1288,7 @@ void NodeManager::presentation() {
_sensors
[
i
]
->
presentation
();
}
#if DEBUG == 1
Serial
.
println
(
"READY"
);
Serial
.
println
(
F
(
"READY"
)
)
;
Serial
.
println
(
""
);
#endif
}
...
...
@@ -1307,13 +1297,13 @@ void NodeManager::presentation() {
// setup NodeManager
void
NodeManager
::
setup
()
{
#if DEBUG == 1
Serial
.
print
(
"MY I="
);
Serial
.
print
(
F
(
"MY I="
)
)
;
Serial
.
print
(
getNodeId
());
Serial
.
print
(
" M="
);
Serial
.
print
(
F
(
" M="
)
)
;
Serial
.
println
(
getControllerConfig
().
isMetric
);
#endif
#if SERVICE_MESSAGES == 1
_send
(
_msg
.
set
(
STARTED
));
_send
(
_msg
.
set
(
"
STARTED
"
));
#endif
}
...
...
@@ -1347,15 +1337,15 @@ void NodeManager::loop() {
// dispacth inbound messages
void
NodeManager
::
receive
(
const
MyMessage
&
message
)
{
#if DEBUG == 1
Serial
.
print
(
"RECV S="
);
Serial
.
print
(
F
(
"RECV S="
)
)
;
Serial
.
print
(
message
.
sender
);
Serial
.
print
(
" I="
);
Serial
.
print
(
F
(
" I="
)
)
;
Serial
.
print
(
message
.
sensor
);
Serial
.
print
(
" C="
);
Serial
.
print
(
F
(
" C="
)
)
;
Serial
.
print
(
message
.
getCommand
());
Serial
.
print
(
" T="
);
Serial
.
print
(
F
(
" T="
)
)
;
Serial
.
print
(
message
.
type
);
Serial
.
print
(
" D="
);
Serial
.
print
(
F
(
" D="
)
)
;
Serial
.
println
(
message
.
getString
());
#endif
// process incoming service messages
...
...
@@ -1384,19 +1374,19 @@ void NodeManager::_send(MyMessage & message) {
// if configured, sleep beetween each send
if
(
_sleep_between_send
>
0
)
wait
(
_sleep_between_send
);
#if DEBUG == 1
Serial
.
print
(
"SEND D="
);
Serial
.
print
(
F
(
"SEND D="
)
)
;
Serial
.
print
(
message
.
destination
);
Serial
.
print
(
" I="
);
Serial
.
print
(
F
(
" I="
)
)
;
Serial
.
print
(
message
.
sensor
);
Serial
.
print
(
" C="
);
Serial
.
print
(
F
(
" C="
)
)
;
Serial
.
print
(
message
.
getCommand
());
Serial
.
print
(
" T="
);
Serial
.
print
(
F
(
" T="
)
)
;
Serial
.
print
(
message
.
type
);
Serial
.
print
(
" S="
);
Serial
.
print
(
F
(
" S="
)
)
;
Serial
.
print
(
message
.
getString
());
Serial
.
print
(
" I="
);
Serial
.
print
(
F
(
" I="
)
)
;
Serial
.
print
(
message
.
getInt
());
Serial
.
print
(
" F="
);
Serial
.
print
(
F
(
" F="
)
)
;
Serial
.
println
(
message
.
getFloat
());
#endif
send
(
message
);
...
...
@@ -1411,7 +1401,7 @@ void NodeManager::_process(const char * message) {
}
#if BATTERY_MANAGER == 1
// BATTERY: return the battery level
else
if
(
strcmp
(
message
,
BATTERY
)
==
0
)
{
else
if
(
strcmp
(
message
,
"
BATTERY
"
)
==
0
)
{
// measure the board vcc
float
volt
=
0
;
if
(
_battery_internal_vcc
||
_battery_pin
==
-
1
)
volt
=
_getVcc
();
...
...
@@ -1421,9 +1411,9 @@ void NodeManager::_process(const char * message) {
if
(
percentage
>
100
)
percentage
=
100
;
if
(
percentage
<
0
)
percentage
=
0
;
#if DEBUG == 1
Serial
.
print
(
"BATT V="
);
Serial
.
print
(
F
(
"BATT V="
)
)
;
Serial
.
print
(
volt
);
Serial
.
print
(
" P="
);
Serial
.
print
(
F
(
" P="
)
)
;
Serial
.
println
(
percentage
);
#endif
#if BATTERY_SENSOR == 1
...
...
@@ -1436,18 +1426,18 @@ void NodeManager::_process(const char * message) {
}
#endif
// REBOOT: reboot the board
else
if
(
strcmp
(
message
,
REBOOT
)
==
0
&&
_reboot_pin
>
-
1
)
{
else
if
(
strcmp
(
message
,
"
REBOOT
"
)
==
0
&&
_reboot_pin
>
-
1
)
{
#if DEBUG == 1
Serial
.
println
(
REBOOT
);
Serial
.
println
(
F
(
"
REBOOT
"
)
);
#endif
// set the reboot pin connected to RST to low so to reboot the board
_send
(
_msg
.
set
(
message
));
digitalWrite
(
_reboot_pin
,
LOW
);
}
// CLEAR: clear the user's eeprom
else
if
(
strcmp
(
message
,
CLEAR
)
==
0
)
{
else
if
(
strcmp
(
message
,
"
CLEAR
"
)
==
0
)
{
#if DEBUG == 1
Serial
.
println
(
CLEAR
);
Serial
.
println
(
F
(
"
CLEAR
"
)
);
#endif
for
(
int
i
=
0
;
i
<=
EEPROM_LAST_ID
;
i
++
)
saveState
(
i
,
0xFF
);
_send
(
_msg
.
set
(
message
));
...
...
@@ -1467,7 +1457,7 @@ void NodeManager::_process(const char * message) {
s
[
3
]
=
'\0'
;
int
node_id
=
atoi
(
s
);
#if DEBUG == 1
Serial
.
print
(
"MY I="
);
Serial
.
print
(
F
(
"MY I="
)
)
;
Serial
.
println
(
node_id
);
#endif
// Save static ID to eeprom
...
...
@@ -1486,7 +1476,7 @@ void NodeManager::_process(const char * message) {
s
[
1
]
=
'\0'
;
_sleep_mode
=
atoi
(
s
);
#if DEBUG == 1
Serial
.
print
(
"SLEEP M="
);
Serial
.
print
(
F
(
"SLEEP M="
)
)
;
Serial
.
println
(
_sleep_mode
);
#endif
#if PERSIST == 1
...
...
@@ -1517,9 +1507,9 @@ void NodeManager::_process(const char * message) {
s
[
3
]
=
'\0'
;
_sleep_time
=
atoi
(
s
);
#if DEBUG == 1
Serial
.
print
(
"SLEEP T="
);
Serial
.
print
(
F
(
"SLEEP T="
)
)
;
Serial
.
print
(
_sleep_time
);
Serial
.
print
(
" U="
);
Serial
.
print
(
F
(
" U="
)
)
;
Serial
.
println
(
_sleep_unit
);
#endif
#if PERSIST == 1
...
...
@@ -1543,9 +1533,9 @@ void NodeManager::_process(const char * message) {
#endif
// WAKEUP: when received after a sleeping cycle or during wait, abort the cycle and stay awake
#if SLEEP_MANAGER == 1
else
if
(
strcmp
(
message
,
WAKEUP
)
==
0
)
{
else
if
(
strcmp
(
message
,
"
WAKEUP
"
)
==
0
)
{
#if DEBUG == 1
Serial
.
println
(
WAKEUP
);
Serial
.
println
(
F
(
"
WAKEUP
"
)
);
#endif
_send
(
_msg
.
set
(
message
));
_sleep_mode
=
IDLE
;
...
...
@@ -1563,9 +1553,9 @@ void NodeManager::_sleep() {
else
if
(
_sleep_unit
==
DAYS
)
sleep_sec
=
sleep_sec
*
43200
;
long
sleep_ms
=
sleep_sec
*
1000
;
#if DEBUG == 1
Serial
.
print
(
"SLEEP "
);
Serial
.
print
(
F
(
"SLEEP "
)
)
;
Serial
.
print
(
sleep_sec
);
Serial
.
println
(
"s"
);
Serial
.
println
(
F
(
"s"
)
)
;
#endif
#if SERVICE_MESSAGES == 1
// notify the controller I'm going to sleep
...
...
@@ -1598,9 +1588,9 @@ void NodeManager::_sleep() {
interrupt_mode
=
_interrupt_2_mode
;
}
#if DEBUG == 1
Serial
.
print
(
"WAKE P="
);
Serial
.
print
(
F
(
"WAKE P="
)
)
;
Serial
.
print
(
pin_number
);
Serial
.
print
(
", M="
);
Serial
.
print
(
F
(
", M="
)
)
;
Serial
.
println
(
interrupt_mode
);
#endif
#if SLEEP_MANAGER == 1
...
...
@@ -1611,11 +1601,11 @@ void NodeManager::_sleep() {
}
// coming out of sleep
#if DEBUG == 1
Serial
.
println
(
AWAKE
);
Serial
.
println
(
F
(
"
AWAKE
"
)
);
#endif
#if SERVICE_MESSAGES == 1
// notify the controller I am awake
_send
(
_msg
.
set
(
AWAKE
));
_send
(
_msg
.
set
(
"
AWAKE
"
));
#endif
#if BATTERY_MANAGER == 1
// keep track of the number of sleeping cycles
...
...
@@ -1623,7 +1613,7 @@ void NodeManager::_sleep() {
// battery has to be reported after the configured number of sleep cycles
if
(
_battery_report_cycles
==
_cycles
)
{
// time to report the battery level again
_process
(
BATTERY
);
_process
(
"
BATTERY
"
);
_cycles
=
0
;
}
#endif
...
...
This diff is collapsed.
Click to expand it.
config.h
+
1
−
1
View file @
15fc8d41
...
...
@@ -16,7 +16,7 @@
//#define MY_NODE_ID 100
#define MY_RADIO_NRF24
//
#define MY_RF24_ENABLE_ENCRYPTION
#define MY_RF24_ENABLE_ENCRYPTION
//#define MY_RF24_CHANNEL 76
//#define MY_RADIO_RFM69
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment