temporaerhaus / ttn-ulm-feinstaub

TTN Ulm particulate matter sensor for Arduino (luftdaten.info project)
https://lora.ulm-digital.com
GNU Affero General Public License v3.0
18 stars 7 forks source link

BME280 und DHT in eigene Klassen #10

Closed Octoate closed 4 years ago

Octoate commented 5 years ago

Hi, ich habe mal ein wenig weiter am Quellcode gearbeitet und ihn ein wenig aufgeräumt. Dabei habe ich die Logik für den BME280 und den DHT in eine eigene "Wrapperklasse" gepackt, damit die Logik im Hauptprogrammteil einfacher wird und weniger "ifdefs" benötigt. So lange ein neuer Sensor die entsprechenden Methoden implementiert, sollte er ganz einfach hinzuzufügen sein. Die Methoden der Sensorimplementierung sollen dabei immer den Wert zurückliefern, der nachher in das Array für die Datenübertragung gepackt wird (in diesem Fall also "round(x * 100)"). Wird ein Wert nicht unterstützt, so liefert die entsprechende Methode, die den Wert zurückliefern sollte, eine "-1" zurück. Das sollte für Momentan ist das nur beim DHT Sensor zum Auslesen des Luftdrucks der Fall.

Apropo Luftdruck: ich würde den Luftdruck des BME280 gerne mit übertragen, bin mir aber nicht sicher, ob ich da auf eurer Seite irgendetwas mit kaputt mache. Ist es ok, wenn ich an den Datenteil noch zwei Bytes mit dem Luftdruck dahinterhänge oder mache ich euch damit im Backend irgendetwas kaputt?

Desweiteren habe ich die Strings in den Flash Speicher gepackt (mit "F(...)") und habe damit ein wenig Speicher sparen können.

CU Tim