KPOP - Możliwość odczytania aktualnej jednostki kanału
-
krycha88
- Posts: 5575
- Joined: Fri Nov 16, 2018 7:25 am
- Been thanked: 5 times
Napisałem w temacie KPOP ale tam będzie mi się ciężko przebić z mało istotnym technicznym problemem
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/
-
krycha88
- Posts: 5575
- Joined: Fri Nov 16, 2018 7:25 am
- Been thanked: 5 times
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
i do pełni szczęści brakuje mi
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);
}Code: Select all
const char* unit = channel->getChannelUnit(); https://gui-generic-builder.supla.io/
-
klew
- Posts: 13907
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
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()
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()
Najlepsze suple dla Twojego domu 
-
krycha88
- Posts: 5575
- Joined: Fri Nov 16, 2018 7:25 am
- Been thanked: 5 times
Druga opcja brzmi ekstra. Ale ja nie będę narzekać i każda opcja będzie dobraklew 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()
https://gui-generic-builder.supla.io/
-
SOYER
- Posts: 1623
- Joined: Wed Aug 10, 2022 12:29 pm
- Location: Kryry
- Been thanked: 2 times
krycha88 wrote: Sun Mar 10, 2024 8:56 pmDruga opcja brzmi ekstra. Ale ja nie będę narzekać i każda opcja będzie dobraklew 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()![]()
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
