From bd1d46130a2f63c137ff61dbcd48187b930a369e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Anian=20B=C3=BChler?=
 <anian.buehler@reutlingen-university.de>
Date: Thu, 29 Apr 2021 11:28:18 +0200
Subject: [PATCH] added properties and keywords

---
 README.md                           |  4 +-
 example/sPSN_Broker/sPSN_Broker.ino | 10 ++---
 example/sPSN_Server/sPSN_Server.ino | 57 +++++++++++++++++++++++++++++
 keywords                            | 40 ++++++++++++++++++++
 library.properties                  |  8 ++++
 5 files changed, 112 insertions(+), 7 deletions(-)
 create mode 100644 example/sPSN_Server/sPSN_Server.ino
 create mode 100644 keywords
 create mode 100644 library.properties

diff --git a/README.md b/README.md
index fa75e0e..797b14d 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
 Library for implementing networks on Arduino boards.
 The functionalities correspond to state of the art technologies, which are didactically reduced.
 
-##Supported so far:
+## Supported so far:
 publish/subscribe network
 
-##
+### usage
diff --git a/example/sPSN_Broker/sPSN_Broker.ino b/example/sPSN_Broker/sPSN_Broker.ino
index 8b03893..da6837f 100644
--- a/example/sPSN_Broker/sPSN_Broker.ino
+++ b/example/sPSN_Broker/sPSN_Broker.ino
@@ -1,5 +1,5 @@
 /**
- *file:  sPSN_Server.ino
+ *file:  sPSN_Broker.ino
  *author:  letsgoING -> info@letsgoing.de
  *
  *description:
@@ -18,7 +18,7 @@
  *           - LED an Pin9
  *
  * Für ein Chat-Netzwerk werden mindestens 3 Arduinos benötigt:
- * Arduino1:   sPSN_Server.ino (dieses Programm)
+ * Arduino1:   sPSN_Broker.ino (dieses Programm)
  *            - IR-Sender an Pin 11 IR-Empfänger an Pin10
  * Arduino2-n: sPSN_Chat.ino
  *            - IR-Sender an Pin 11 IR-Empfänger an Pin10
@@ -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)
@@ -52,6 +52,6 @@ void setup() {
 }
 
 void loop() {
-  //hier verarbeitet der Server alle Daten
+  //hier verarbeitet der Broker alle Daten
   psnBroker.handleNetwork();
 }
diff --git a/example/sPSN_Server/sPSN_Server.ino b/example/sPSN_Server/sPSN_Server.ino
new file mode 100644
index 0000000..8b03893
--- /dev/null
+++ b/example/sPSN_Server/sPSN_Server.ino
@@ -0,0 +1,57 @@
+/**
+ *file:  sPSN_Server.ino
+ *author:  letsgoING -> info@letsgoing.de
+ *
+ *description:
+ * Dieses Programm ist ein Teil eines Beispiels für ein einfaches Pub-Sub-Netzwerk.
+ *
+ * Für ein Sensor-Netwerk werden 3 Arduinos mit IR-Link-Modulen benötigt:
+ * Arduino1: sPSN_Broker.ino (dieses Programm)
+ *           - IR-Sender an Pin 11 IR-Empfänger an Pin10
+ * Arduino2: sPSN_Client1.ino
+ *           - IR-Sender an Pin 11 IR-Empfänger an Pin10
+ *           - Taster an Pin2
+ *           - LED an Pin9
+ * Arduino3: sPSN_Client2.ino
+ *           - IR-Sender an Pin 11 IR-Empfänger an Pin10
+ *           - Poti an PinA0
+ *           - LED an Pin9
+ *
+ * Für ein Chat-Netzwerk werden mindestens 3 Arduinos benötigt:
+ * Arduino1:   sPSN_Server.ino (dieses Programm)
+ *            - IR-Sender an Pin 11 IR-Empfänger an Pin10
+ * Arduino2-n: sPSN_Chat.ino
+ *            - IR-Sender an Pin 11 IR-Empfänger an Pin10
+ *
+ *date:  14.12.2020
+ *version: 1.0
+ */
+
+#include "SoftwareSerial.h"
+#include "didacticNet.h"
+
+//lege Geschwindigkeit für serielle Schnittstellen fest
+#define SERIAL_BAUD 2400
+
+//lege Pins für SoftwareSerielle Schnittstelle fest
+// Rx = 10 -> Empfänger | Tx = 11 -> Sender
+SoftwareSerial sSerial(10, 11);
+
+//Erzeuge Server-Instanz
+didacticPSNetServer psnBroker;
+
+void setup() {
+  //Starte Serielle Schnittstelle (zum PC)
+  Serial.begin(SERIAL_BAUD);
+
+  //Starte SoftwareSerielle Schnittstelle (zu IR-Link-Modulen)
+  sSerial.begin(SERIAL_BAUD);
+
+  //Lege fest welche Serielle Schnittstelle für sPSN verwendet werden soll
+  psnBroker.setStream(sSerial);
+}
+
+void loop() {
+  //hier verarbeitet der Server alle Daten
+  psnBroker.handleNetwork();
+}
diff --git a/keywords b/keywords
new file mode 100644
index 0000000..b76b4a1
--- /dev/null
+++ b/keywords
@@ -0,0 +1,40 @@
+#######################################
+# Syntax Coloring Map didacticNetwork
+#######################################
+
+#######################################
+# Datatypes (KEYWORD1)
+#######################################
+
+didacticPSNet	KEYWORD1	SD
+didacticPSNetBroker	KEYWORD1	SD
+didacticPSNetClient	KEYWORD1	SD
+
+#######################################
+# Methods and Functions (KEYWORD2)
+#######################################
+setCallback	KEYWORD2
+setStream	KEYWORD2
+handleNetwork	KEYWORD2
+isDataToSend	KEYWORD2
+
+publish	KEYWORD2
+subscribe	KEYWORD2
+unsubscribe	KEYWORD2
+
+#######################################
+# Constants (LITERAL1)
+#######################################
+MSG_PRELIMITER	LITERAL1
+MSG_DELIMITER	LITERAL1
+MSG_SEPARATOR	LITERAL1
+
+MSG_PUBLISH	LITERAL1
+MSG_SUBSCRIBE	LITERAL1
+MSG_UPDATE	LITERAL1
+MSG_TOPIC_MULTI	LITERAL1
+
+MAX_NR_TOPICS_CLIENT	LITERAL1
+MAX_NR_TOPICS_BROKER	LITERAL1
+MAX_LEN_TOPICS	LITERAL1
+MAX_LEN_DATA	LITERAL1
diff --git a/library.properties b/library.properties
new file mode 100644
index 0000000..829209a
--- /dev/null
+++ b/library.properties
@@ -0,0 +1,8 @@
+name=didacticNetwork
+version=0.1
+author=letsgoING
+maintainer=letsgoING <info@letsgoing.org>
+sentence=Library for implementing networks on Arduino boards. The functionalities correspond to state of the art technologies, which are didactically reduced.
+category=Communication
+url=https://gitlab.reutlingen-university.de/letsgoing/libraries/didacticnetwork
+includes=didacticNetwork.h
-- 
GitLab