Skip to content

Commit 541cd43

Browse files
committed
Merge pull request arduino#13 from mysensors/bugfixes-reported-on-forum
Bug fixed for
2 parents 1616050 + 43d74e2 commit 541cd43

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

libraries/MySensors/Sensor.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,10 @@ boolean Sensor::readMessage() {
454454
uint8_t len = RF24::getDynamicPayloadSize();
455455
RF24::read(&msg, len);
456456

457-
if (!(msg.header.messageType==M_INTERNAL && msg.header.type == I_PING_ACK)) {
457+
uint8_t valid = validate(len-sizeof(header_s));
458+
boolean ok = valid == VALIDATE_OK;
459+
460+
if (ok && !(msg.header.messageType==M_INTERNAL && msg.header.type == I_PING_ACK)) {
458461
delay(ACK_SEND_DELAY); // Small delay here to let other side switch to reading mode
459462
RF24::stopListening();
460463
RF24::openWritingPipe(TO_ADDR(msg.header.last));
@@ -463,8 +466,6 @@ boolean Sensor::readMessage() {
463466
RF24::startListening();
464467
debug(PSTR("Sent ack msg to %d\n"), msg.header.last);
465468
}
466-
uint8_t valid = validate(len-sizeof(header_s));
467-
boolean ok = valid == VALIDATE_OK;
468469

469470
// Make sure string gets terminated ok for full sized messages.
470471
msg.data[len - sizeof(header_s) ] = '\0';

libraries/MySensors/examples/RelayActuator/RelayActuator.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ void loop()
5050
}
5151

5252
void setRelayStatus(message_s message) {
53-
if (message.header.messageType=M_SET_VARIABLE &&
53+
if (message.header.messageType==M_SET_VARIABLE &&
5454
message.header.type==V_LIGHT) {
5555
int incomingRelayStatus = atoi(message.data);
5656
// Change relay state

0 commit comments

Comments
 (0)