소스 검색

* repeater: onAnonDataRecv(), future code check bug fix (offset 4)
* sensor: onAnonDataRecv(), future request code provision

Scott Powell 9 달 전
부모
커밋
256848208d
2개의 변경된 파일10개의 추가작업 그리고 3개의 파일을 삭제
  1. 2 2
      examples/simple_repeater/MyMesh.cpp
  2. 8 1
      examples/simple_sensor/SensorMesh.cpp

+ 2 - 2
examples/simple_repeater/MyMesh.cpp

@@ -434,9 +434,9 @@ void MyMesh::onAnonDataRecv(mesh::Packet *packet, const uint8_t *secret, const m
 
     data[len] = 0;  // ensure null terminator
     uint8_t reply_len;
-    if (data[0] == 0 || data[0] >= ' ') {   // is password, ie. a login request
+    if (data[4] == 0 || data[4] >= ' ') {   // is password, ie. a login request
       reply_len = handleLoginReq(sender, secret, timestamp, &data[4]);
-    //} else if (data[0] == ANON_REQ_TYPE_*) {   // future type codes
+    //} else if (data[4] == ANON_REQ_TYPE_*) {   // future type codes
       // TODO
     } else {
       reply_len = 0;  // unknown request type

+ 8 - 1
examples/simple_sensor/SensorMesh.cpp

@@ -449,7 +449,14 @@ void SensorMesh::onAnonDataRecv(mesh::Packet* packet, const uint8_t* secret, con
     memcpy(&timestamp, data, 4);
 
     data[len] = 0;  // ensure null terminator
-    uint8_t reply_len = handleLoginReq(sender, secret, timestamp, &data[4]);
+    uint8_t reply_len;
+    if (data[4] == 0 || data[4] >= ' ') {   // is password, ie. a login request
+      reply_len = handleLoginReq(sender, secret, timestamp, &data[4]);
+    //} else if (data[4] == ANON_REQ_TYPE_*) {   // future type codes
+      // TODO
+    } else {
+      reply_len = 0;  // unknown request type
+    }
 
     if (reply_len == 0) return;   // invalid request