I have started to update my nodes to 2.2.0. The gateway went smooth, and the first nodes were no problem either. These were simple sleeping nodes with a timer to send climate data.
The next batch were my dimmer nodes that failed to work properly because of a button that was not read anymore (actually, after pressing, the release was not detected. The solution was the PINMODE that was declared in the before() was cleared after Presentation() ).
When I tried to use MY_DEBUG, the compilation failed. That was Arduino IDE 1.6.13, and after I updated to 1.8.5 it ran once. After that it only failed every time.
When I changed the board definition to Moteino (I use that for my gateway and 1 sensor) it compiled normally. When I changed back to the bootloader I use on the dimmer board it failed again.
All my boards are basically the same (except for the two mentioned):
- ATmega328p; internal 8 MHz clock; 2,7V BOD
- RFM69 radio (some HW, some W)
- bootloader by GertSanders: 32p TQFP; 2,7V; 8MHz internal; LED D5; 38k4 upload speed
I tried to compile with other bootloaders, but a mismatch in baudrate prevented me from uploading the sketch.
Here is the error log from the IDE:
In file included from /Users/David/Documents/Arduino/libraries/MySensors/MySensors.h:49:0, from /var/folders/zw/bqygd0w11qd6rb620f1pjy_w0000gn/T/arduino_modified_sketch_112637/sketch_feb06a.ino:90:
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp: In function 'void stInitUpdate()':
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:124:45: error: expected ')' before 'PRIu8'
TRANSPORT_DEBUG(PSTR("TSM:INIT:STATID=%" PRIu8 "\n"),(uint8_t)MY_NODE_ID);
^
/Users/David/Documents/Arduino/libraries/MySensors/MyConfig.h:1815:43: note: in definition of macro 'DEBUG_OUTPUT'
#define DEBUG_OUTPUT(x,...) hwDebugPrint(x, ##__VA_ARGS__) //!< debug
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:124:4: note: in expansion of macro 'TRANSPORT_DEBUG'
TRANSPORT_DEBUG(PSTR("TSM:INIT:STATID=%" PRIu8 "\n"),(uint8_t)MY_NODE_ID);
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp: In function 'void stUplinkUpdate()':
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:265:44: error: expected ')' before 'PRIu8'
TRANSPORT_DEBUG(PSTR("TSM:UPL:DGWC,O=%" PRIu8 ",N=%" PRIu8 "\n"), _transportConfig.distanceGW,
^
/Users/David/Documents/Arduino/libraries/MySensors/MyConfig.h:1815:43: note: in definition of macro 'DEBUG_OUTPUT'
#define DEBUG_OUTPUT(x,...) hwDebugPrint(x, ##__VA_ARGS__) //!< debug
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:265:4: note: in expansion of macro 'TRANSPORT_DEBUG'
TRANSPORT_DEBUG(PSTR("TSM:UPL:DGWC,O=%" PRIu8 ",N=%" PRIu8 "\n"), _transportConfig.distanceGW,
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp: In function 'void stReadyTransition()':
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:292:40: error: expected ')' before 'PRIu8'
TRANSPORT_DEBUG(PSTR("TSM:READY:ID=%" PRIu8 ",PAR=%" PRIu8 ",DIS=%" PRIu8 "\n"),
^
/Users/David/Documents/Arduino/libraries/MySensors/MyConfig.h:1815:43: note: in definition of macro 'DEBUG_OUTPUT'
#define DEBUG_OUTPUT(x,...) hwDebugPrint(x, ##__VA_ARGS__) //!< debug
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:292:2: note: in expansion of macro 'TRANSPORT_DEBUG'
TRANSPORT_DEBUG(PSTR("TSM:READY:ID=%" PRIu8 ",PAR=%" PRIu8 ",DIS=%" PRIu8 "\n"),
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp: In function 'void stFailureTransition()':
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:342:40: error: expected ')' before 'PRIu8'
TRANSPORT_DEBUG(PSTR("TSM:FAIL:CNT=%" PRIu8 "\n"),_transportSM.failureCounter);
^
/Users/David/Documents/Arduino/libraries/MySensors/MyConfig.h:1815:43: note: in definition of macro 'DEBUG_OUTPUT'
#define DEBUG_OUTPUT(x,...) hwDebugPrint(x, ##__VA_ARGS__) //!< debug
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:342:2: note: in expansion of macro 'TRANSPORT_DEBUG'
TRANSPORT_DEBUG(PSTR("TSM:FAIL:CNT=%" PRIu8 "\n"),_transportSM.failureCounter);
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp: In function 'bool transportWaitUntilReady(uint32_t)':
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:449:38: error: expected ')' before 'PRIu32'
TRANSPORT_DEBUG(PSTR("TSF:WUR:MS=%" PRIu32 "\n"), waitingMS); // timeout
^
/Users/David/Documents/Arduino/libraries/MySensors/MyConfig.h:1815:43: note: in definition of macro 'DEBUG_OUTPUT'
#define DEBUG_OUTPUT(x,...) hwDebugPrint(x, ##__VA_ARGS__) //!< debug
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:449:2: note: in expansion of macro 'TRANSPORT_DEBUG'
TRANSPORT_DEBUG(PSTR("TSF:WUR:MS=%" PRIu32 "\n"), waitingMS); // timeout
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp: In function 'bool transportCheckUplink(bool)':
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:485:44: error: expected ')' before 'PRIu8'
TRANSPORT_DEBUG(PSTR("TSF:CKU:DGWC,O=%" PRIu8 ",N=%" PRIu8 "\n"), _transportConfig.distanceGW,
^
/Users/David/Documents/Arduino/libraries/MySensors/MyConfig.h:1815:43: note: in definition of macro 'DEBUG_OUTPUT'
#define DEBUG_OUTPUT(x,...) hwDebugPrint(x, ##__VA_ARGS__) //!< debug
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:485:4: note: in expansion of macro 'TRANSPORT_DEBUG'
TRANSPORT_DEBUG(PSTR("TSF:CKU:DGWC,O=%" PRIu8 ",N=%" PRIu8 "\n"), _transportConfig.distanceGW,
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp: In function 'bool transportAssignNodeID(uint8_t)':
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:504:42: error: expected ')' before 'PRIu8'
TRANSPORT_DEBUG(PSTR("TSF:SID:OK,ID=%" PRIu8 "\n"),newNodeId); // Node ID assigned
^
/Users/David/Documents/Arduino/libraries/MySensors/MyConfig.h:1815:43: note: in definition of macro 'DEBUG_OUTPUT'
#define DEBUG_OUTPUT(x,...) hwDebugPrint(x, ##__VA_ARGS__) //!< debug
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:504:3: note: in expansion of macro 'TRANSPORT_DEBUG'
TRANSPORT_DEBUG(PSTR("TSF:SID:OK,ID=%" PRIu8 "\n"),newNodeId); // Node ID assigned
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:507:45: error: expected ')' before 'PRIu8'
TRANSPORT_DEBUG(PSTR("!TSF:SID:FAIL,ID=%" PRIu8 "\n"),newNodeId); // ID is invalid, cannot assign ID
^
/Users/David/Documents/Arduino/libraries/MySensors/MyConfig.h:1815:43: note: in definition of macro 'DEBUG_OUTPUT'
#define DEBUG_OUTPUT(x,...) hwDebugPrint(x, ##__VA_ARGS__) //!< debug
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:507:3: note: in expansion of macro 'TRANSPORT_DEBUG'
TRANSPORT_DEBUG(PSTR("!TSF:SID:FAIL,ID=%" PRIu8 "\n"),newNodeId); // ID is invalid, cannot assign ID
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp: In function 'uint8_t transportPingNode(uint8_t)':
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:612:44: error: expected ')' before 'PRIu8'
TRANSPORT_DEBUG(PSTR("TSF:PNG:SEND,TO=%" PRIu8 "\n"), targetId);
^
/Users/David/Documents/Arduino/libraries/MySensors/MyConfig.h:1815:43: note: in definition of macro 'DEBUG_OUTPUT'
#define DEBUG_OUTPUT(x,...) hwDebugPrint(x, ##__VA_ARGS__) //!< debug
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:612:3: note: in expansion of macro 'TRANSPORT_DEBUG'
TRANSPORT_DEBUG(PSTR("TSF:PNG:SEND,TO=%" PRIu8 "\n"), targetId);
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp: In function 'void transportProcessMessage()':
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:660:40: error: expected ')' before 'PRIu8'
TRANSPORT_DEBUG(PSTR("TSF:MSG:READ,%" PRIu8 "-%" PRIu8 "-%" PRIu8 ",s=%" PRIu8 ",c=%" PRIu8 ",t=%"
^
/Users/David/Documents/Arduino/libraries/MySensors/MyConfig.h:1815:43: note: in definition of macro 'DEBUG_OUTPUT'
#define DEBUG_OUTPUT(x,...) hwDebugPrint(x, ##__VA_ARGS__) //!< debug
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:660:2: note: in expansion of macro 'TRANSPORT_DEBUG'
TRANSPORT_DEBUG(PSTR("TSF:MSG:READ,%" PRIu8 "-%" PRIu8 "-%" PRIu8 ",s=%" PRIu8 ",c=%" PRIu8 ",t=%"
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:669:41: error: expected ')' before 'PRIu8'
TRANSPORT_DEBUG(PSTR("!TSF:MSG:LEN,%" PRIu8 "!=%" PRIu8 "\n"), payloadLength,
^
/Users/David/Documents/Arduino/libraries/MySensors/MyConfig.h:1815:43: note: in definition of macro 'DEBUG_OUTPUT'
#define DEBUG_OUTPUT(x,...) hwDebugPrint(x, ##__VA_ARGS__) //!< debug
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:669:3: note: in expansion of macro 'TRANSPORT_DEBUG'
TRANSPORT_DEBUG(PSTR("!TSF:MSG:LEN,%" PRIu8 "!=%" PRIu8 "\n"), payloadLength,
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:677:42: error: expected ')' before 'PRIu8'
TRANSPORT_DEBUG(PSTR("!TSF:MSG:PVER,%" PRIu8 "!=%" PRIu8 "\n"), mGetVersion(_msg),
^
/Users/David/Documents/Arduino/libraries/MySensors/MyConfig.h:1815:43: note: in definition of macro 'DEBUG_OUTPUT'
#define DEBUG_OUTPUT(x,...) hwDebugPrint(x, ##__VA_ARGS__) //!< debug
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:677:3: note: in expansion of macro 'TRANSPORT_DEBUG'
TRANSPORT_DEBUG(PSTR("!TSF:MSG:PVER,%" PRIu8 "!=%" PRIu8 "\n"), mGetVersion(_msg),
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:762:53: error: expected ')' before 'PRIu8'
TRANSPORT_DEBUG(PSTR("TSF:MSG:FPAR OK,ID=%" PRIu8 ",D=%" PRIu8 "\n"), _transportConfig.parentNodeId,
^
/Users/David/Documents/Arduino/libraries/MySensors/MyConfig.h:1815:43: note: in definition of macro 'DEBUG_OUTPUT'
#define DEBUG_OUTPUT(x,...) hwDebugPrint(x, ##__VA_ARGS__) //!< debug
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:762:9: note: in expansion of macro 'TRANSPORT_DEBUG'
TRANSPORT_DEBUG(PSTR("TSF:MSG:FPAR OK,ID=%" PRIu8 ",D=%" PRIu8 "\n"), _transportConfig.parentNodeId,
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:775:49: error: expected ')' before 'PRIu8'
TRANSPORT_DEBUG(PSTR("TSF:MSG:PINGED,ID=%" PRIu8 ",HP=%" PRIu8 "\n"), sender,
^
/Users/David/Documents/Arduino/libraries/MySensors/MyConfig.h:1815:43: note: in definition of macro 'DEBUG_OUTPUT'
#define DEBUG_OUTPUT(x,...) hwDebugPrint(x, ##__VA_ARGS__) //!< debug
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:775:6: note: in expansion of macro 'TRANSPORT_DEBUG'
TRANSPORT_DEBUG(PSTR("TSF:MSG:PINGED,ID=%" PRIu8 ",HP=%" PRIu8 "\n"), sender,
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:789:53: error: expected ')' before 'PRIu8'
TRANSPORT_DEBUG(PSTR("TSF:MSG:PONG RECV,HP=%" PRIu8 "\n"),
^
/Users/David/Documents/Arduino/libraries/MySensors/MyConfig.h:1815:43: note: in definition of macro 'DEBUG_OUTPUT'
#define DEBUG_OUTPUT(x,...) hwDebugPrint(x, ##__VA_ARGS__) //!< debug
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:789:7: note: in expansion of macro 'TRANSPORT_DEBUG'
TRANSPORT_DEBUG(PSTR("TSF:MSG:PONG RECV,HP=%" PRIu8 "\n"),
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp: In function 'bool transportSendWrite(uint8_t, MyMessage&)':
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:1001:42: error: expected ')' before 'PRIu8'
TRANSPORT_DEBUG(PSTR("%sTSF:MSG:SEND,%" PRIu8 "-%" PRIu8 "-%" PRIu8 "-%" PRIu8 ",s=%" PRIu8 ",c=%"
^
/Users/David/Documents/Arduino/libraries/MySensors/MyConfig.h:1815:43: note: in definition of macro 'DEBUG_OUTPUT'
#define DEBUG_OUTPUT(x,...) hwDebugPrint(x, ##__VA_ARGS__) //!< debug
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:1001:2: note: in expansion of macro 'TRANSPORT_DEBUG'
TRANSPORT_DEBUG(PSTR("%sTSF:MSG:SEND,%" PRIu8 "-%" PRIu8 "-%" PRIu8 "-%" PRIu8 ",s=%" PRIu8 ",c=%"
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp: In function 'int16_t transportSignalReport(char)':
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:1174:39: error: expected ')' before 'PRIu8'
TRANSPORT_DEBUG(PSTR("TSF:SIR:CMD=%" PRIu8 ",VAL=%" PRIu16 "\n"), reportCommand, result);
^
/Users/David/Documents/Arduino/libraries/MySensors/MyConfig.h:1815:43: note: in definition of macro 'DEBUG_OUTPUT'
#define DEBUG_OUTPUT(x,...) hwDebugPrint(x, ##__VA_ARGS__) //!< debug
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MyTransport.cpp:1174:2: note: in expansion of macro 'TRANSPORT_DEBUG'
TRANSPORT_DEBUG(PSTR("TSF:SIR:CMD=%" PRIu8 ",VAL=%" PRIu16 "\n"), reportCommand, result);
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MySensorsCore.cpp: In function 'void _begin()':
/Users/David/Documents/Arduino/libraries/MySensors/core/MySensorsCore.cpp:171:42: error: expected ')' before 'PRIu8'
CORE_DEBUG(PSTR("MCO:BGN:INIT OK,TSP=%" PRIu8 "\n"), isTransportReady());
^
/Users/David/Documents/Arduino/libraries/MySensors/MyConfig.h:1815:43: note: in definition of macro 'DEBUG_OUTPUT'
#define DEBUG_OUTPUT(x,...) hwDebugPrint(x, ##__VA_ARGS__) //!< debug
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MySensorsCore.cpp:171:2: note: in expansion of macro 'CORE_DEBUG'
CORE_DEBUG(PSTR("MCO:BGN:INIT OK,TSP=%" PRIu8 "\n"), isTransportReady());
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MySensorsCore.cpp: In function 'bool _processInternalMessages()':
/Users/David/Documents/Arduino/libraries/MySensors/core/MySensorsCore.cpp:409:41: error: expected ')' before 'PRIu8'
CORE_DEBUG(PSTR("MCO:PIM:NODE REG=%" PRIu8 "\n"), _coreConfig.nodeRegistered); // node registration
^
/Users/David/Documents/Arduino/libraries/MySensors/MyConfig.h:1815:43: note: in definition of macro 'DEBUG_OUTPUT'
#define DEBUG_OUTPUT(x,...) hwDebugPrint(x, ##__VA_ARGS__) //!< debug
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MySensorsCore.cpp:409:4: note: in expansion of macro 'CORE_DEBUG'
CORE_DEBUG(PSTR("MCO:PIM:NODE REG=%" PRIu8 "\n"), _coreConfig.nodeRegistered); // node registration
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MySensorsCore.cpp: In function 'int8_t _sleep(uint32_t, bool, uint8_t, uint8_t, uint8_t, uint8_t)':
/Users/David/Documents/Arduino/libraries/MySensors/core/MySensorsCore.cpp:542:33: error: expected ')' before 'PRIu32'
CORE_DEBUG(PSTR("MCO:SLP:MS=%" PRIu32 ",SMS=%" PRIu8 ",I1=%" PRIu8 ",M1=%" PRIu8 ",I2=%" PRIu8
^
/Users/David/Documents/Arduino/libraries/MySensors/MyConfig.h:1815:43: note: in definition of macro 'DEBUG_OUTPUT'
#define DEBUG_OUTPUT(x,...) hwDebugPrint(x, ##__VA_ARGS__) //!< debug
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MySensorsCore.cpp:542:2: note: in expansion of macro 'CORE_DEBUG'
CORE_DEBUG(PSTR("MCO:SLP:MS=%" PRIu32 ",SMS=%" PRIu8 ",I1=%" PRIu8 ",M1=%" PRIu8 ",I2=%" PRIu8
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MySensorsCore.cpp:572:35: error: expected ')' before 'PRIu32'
CORE_DEBUG(PSTR("MCO:SLP:MS=%" PRIu32 "\n"), sleepingTimeMS);
^
/Users/David/Documents/Arduino/libraries/MySensors/MyConfig.h:1815:43: note: in definition of macro 'DEBUG_OUTPUT'
#define DEBUG_OUTPUT(x,...) hwDebugPrint(x, ##__VA_ARGS__) //!< debug
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MySensorsCore.cpp:572:4: note: in expansion of macro 'CORE_DEBUG'
CORE_DEBUG(PSTR("MCO:SLP:MS=%" PRIu32 "\n"), sleepingTimeMS);
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MySensorsCore.cpp:635:34: error: expected ')' before 'PRIi8'
CORE_DEBUG(PSTR("MCO:SLP:WUP=%" PRIi8 "\n"), result); // sleep wake-up
^
/Users/David/Documents/Arduino/libraries/MySensors/MyConfig.h:1815:43: note: in definition of macro 'DEBUG_OUTPUT'
#define DEBUG_OUTPUT(x,...) hwDebugPrint(x, ##__VA_ARGS__) //!< debug
^
/Users/David/Documents/Arduino/libraries/MySensors/core/MySensorsCore.cpp:635:2: note: in expansion of macro 'CORE_DEBUG'
CORE_DEBUG(PSTR("MCO:SLP:WUP=%" PRIi8 "\n"), result); // sleep wake-up
^
I'm not sure why this only occurs with the GertSanders board definitions. I hope we can find a solution on this.