diff --git a/library.properties b/library.properties index 0bdfb3f..5f8c107 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=ZHNetwork -version=1.1 +version=1.11 author=Alexey Zholtikov maintainer=Alexey Zholtikov sentence=ESP-NOW based Mesh network for ESP8266/ESP32 diff --git a/src/ZHNetwork.cpp b/src/ZHNetwork.cpp index 9680c62..0738bc8 100644 --- a/src/ZHNetwork.cpp +++ b/src/ZHNetwork.cpp @@ -1,31 +1,17 @@ #include "ZHNetwork.h" -routing_vector_t routingVector; -incoming_queue_t queueForIncomingData; -outgoing_queue_t queueForOutgoingData; -waiting_queue_t queueForRoutingVectorWaiting; +routing_vector_t ZHNetwork::routingVector; +incoming_queue_t ZHNetwork::queueForIncomingData; +outgoing_queue_t ZHNetwork::queueForOutgoingData; +waiting_queue_t ZHNetwork::queueForRoutingVectorWaiting; -const char *firmware PROGMEM{"1.1"}; -const uint8_t broadcastMAC[6]{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; - -bool criticalProcessSemaphore{false}; -bool sentMessageSemaphore{false}; -bool confirmReceivingSemaphore{false}; -bool confirmReceiving{false}; -uint8_t localMAC[6]{0}; -uint8_t numberOfAttemptsToSend{1}; -uint16_t lastMessageID[10]{0}; -uint64_t lastMessageSentTime{0}; - -work_mode_t workMode_{ESP_NOW}; -char netName_[20]{0}; -char apSsid_[32]{"ESP-NOW NODE"}; -char apPassword_[64]{0}; -char staSsid_[32]{0}; -char staPassword_[64]{0}; -uint8_t maxNumberOfAttempts_{3}; -uint8_t maxWaitingTimeBetweenTransmissions_{50}; -uint16_t maxTimeForRoutingInfoWaiting_{500}; +bool ZHNetwork::criticalProcessSemaphore{false}; +bool ZHNetwork::sentMessageSemaphore{false}; +bool ZHNetwork::confirmReceivingSemaphore{false}; +bool ZHNetwork::confirmReceiving{false}; +char ZHNetwork::netName_[20]{0}; +uint8_t ZHNetwork::localMAC[6]{0}; +uint16_t ZHNetwork::lastMessageID[10]{0}; ZHNetwork &ZHNetwork::setOnBroadcastReceivingCallback(on_message_t onBroadcastReceivingCallback) { diff --git a/src/ZHNetwork.h b/src/ZHNetwork.h index 3200fcc..f1e2c9a 100644 --- a/src/ZHNetwork.h +++ b/src/ZHNetwork.h @@ -120,6 +120,32 @@ public: uint16_t getMaxWaitingTimeForRoutingInfo(void); private: + static routing_vector_t routingVector; + static incoming_queue_t queueForIncomingData; + static outgoing_queue_t queueForOutgoingData; + static waiting_queue_t queueForRoutingVectorWaiting; + + static bool criticalProcessSemaphore; + static bool sentMessageSemaphore; + static bool confirmReceivingSemaphore; + static bool confirmReceiving; + static uint8_t localMAC[6]; + static uint16_t lastMessageID[10]; + static char netName_[20]; + + const char *firmware{"1.11"}; + const uint8_t broadcastMAC[6]{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; + work_mode_t workMode_{ESP_NOW}; + char apSsid_[32]{"ESP-NOW NODE"}; + char apPassword_[64]{0}; + char staSsid_[32]{0}; + char staPassword_[64]{0}; + uint8_t maxNumberOfAttempts_{3}; + uint8_t maxWaitingTimeBetweenTransmissions_{50}; + uint8_t numberOfAttemptsToSend{1}; + uint16_t maxTimeForRoutingInfoWaiting_{500}; + uint64_t lastMessageSentTime{0}; + #if defined(ESP8266) static void onDataSent(uint8_t *mac, uint8_t status); static void onDataReceive(uint8_t *mac, uint8_t *data, uint8_t length);