Korekty dla sensorów

User avatar
klew
Posts: 8357
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

Dodałem możliwość definowania korekt do wskazań sensorów w bibliotece.
Korekta jest dodawana w momencie ustawiania wartości sensora na kanał.
Będzie to działać dla wszystkich kanałów, które używają typu liczbowego "double" do przechowywania danych oraz do kanału temperatura+wilgotność (czujniki odległości, wiatru, ciśnienia, deszczu, wagi, termometry, oraz termometry z wilgotnościomierzem).
Nie działa dla: liczników implusów, liczników elektrycznych, sensorów binarnych (on/off).

Aby dodać korektę należy:

Code: Select all

#include <supla/correction.h>  // potrzebne tylko gdy używamy metody Supla::Correction::add

...
// w setup:
termometr->getChannel()->setCorrection(0.3);
// lub gdy znamy numer kanału:
Supla::Correction::add(0, 0.3); // kanał numer 0

// dla temperatury+wilgotność
dht->getChannel()->setCorrection(2.3); // DHT wymagają czasem dużej korekty temperatury ;P
dht->getChannel()->setCorrection(-10.5, true); // jeszcze większa korekta wilgotności - parametr "true" na końcu mówi o tym, że dotyczy to wilgotności
// lub, gdy znamy numer kanału:
Supla::Correction::add(1, 2.3);
Supla::Correction::add(1, -10.5, true);
Widzimy się na Supla Offline Party vol. 2 :!:
krycha88
Posts: 5208
Joined: Fri Nov 16, 2018 7:25 am

Post

do pełnego szczęścia przydała by się metoda getCorrection() :)
https://gui-generic-builder.supla.io/
User avatar
klew
Posts: 8357
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

krycha88 wrote: Thu Mar 25, 2021 12:40 pm do pełnego szczęścia przydała by się metoda getCorrection() :)

Code: Select all

double Supla::Correction::get(int channelNumber, bool useSecondaryValue);
Można pobierać ;)
Widzimy się na Supla Offline Party vol. 2 :!:
User avatar
klew
Posts: 8357
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

Tylko to nie jest zapisywane w pamięci trawłej, więc i tak musisz w GUI znać co jest ustawione.
Do tego do "get" trzeba znać numer kanału, wiec też musisz wiedzieć na który kanał jest ustawiona korekta.
Kolejna rzecz - aktualnie nie można tego online'owo modyfikować, więc reset modułu jest potrzebny.
Tzn. można użyć metody Supla::Correction::clear() - ale to wywala wszystkie korekcje, więc po tym trzeba by dodać istniejące od nowa.
Widzimy się na Supla Offline Party vol. 2 :!:
krycha88
Posts: 5208
Joined: Fri Nov 16, 2018 7:25 am

Post

klew wrote: Thu Mar 25, 2021 1:06 pm

Code: Select all

double Supla::Correction::get(int channelNumber, bool useSecondaryValue);
Można pobierać ;)
moje niedopatrzenie, chciałem pobrać tą wartość z Supla::Element :)
https://gui-generic-builder.supla.io/
krycha88
Posts: 5208
Joined: Fri Nov 16, 2018 7:25 am

Post

klew wrote: Thu Mar 25, 2021 1:08 pm Tylko to nie jest zapisywane w pamięci trawłej, więc i tak musisz w GUI znać co jest ustawione.
Do tego do "get" trzeba znać numer kanału, wiec też musisz wiedzieć na który kanał jest ustawiona korekta.
Kolejna rzecz - aktualnie nie można tego online'owo modyfikować, więc reset modułu jest potrzebny.
Tzn. można użyć metody Supla::Correction::clear() - ale to wywala wszystkie korekcje, więc po tym trzeba by dodać istniejące od nowa.
dla mnie to nie problem zapisywać dane po swojej stronie, ale może jednak warto to zrobić po stronie biblioteki?
https://gui-generic-builder.supla.io/
User avatar
klew
Posts: 8357
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

Biblioteka na chwilę obecną nie ma zapisu ustawień urządzeń. Jedyne co jest to zapamiętywanie stanu. Korekta odczytu by bardziej pasowała do kategorii "konfiguracji".- tak jak np nr gpio.
Widzimy się na Supla Offline Party vol. 2 :!:
User avatar
Goral64
Posts: 3135
Joined: Fri Dec 27, 2019 6:22 pm
Location: Żerniki Wrocławskie

Post

klew wrote: Thu Mar 25, 2021 2:51 pm Biblioteka na chwilę obecną nie ma zapisu ustawień urządzeń. Jedyne co jest to zapamiętywanie stanu. Korekta odczytu by bardziej pasowała do kategorii "konfiguracji".- tak jak np nr gpio.
Też tak sądzę. Można by ją sobie ustawić w GUI lub w "ino" przy kompilowaniu bez GUI.
Widzimy się na Supla Offline Party Season 2 :D

Image

Return to “Arduino IDE”