KPOP - Możliwość odczytania aktualnej jednostki kanału

krycha88
Posts: 5208
Joined: Fri Nov 16, 2018 7:25 am

Post

Napisałem w temacie KPOP ale tam będzie mi się ciężko przebić z mało istotnym technicznym problemem :P Więc napisałem osobny wątek. Jeżeli to nie problem to proszę o dodanie w Supla::Channel możliwość odczytania jednostki kanału.
https://gui-generic-builder.supla.io/
User avatar
Robert Błaszczak
Posts: 4011
Joined: Sat Dec 22, 2018 8:55 pm
Location: Zielona Góra

Post

Popieram. Podaną w Cloud jednostkę będzie można wyświetlić na wyświetlaczu.
Pozdrawiam
Robert Błaszczak


Moja prywatna strona: www.blaszczak.pl
User avatar
klew
Posts: 8357
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

W Supła:: Channel to nie przejdzie. W klasie od kpop są gettery i są też metody zwracające sformatowany tekst z jednostkami i przeliczone
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

Napisz jeszcze co i dlaczego chciałbyś zrobić. Może jakoś to uda się dodać
Widzimy się na Supla Offline Party vol. 2 :!:
krycha88
Posts: 5208
Joined: Fri Nov 16, 2018 7:25 am

Post

Nie chciałbym przechowywać dodatkowych obiektów po swojej stronie. Odczytywanie wartości np. dla OLED robię jak niżej jest to bardzo proste i uniwersalne

Code: Select all

  auto channel = getChanelByChannelNumber(oled[state->currentFrame].chanelSensor);

  if (channel && channel->getChannelType() == SUPLA_CHANNELTYPE_PRESSURESENSOR) {
    double lastPressure = channel->getValueDouble();

    displayUiGeneral(display, state, x, y, getPressureString(lastPressure), "hPa", pressure_bits);
  }
i do pełni szczęści brakuje mi

Code: Select all

const char* unit = channel->getChannelUnit(); 
https://gui-generic-builder.supla.io/
User avatar
klew
Posts: 8357
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

Mogę trochę te klasy KPOP/KLOP przeorganizować, aby te podstawowe parametry działały na klasie Supla::Channel.
Tylko mam tutaj kilka propozycji:
1. KPOP/KLOP mają nie tylko "jednostkę za wartością", ale też "przed", oraz ustawiane spacje między wartością i jednostką. Dlatego powstał getFormattedValue(), który zwraca gotowy char* z uwzględnieniem tych wszystkich ustawień, a także z obsługą wartości ---
2. Można tutaj ujednolicić interfejs i dla wszystkich typów kanałów zrobić metodę "getFormattedValue", która zwraca char* z wartością i jednostką (taką samą jak w apce). Wtedy nie trzeba będzie sprawdzać typów kanałów, tylko pobierać getFormattedValue()
Widzimy się na Supla Offline Party vol. 2 :!:
krycha88
Posts: 5208
Joined: Fri Nov 16, 2018 7:25 am

Post

klew wrote: Sun Mar 10, 2024 6:56 pm Mogę trochę te klasy KPOP/KLOP przeorganizować, aby te podstawowe parametry działały na klasie Supla::Channel.
Tylko mam tutaj kilka propozycji:
1. KPOP/KLOP mają nie tylko "jednostkę za wartością", ale też "przed", oraz ustawiane spacje między wartością i jednostką. Dlatego powstał getFormattedValue(), który zwraca gotowy char* z uwzględnieniem tych wszystkich ustawień, a także z obsługą wartości ---
2. Można tutaj ujednolicić interfejs i dla wszystkich typów kanałów zrobić metodę "getFormattedValue", która zwraca char* z wartością i jednostką (taką samą jak w apce). Wtedy nie trzeba będzie sprawdzać typów kanałów, tylko pobierać getFormattedValue()
Druga opcja brzmi ekstra. Ale ja nie będę narzekać i każda opcja będzie dobra ;)
https://gui-generic-builder.supla.io/
SOYER
Posts: 831
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry

Post

krycha88 wrote: Sun Mar 10, 2024 8:56 pm
klew wrote: Sun Mar 10, 2024 6:56 pm Mogę trochę te klasy KPOP/KLOP przeorganizować, aby te podstawowe parametry działały na klasie Supla::Channel.
Tylko mam tutaj kilka propozycji:
1. KPOP/KLOP mają nie tylko "jednostkę za wartością", ale też "przed", oraz ustawiane spacje między wartością i jednostką. Dlatego powstał getFormattedValue(), który zwraca gotowy char* z uwzględnieniem tych wszystkich ustawień, a także z obsługą wartości ---
2. Można tutaj ujednolicić interfejs i dla wszystkich typów kanałów zrobić metodę "getFormattedValue", która zwraca char* z wartością i jednostką (taką samą jak w apce). Wtedy nie trzeba będzie sprawdzać typów kanałów, tylko pobierać getFormattedValue()
Druga opcja brzmi ekstra. Ale ja nie będę narzekać i każda opcja będzie dobra ;)
👍

Return to “supla-dev”