Korekty dla sensorów

Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

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:

Kod: Zaznacz cały

#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
Posty: 5187
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

do pełnego szczęścia przydała by się metoda getCorrection() :)
https://gui-generic-builder.supla.io/
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

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

Kod: Zaznacz cały

double Supla::Correction::get(int channelNumber, bool useSecondaryValue);
Można pobierać ;)
Widzimy się na Supla Offline Party vol. 2 :!:
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

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
Posty: 5187
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

klew pisze: czw mar 25, 2021 1:06 pm

Kod: Zaznacz cały

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
Posty: 5187
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

klew pisze: czw 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/
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

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 :!:
Awatar użytkownika
Goral64
Posty: 3131
Rejestracja: pt gru 27, 2019 6:22 pm
Lokalizacja: Żerniki Wrocławskie
Kontakt:

klew pisze: czw 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

Obrazek
ODPOWIEDZ

Wróć do „Arduino IDE”