1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-07-13 02:22:55 +03:00

- Move all Strings to flash and optimize String usage, saving 4-5 kB of RAM.

- Replace const with constexpr where possible.

- Use default constructor instead of copy constructor for IPAddress variable initialization.

- Add MeshTypeConversionFunctions namespace around TypeConversionFunctions.

- Add MeshUtilityFunctions namespace around UtilityFunctions.

- Add ESP8266WIFIMESH_DISABLE_COMPATIBILITY preprocessor flag to retain compatibility with old code despite new namespaces.

- Add setLogEntryLifetimeMs and setBroadcastResponseTimeoutMs methods to EspnowMeshBackend.

- Move FloodingMesh constant definitions from header to .cpp file to reduce the risk of extra RAM consumption.

- Add deactivateAP method to FloodingMesh.

- Make deactivateAP static and add new non-static deactivateControlledAP method to MeshBackendBase.

- Add example of how to transfer null values using multiStrings to HelloEspnow.ino.

- Improve documentation.

- Improve comments.
This commit is contained in:
Anders
2019-12-21 16:53:18 +01:00
parent 962a23d253
commit a49f047096
27 changed files with 814 additions and 677 deletions

View File

@ -27,6 +27,8 @@
#include <algorithm>
#include "EspnowMeshBackend.h"
namespace TypeCast = MeshTypeConversionFunctions;
namespace EspnowProtocolInterpreter
{
uint8_t espnowMetadataSize()
@ -42,7 +44,7 @@ namespace EspnowProtocolInterpreter
{
uint8_t messageSize = transmissionLength - espnowMetadataSize();
messageContent = uint8ArrayToMultiString(transmissionDataArray + espnowMetadataSize(), messageSize);
messageContent = TypeCast::uint8ArrayToMultiString(transmissionDataArray + espnowMetadataSize(), messageSize);
}
return messageContent;
@ -65,7 +67,7 @@ namespace EspnowProtocolInterpreter
uint64_t espnowGetTransmissionMac(const uint8_t *transmissionDataArray)
{
return macToUint64(transmissionDataArray + espnowTransmissionMacIndex);
return TypeCast::macToUint64(transmissionDataArray + espnowTransmissionMacIndex);
}
uint8_t *espnowGetTransmissionMac(const uint8_t *transmissionDataArray, uint8_t *resultArray)
@ -76,12 +78,12 @@ namespace EspnowProtocolInterpreter
uint64_t espnowGetMessageID(const uint8_t *transmissionDataArray)
{
return uint8ArrayToUint64(transmissionDataArray + espnowMessageIDIndex);
return TypeCast::uint8ArrayToUint64(transmissionDataArray + espnowMessageIDIndex);
}
uint8_t *espnowSetMessageID(uint8_t *transmissionDataArray, uint64_t messageID)
{
return uint64ToUint8Array(messageID, transmissionDataArray + espnowMessageIDIndex);
return TypeCast::uint64ToUint8Array(messageID, transmissionDataArray + espnowMessageIDIndex);
}
bool usesEncryption(uint64_t messageID)