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

Merge branch 'dev' into 'master'

added .begin() method

See merge request !1
parents 04444b33 4be5b3bc
No related branches found
No related tags found
1 merge request!1added .begin() method
...@@ -48,7 +48,8 @@ void setup() { ...@@ -48,7 +48,8 @@ void setup() {
sSerial.begin(SERIAL_BAUD); sSerial.begin(SERIAL_BAUD);
//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);
psnBroker.begin(sSerial);
} }
void loop() { void loop() {
......
...@@ -67,10 +67,12 @@ void setup() { ...@@ -67,10 +67,12 @@ void setup() {
sSerial.begin(SERIAL_BAUD); sSerial.begin(SERIAL_BAUD);
//Lege fest welche Serielle Schnittstelle für sPSN verwendet werden soll //Lege fest welche Serielle Schnittstelle für sPSN verwendet werden soll
psnClient.setStream(sSerial); //psnClient.setStream(sSerial);
//Lege Callback-Funktion fest (wird ausgeführt wenn neue Daten ankommen) //Lege Callback-Funktion fest (wird ausgeführt wenn neue Daten ankommen)
psnClient.setCallback(myCallback); //psnClient.setCallback(myCallback);
psnClient.begin(sSerial, myCallback);
Serial.print("Bitte den eigenen Namen mit einem # eingeben\nund mit Enter bestaetigen. -> "); Serial.print("Bitte den eigenen Namen mit einem # eingeben\nund mit Enter bestaetigen. -> ");
Serial.println("#DeinName"); Serial.println("#DeinName");
......
...@@ -85,10 +85,12 @@ void setup() { ...@@ -85,10 +85,12 @@ void setup() {
pinMode(ledPin, OUTPUT); pinMode(ledPin, OUTPUT);
//Lege fest welche Serielle Schnittstelle für sPSN verwendet werden soll //Lege fest welche Serielle Schnittstelle für sPSN verwendet werden soll
psnClient.setStream(sSerial); //psnClient.setStream(sSerial);
//Lege Callback-Funktion fest (wird ausgeführt wenn neue Daten ankommen) //Lege Callback-Funktion fest (wird ausgeführt wenn neue Daten ankommen)
psnClient.setCallback(myCallback); //psnClient.setCallback(myCallback);
psnClient.begin(sSerial, myCallback);
//Lege fest zu welchem Topic Daten empfangen werden sollen //Lege fest zu welchem Topic Daten empfangen werden sollen
psnClient.subscribe(topicSub); psnClient.subscribe(topicSub);
......
...@@ -84,10 +84,12 @@ void setup() { ...@@ -84,10 +84,12 @@ void setup() {
pinMode(buttonPin, INPUT); pinMode(buttonPin, INPUT);
//Lege fest welche Serielle Schnittstelle für sPSN verwendet werden soll //Lege fest welche Serielle Schnittstelle für sPSN verwendet werden soll
psnClient.setStream(sSerial); //psnClient.setStream(sSerial);
//Lege Callback-Funktion fest (wird ausgeführt wenn neue Daten ankommen) //Lege Callback-Funktion fest (wird ausgeführt wenn neue Daten ankommen)
psnClient.setCallback(myCallback); //psnClient.setCallback(myCallback);
psnClient.begin(sSerial, myCallback);
//Lege fest zu welchem Topic Daten empfangen werden sollen //Lege fest zu welchem Topic Daten empfangen werden sollen
psnClient.subscribe(topicSub); psnClient.subscribe(topicSub);
......
...@@ -48,7 +48,8 @@ void setup() { ...@@ -48,7 +48,8 @@ void setup() {
sSerial.begin(SERIAL_BAUD); sSerial.begin(SERIAL_BAUD);
//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);
} }
void loop() { void loop() {
......
...@@ -16,7 +16,16 @@ didacticPSNet::didacticPSNet(){} ...@@ -16,7 +16,16 @@ didacticPSNet::didacticPSNet(){}
didacticPSNet::~didacticPSNet(){} didacticPSNet::~didacticPSNet(){}
didacticPSNet& didacticPSNet::setCallback(void(*callback)(char*, int, char*, int)){ didacticPSNet::begin(Stream& _port){
setStream(_port);
}
didacticPSNet::begin(Stream& _port, PSNET_CALLBACK_SIGNATURE){
setStream(_port);
setCallback(callback);
}
didacticPSNet& didacticPSNet::setCallback(PSNET_CALLBACK_SIGNATURE){
this->callback = callback; this->callback = callback;
return *this; return *this;
} }
...@@ -39,12 +48,16 @@ bool didacticPSNet::handleNetwork(){ ...@@ -39,12 +48,16 @@ bool didacticPSNet::handleNetwork(){
} }
else if(_dataToSend){ else if(_dataToSend){
//send data to network //send data to network
if(!sendData()){ //TODO: test added CSMA_CHECKDELAY + 2nd checkData()
return false; delayMicroseconds(CSMA_CHECK_DELAY_US);
} if(!checkData()){
else{ if(!sendData()){
_dataToSend = false; return false;
_waitingTime = millis()+ random(CSMA_MID_DELAY_MS, CSMA_MAX_DELAY_MS); }
else{
_dataToSend = false;
_waitingTime = millis()+ random(CSMA_MID_DELAY_MS, CSMA_MAX_DELAY_MS);
}
} }
} }
} }
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
#define MSG_TOPIC_MULTI '*' #define MSG_TOPIC_MULTI '*'
#define CSMA_CHECK_DELAY_US 400 //unused? #define CSMA_CHECK_DELAY_US 400
#define CSMA_MIN_DELAY_MS 10 #define CSMA_MIN_DELAY_MS 10
#define CSMA_MID_DELAY_MS 20 #define CSMA_MID_DELAY_MS 20
#define CSMA_MAX_DELAY_MS 30 #define CSMA_MAX_DELAY_MS 30
...@@ -53,6 +53,9 @@ class didacticPSNet ...@@ -53,6 +53,9 @@ class didacticPSNet
int _currentTopicLength = 0; int _currentTopicLength = 0;
int _currentDataLength = 0; int _currentDataLength = 0;
didacticPSNet& setCallback(PSNET_CALLBACK_SIGNATURE);
void setStream(Stream& _port);
int checkData(); int checkData();
bool recieveData(); bool recieveData();
bool sendData(); bool sendData();
...@@ -68,8 +71,8 @@ class didacticPSNet ...@@ -68,8 +71,8 @@ class didacticPSNet
didacticPSNet(); didacticPSNet();
~didacticPSNet(); ~didacticPSNet();
didacticPSNet& setCallback(PSNET_CALLBACK_SIGNATURE); begin(Stream& _port);
void setStream(Stream& _port); begin(Stream& _port, PSNET_CALLBACK_SIGNATURE);
bool handleNetwork(); bool handleNetwork();
bool isDataToSend(); bool isDataToSend();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment