|
|
@ -40,6 +40,8 @@ |
|
|
#define TXT_ACK_DELAY 200 |
|
|
#define TXT_ACK_DELAY 200 |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#define FIRMWARE_VER_LEVEL 1 |
|
|
|
|
|
|
|
|
#define REQ_TYPE_GET_STATUS 0x01 // same as _GET_STATS
|
|
|
#define REQ_TYPE_GET_STATUS 0x01 // same as _GET_STATS
|
|
|
#define REQ_TYPE_KEEP_ALIVE 0x02 |
|
|
#define REQ_TYPE_KEEP_ALIVE 0x02 |
|
|
#define REQ_TYPE_GET_TELEMETRY_DATA 0x03 |
|
|
#define REQ_TYPE_GET_TELEMETRY_DATA 0x03 |
|
|
@ -119,7 +121,7 @@ uint8_t MyMesh::handleLoginReq(const mesh::Identity& sender, const uint8_t* secr |
|
|
uint32_t now = getRTCClock()->getCurrentTimeUnique(); |
|
|
uint32_t now = getRTCClock()->getCurrentTimeUnique(); |
|
|
memcpy(reply_data, &now, 4); // response packets always prefixed with timestamp
|
|
|
memcpy(reply_data, &now, 4); // response packets always prefixed with timestamp
|
|
|
reply_data[4] = RESP_SERVER_LOGIN_OK; |
|
|
reply_data[4] = RESP_SERVER_LOGIN_OK; |
|
|
reply_data[5] = 0; // NEW: recommended keep-alive interval (secs / 16)
|
|
|
reply_data[5] = FIRMWARE_VER_LEVEL; // Legacy: was recommended keep-alive interval (secs / 16)
|
|
|
reply_data[6] = client->isAdmin() ? 1 : 0; |
|
|
reply_data[6] = client->isAdmin() ? 1 : 0; |
|
|
reply_data[7] = client->permissions; |
|
|
reply_data[7] = client->permissions; |
|
|
getRNG()->random(&reply_data[8], 4); // random blob to help packet-hash uniqueness
|
|
|
getRNG()->random(&reply_data[8], 4); // random blob to help packet-hash uniqueness
|
|
|
|