diff --git a/examples/sPSN_Chat/sPSN_Chat.ino b/examples/sPSN_Chat/sPSN_Chat.ino index df7dbe6bdd0abbdab2821ce70bb16757a8f9e34f..21584293e7585e4852932dba4d618303eecbe4ed 100644 --- a/examples/sPSN_Chat/sPSN_Chat.ino +++ b/examples/sPSN_Chat/sPSN_Chat.ino @@ -33,12 +33,12 @@ unsigned long lastTime = 0L; bool dataReadDone = false; //Maximale Nachrichten- und Topic-Länge: -//MAX_LEN_DATA = 20 Zeichen +//MAX_LEN_PAYLOAD = 20 Zeichen //MAX_LEN_TOPICS = 10 Zeichen //kann erhöht werden (z. B. #define MAX_LEN_TOPICS 20) , dann aber Arduino-Mega als Server sinnvoll -char readData[MAX_LEN_DATA * 5] = {'\0'}; -char arrayBuffer[MAX_LEN_DATA + 1] = {'\0'}; +char readData[MAX_LEN_PAYLOAD * 5] = {'\0'}; +char arrayBuffer[MAX_LEN_PAYLOAD + 1] = {'\0'}; int counter = 0; //Arrays für Empfangs- und Sende Topic @@ -105,7 +105,7 @@ void loop() { } //Wenn Daten fertig eingelesen wurden - if (dataReadDone && strlen(readData) <= MAX_LEN_DATA * 5 ) { + if (dataReadDone && strlen(readData) <= MAX_LEN_PAYLOAD * 5 ) { //Wenn "@" vorne steht, dann neuer Chatpartner anlegen (neues Topic dem zugehört wird) if (readData[0] == '@') { //kopiere das neue Topic (den Namen des Chatpartners) in das passende Array @@ -125,9 +125,9 @@ void loop() { } //Wenn normale Nachrichten eingegeben wurden, dann Daten unter eigenem Topic versenden else { - for (int i = 0; i * MAX_LEN_DATA < strlen(readData); i++) { - memset(arrayBuffer, '\0', MAX_LEN_DATA + 1); - strncpy(arrayBuffer, &readData[MAX_LEN_DATA * i], MAX_LEN_DATA); + for (int i = 0; i * MAX_LEN_PAYLOAD < strlen(readData); i++) { + memset(arrayBuffer, '\0', MAX_LEN_PAYLOAD + 1); + strncpy(arrayBuffer, &readData[MAX_LEN_PAYLOAD * i], dataReadDone); //Serial.print("ReadData: ");Serial.print(readData);Serial.print("\t");Serial.print(arrayBuffer); psnClient.publish(topicPub, arrayBuffer); //Solange Daten zu versenden sind (wenn Text länger als max Länge einer Nachricht) diff --git a/examples/sPSN_Client1/sPSN_Client1.ino b/examples/sPSN_Client1/sPSN_Client1.ino index 61997358952e0f61d7bcbb755b57b0f1135b7650..e6d27ad5fb64d54c1e9aaa1c348a234b33830d4d 100644 --- a/examples/sPSN_Client1/sPSN_Client1.ino +++ b/examples/sPSN_Client1/sPSN_Client1.ino @@ -42,7 +42,7 @@ int lastValue = 0; //Maximale Nachrichten- und Topic-Länge: -//MAX_LEN_DATA = 20 Zeichen +//MAX_LEN_PAYLOAD = 20 Zeichen //MAX_LEN_TOPICS = 10 Zeichen //kann erhöht werden (z. B. #define MAX_LEN_TOPICS 20) , dann aber Arduino-Mega als Server sinnvoll @@ -110,7 +110,7 @@ void loop() { //lese den Poti erneut ein currentValue = analogRead(potiPin); //setze den Inhalt des Puffer-Arrays auf 0 - char data[MAX_LEN_DATA] = {0}; + char data[MAX_LEN_PAYLOAD] = {0}; //wandle int-Wert in ASCII-Zeichen itoa(currentValue, data, 10); //sende analog-Wert diff --git a/examples/sPSN_Client2/sPSN_Client2.ino b/examples/sPSN_Client2/sPSN_Client2.ino index dc3be3bf1df9dec594464c653d6dfe7714bc963f..9e8fedde38d183aa6c1629ff7fdea725b34d2488 100644 --- a/examples/sPSN_Client2/sPSN_Client2.ino +++ b/examples/sPSN_Client2/sPSN_Client2.ino @@ -40,7 +40,7 @@ byte buttonPin = 2; bool lastState = 0; //Maximale Nachrichten- und Topic-Länge: -//MAX_LEN_DATA = 20 Zeichen +//MAX_LEN_PAYLOAD = 20 Zeichen //MAX_LEN_TOPICS = 10 Zeichen //kann erhöht werden (z. B. #define MAX_LEN_TOPICS 20) , dann aber Arduino-Mega als Server sinnvoll @@ -105,7 +105,7 @@ void loop() { //Wenn Flanke erkannt (fallend/steigend) dann übertrage den aktuellen Wert if (lastState != currentState) { //setze den Inhalt des Puffer-Arrays auf 0 - char data[MAX_LEN_DATA] = {0}; + char data[MAX_LEN_PAYLOAD] = {0}; //wandle bool-Wert in ASCII-Zeichen itoa(currentState, data, 10); //sende digital-Wert diff --git a/examples/sPSN_Server/sPSN_Server.ino b/examples/sPSN_Server/sPSN_Server.ino index 849fcb72e38200df68acac04fe11957d251b610e..083672cf9b92b78727923667e629a4a59af34aa2 100644 --- a/examples/sPSN_Server/sPSN_Server.ino +++ b/examples/sPSN_Server/sPSN_Server.ino @@ -37,8 +37,8 @@ // Rx = 10 -> Empfänger | Tx = 11 -> Sender SoftwareSerial sSerial(10, 11); -//Erzeuge Server-Instanz -didacticPSNetServer psnBroker; +//Erzeuge Broker-Instanz +didacticPSNetBroker psnBroker; void setup() { //Starte Serielle Schnittstelle (zum PC) @@ -49,7 +49,7 @@ void setup() { //Lege fest welche Serielle Schnittstelle für sPSN verwendet werden soll //psnBroker.setStream(sSerial); - psnClient.begin(sSerial); + psnBroker.begin(sSerial); } void loop() { diff --git a/src/didacticNet.h b/src/didacticNet.h index f3ba8ab5342a49772ea0e424801bad12a9d890ea..632e2d47959ef0da6f8ff231c635e36860a9de3b 100644 --- a/src/didacticNet.h +++ b/src/didacticNet.h @@ -32,7 +32,7 @@ #define MAX_NR_TOPICS_CLIENT 5 #define MAX_NR_TOPICS_BROKER 20 #define MAX_LEN_TOPICS 10 -#define MAX_LEN_DATA 20 +#define MAX_LEN_PAYLOAD 20 class didacticPSNet { @@ -42,9 +42,9 @@ class didacticPSNet PSNET_CALLBACK_SIGNATURE; char _bufferTopic[MAX_LEN_TOPICS+1] = {0}; - char _bufferData[MAX_LEN_DATA+1] = {0}; - char _readBufferMessage[MAX_LEN_TOPICS + MAX_LEN_DATA +4+1]; - char _sendBufferMessage[MAX_LEN_TOPICS + MAX_LEN_DATA +4+1]; + char _bufferData[MAX_LEN_PAYLOAD+1] = {0}; + char _readBufferMessage[MAX_LEN_TOPICS + MAX_LEN_PAYLOAD +4+1]; + char _sendBufferMessage[MAX_LEN_TOPICS + MAX_LEN_PAYLOAD +4+1]; bool _dataToSend = false; // int Data to send for queue? unsigned long _waitingTime = 0L; @@ -81,7 +81,7 @@ class didacticPSNetClient : public didacticPSNet private: char _topic[MAX_NR_TOPICS_CLIENT][MAX_LEN_TOPICS+1] = { { 0 } }; - char _data[MAX_NR_TOPICS_CLIENT][MAX_LEN_DATA+1] = { { 0 } }; + char _data[MAX_NR_TOPICS_CLIENT][MAX_LEN_PAYLOAD+1] = { { 0 } }; bool saveData(char*, int); bool getMessageFilter(char); @@ -108,7 +108,7 @@ class didacticPSNetBroker: public didacticPSNet private: char _topic[MAX_NR_TOPICS_BROKER][MAX_LEN_TOPICS+1] = { { 0 } }; - char _data[MAX_NR_TOPICS_BROKER][MAX_LEN_DATA+1] = { { 0 } }; + char _data[MAX_NR_TOPICS_BROKER][MAX_LEN_PAYLOAD+1] = { { 0 } }; bool saveData(char*, int); bool getMessageFilter(char);