Skip to content
Snippets Groups Projects
Commit 303c6bb4 authored by Anian Bühler's avatar Anian Bühler
Browse files

MAX_LEN_PAYLOAD

parent 683baac5
No related branches found
No related tags found
2 merge requests!3Dev to master,!2Dev to Master
...@@ -33,12 +33,12 @@ unsigned long lastTime = 0L; ...@@ -33,12 +33,12 @@ unsigned long lastTime = 0L;
bool dataReadDone = false; bool dataReadDone = false;
//Maximale Nachrichten- und Topic-Länge: //Maximale Nachrichten- und Topic-Länge:
//MAX_LEN_DATA = 20 Zeichen //MAX_LEN_PAYLOAD = 20 Zeichen
//MAX_LEN_TOPICS = 10 Zeichen //MAX_LEN_TOPICS = 10 Zeichen
//kann erhöht werden (z. B. #define MAX_LEN_TOPICS 20) , dann aber Arduino-Mega als Server sinnvoll //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 readData[MAX_LEN_PAYLOAD * 5] = {'\0'};
char arrayBuffer[MAX_LEN_DATA + 1] = {'\0'}; char arrayBuffer[MAX_LEN_PAYLOAD + 1] = {'\0'};
int counter = 0; int counter = 0;
//Arrays für Empfangs- und Sende Topic //Arrays für Empfangs- und Sende Topic
...@@ -105,7 +105,7 @@ void loop() { ...@@ -105,7 +105,7 @@ void loop() {
} }
//Wenn Daten fertig eingelesen wurden //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) //Wenn "@" vorne steht, dann neuer Chatpartner anlegen (neues Topic dem zugehört wird)
if (readData[0] == '@') { if (readData[0] == '@') {
//kopiere das neue Topic (den Namen des Chatpartners) in das passende Array //kopiere das neue Topic (den Namen des Chatpartners) in das passende Array
...@@ -125,9 +125,9 @@ void loop() { ...@@ -125,9 +125,9 @@ void loop() {
} }
//Wenn normale Nachrichten eingegeben wurden, dann Daten unter eigenem Topic versenden //Wenn normale Nachrichten eingegeben wurden, dann Daten unter eigenem Topic versenden
else { else {
for (int i = 0; i * MAX_LEN_DATA < strlen(readData); i++) { for (int i = 0; i * MAX_LEN_PAYLOAD < strlen(readData); i++) {
memset(arrayBuffer, '\0', MAX_LEN_DATA + 1); memset(arrayBuffer, '\0', MAX_LEN_PAYLOAD + 1);
strncpy(arrayBuffer, &readData[MAX_LEN_DATA * i], MAX_LEN_DATA); strncpy(arrayBuffer, &readData[MAX_LEN_PAYLOAD * i], dataReadDone);
//Serial.print("ReadData: ");Serial.print(readData);Serial.print("\t");Serial.print(arrayBuffer); //Serial.print("ReadData: ");Serial.print(readData);Serial.print("\t");Serial.print(arrayBuffer);
psnClient.publish(topicPub, arrayBuffer); psnClient.publish(topicPub, arrayBuffer);
//Solange Daten zu versenden sind (wenn Text länger als max Länge einer Nachricht) //Solange Daten zu versenden sind (wenn Text länger als max Länge einer Nachricht)
... ...
......
...@@ -42,7 +42,7 @@ int lastValue = 0; ...@@ -42,7 +42,7 @@ int lastValue = 0;
//Maximale Nachrichten- und Topic-Länge: //Maximale Nachrichten- und Topic-Länge:
//MAX_LEN_DATA = 20 Zeichen //MAX_LEN_PAYLOAD = 20 Zeichen
//MAX_LEN_TOPICS = 10 Zeichen //MAX_LEN_TOPICS = 10 Zeichen
//kann erhöht werden (z. B. #define MAX_LEN_TOPICS 20) , dann aber Arduino-Mega als Server sinnvoll //kann erhöht werden (z. B. #define MAX_LEN_TOPICS 20) , dann aber Arduino-Mega als Server sinnvoll
...@@ -110,7 +110,7 @@ void loop() { ...@@ -110,7 +110,7 @@ void loop() {
//lese den Poti erneut ein //lese den Poti erneut ein
currentValue = analogRead(potiPin); currentValue = analogRead(potiPin);
//setze den Inhalt des Puffer-Arrays auf 0 //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 //wandle int-Wert in ASCII-Zeichen
itoa(currentValue, data, 10); itoa(currentValue, data, 10);
//sende analog-Wert //sende analog-Wert
... ...
......
...@@ -40,7 +40,7 @@ byte buttonPin = 2; ...@@ -40,7 +40,7 @@ byte buttonPin = 2;
bool lastState = 0; bool lastState = 0;
//Maximale Nachrichten- und Topic-Länge: //Maximale Nachrichten- und Topic-Länge:
//MAX_LEN_DATA = 20 Zeichen //MAX_LEN_PAYLOAD = 20 Zeichen
//MAX_LEN_TOPICS = 10 Zeichen //MAX_LEN_TOPICS = 10 Zeichen
//kann erhöht werden (z. B. #define MAX_LEN_TOPICS 20) , dann aber Arduino-Mega als Server sinnvoll //kann erhöht werden (z. B. #define MAX_LEN_TOPICS 20) , dann aber Arduino-Mega als Server sinnvoll
...@@ -105,7 +105,7 @@ void loop() { ...@@ -105,7 +105,7 @@ void loop() {
//Wenn Flanke erkannt (fallend/steigend) dann übertrage den aktuellen Wert //Wenn Flanke erkannt (fallend/steigend) dann übertrage den aktuellen Wert
if (lastState != currentState) { if (lastState != currentState) {
//setze den Inhalt des Puffer-Arrays auf 0 //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 //wandle bool-Wert in ASCII-Zeichen
itoa(currentState, data, 10); itoa(currentState, data, 10);
//sende digital-Wert //sende digital-Wert
... ...
......
...@@ -37,8 +37,8 @@ ...@@ -37,8 +37,8 @@
// Rx = 10 -> Empfänger | Tx = 11 -> Sender // Rx = 10 -> Empfänger | Tx = 11 -> Sender
SoftwareSerial sSerial(10, 11); SoftwareSerial sSerial(10, 11);
//Erzeuge Server-Instanz //Erzeuge Broker-Instanz
didacticPSNetServer psnBroker; didacticPSNetBroker psnBroker;
void setup() { void setup() {
//Starte Serielle Schnittstelle (zum PC) //Starte Serielle Schnittstelle (zum PC)
...@@ -49,7 +49,7 @@ void setup() { ...@@ -49,7 +49,7 @@ void setup() {
//Lege fest welche Serielle Schnittstelle für sPSN verwendet werden soll //Lege fest welche Serielle Schnittstelle für sPSN verwendet werden soll
//psnBroker.setStream(sSerial); //psnBroker.setStream(sSerial);
psnClient.begin(sSerial); psnBroker.begin(sSerial);
} }
void loop() { void loop() {
... ...
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
#define MAX_NR_TOPICS_CLIENT 5 #define MAX_NR_TOPICS_CLIENT 5
#define MAX_NR_TOPICS_BROKER 20 #define MAX_NR_TOPICS_BROKER 20
#define MAX_LEN_TOPICS 10 #define MAX_LEN_TOPICS 10
#define MAX_LEN_DATA 20 #define MAX_LEN_PAYLOAD 20
class didacticPSNet class didacticPSNet
{ {
...@@ -42,9 +42,9 @@ class didacticPSNet ...@@ -42,9 +42,9 @@ class didacticPSNet
PSNET_CALLBACK_SIGNATURE; PSNET_CALLBACK_SIGNATURE;
char _bufferTopic[MAX_LEN_TOPICS+1] = {0}; char _bufferTopic[MAX_LEN_TOPICS+1] = {0};
char _bufferData[MAX_LEN_DATA+1] = {0}; char _bufferData[MAX_LEN_PAYLOAD+1] = {0};
char _readBufferMessage[MAX_LEN_TOPICS + MAX_LEN_DATA +4+1]; char _readBufferMessage[MAX_LEN_TOPICS + MAX_LEN_PAYLOAD +4+1];
char _sendBufferMessage[MAX_LEN_TOPICS + MAX_LEN_DATA +4+1]; char _sendBufferMessage[MAX_LEN_TOPICS + MAX_LEN_PAYLOAD +4+1];
bool _dataToSend = false; // int Data to send for queue? bool _dataToSend = false; // int Data to send for queue?
unsigned long _waitingTime = 0L; unsigned long _waitingTime = 0L;
...@@ -81,7 +81,7 @@ class didacticPSNetClient : public didacticPSNet ...@@ -81,7 +81,7 @@ class didacticPSNetClient : public didacticPSNet
private: private:
char _topic[MAX_NR_TOPICS_CLIENT][MAX_LEN_TOPICS+1] = { { 0 } }; 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 saveData(char*, int);
bool getMessageFilter(char); bool getMessageFilter(char);
...@@ -108,7 +108,7 @@ class didacticPSNetBroker: public didacticPSNet ...@@ -108,7 +108,7 @@ class didacticPSNetBroker: public didacticPSNet
private: private:
char _topic[MAX_NR_TOPICS_BROKER][MAX_LEN_TOPICS+1] = { { 0 } }; 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 saveData(char*, int);
bool getMessageFilter(char); bool getMessageFilter(char);
... ...
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment