Wersja 2.0.24 i zaktualizuj GG, powinno być tak pokazałeś na screenie
Gui-Generic Builder Desktop
-
[email protected]
- Posts: 1584
- Joined: Mon Feb 06, 2023 8:56 am
- Has thanked: 18 times
- Been thanked: 26 times
@robertklepacki94
Wersja 2.0.24 i zaktualizuj GG, powinno być tak pokazałeś na screenie
Wersja 2.0.24 i zaktualizuj GG, powinno być tak pokazałeś na screenie
-
robertklepacki94
- Posts: 1930
- Joined: Thu Sep 02, 2021 1:06 pm
- Has thanked: 5 times
- Been thanked: 14 times
Na szybko zaktualizowałem, w cm liczy poprawnie, ale cały czas przelicza tak jak było nie patrząc na ustawienie w GUI. Wydaje mi się że tu musi być też zmiana jednostek z rodzaju przeliczania a pomiędzy min i max.[email protected] wrote: Fri Aug 07, 2026 6:05 pm @robertklepacki94
Wersja 2.0.24 i zaktualizuj GG, powinno być tak pokazałeś na screenie![]()
Wziąłem udział w Supla Offline Party 2023
-
[email protected]
- Posts: 1584
- Joined: Mon Feb 06, 2023 8:56 am
- Has thanked: 18 times
- Been thanked: 26 times
Yhm , pod opcją 0 jest w cm, pod opcją 1 jest po mojemu, pod 2 po Twojemu, skopiowałem z tego co wkleilesrobertklepacki94 wrote: Fri Aug 07, 2026 8:15 pmNa szybko zaktualizowałem, w cm liczy poprawnie, ale cały czas przelicza tak jak było nie patrząc na ustawienie w GUI. Wydaje mi się że tu musi być też zmiana jednostek z rodzaju przeliczania a pomiędzy min i max.[email protected] wrote: Fri Aug 07, 2026 6:05 pm @robertklepacki94
Wersja 2.0.24 i zaktualizuj GG, powinno być tak pokazałeś na screenie![]()
![]()
-
robertklepacki94
- Posts: 1930
- Joined: Thu Sep 02, 2021 1:06 pm
- Has thanked: 5 times
- Been thanked: 14 times
Ja na GG jestem za cięki na aalizowanie kodu itd, ale pozwoliłem sobie wrzucić twój commit w chata i stwierzdził że w 3 metodzie jest błąd w[email protected] wrote: Sat Aug 08, 2026 5:55 amYhm , pod opcją 0 jest w cm, pod opcją 1 jest po mojemu, pod 2 po Twojemu, skopiowałem z tego co wkleilesrobertklepacki94 wrote: Fri Aug 07, 2026 8:15 pmNa szybko zaktualizowałem, w cm liczy poprawnie, ale cały czas przelicza tak jak było nie patrząc na ustawienie w GUI. Wydaje mi się że tu musi być też zmiana jednostek z rodzaju przeliczania a pomiędzy min i max.[email protected] wrote: Fri Aug 07, 2026 6:05 pm @robertklepacki94
Wersja 2.0.24 i zaktualizuj GG, powinno być tak pokazałeś na screenie![]()
![]()
Code: Select all
Gdzie jest błąd?
Masz:
float percent = (_minRange - distance) * 100.0 / (_minRange - _maxRange);
To jest w praktyce algebraicznie równoważne:
float percent = (distance - _minRange) * 100.0 / (_maxRange - _minRange);
Czyli jest identyczne z trybem 2.
Dlatego oba tryby dają ten sam wynik.
To jest główny błąd.
Jak powinno być
Dla odwrotnego działania trzeba odwrócić wynik procentowy:
float percent = (_maxRange - distance) * 100.0f / (_maxRange - _minRange);
Czyli cały fragment:
else if (_calculation == 2) {
float percent = (_maxRange - distance) * 100.0f / (_maxRange - _minRange);
if (percent < 0.0f) {
percent = 0.0f;
}
if (percent > 100.0f) {
percent = 100.0f;
}
return static_cast<double>(percent);
}
Wtedy:
distance Obliczenie Wynik
10 cm (75-10)/(75-10)*100 100%
20 cm (75-20)/(75-10)*100 84,62%
42,5 cm (75-42,5)/(75-10)*100 50%
60 cm (75-60)/(75-10)*100 23,08%
75 cm (75-75)/(75-10)*100 0%
Czyli poprawka jest tylko tutaj:
Było:
float percent = (_minRange - distance) * 100.0 / (_minRange - _maxRange);
Powinno być:
float percent = (_maxRange - distance) * 100.0f / (_maxRange - _minRange);Wziąłem udział w Supla Offline Party 2023
-
[email protected]
- Posts: 1584
- Joined: Mon Feb 06, 2023 8:56 am
- Has thanked: 18 times
- Been thanked: 26 times
Spoko lux, ja to na szybko zazwyczaj robię więc mogłem coś przekręcić, poprawie wieczoremrobertklepacki94 wrote: Sat Aug 08, 2026 10:58 amJa na GG jestem za cięki na aalizowanie kodu itd, ale pozwoliłem sobie wrzucić twój commit w chata i stwierzdził że w 3 metodzie jest błąd w[email protected] wrote: Sat Aug 08, 2026 5:55 amYhm , pod opcją 0 jest w cm, pod opcją 1 jest po mojemu, pod 2 po Twojemu, skopiowałem z tego co wkleilesrobertklepacki94 wrote: Fri Aug 07, 2026 8:15 pm
Na szybko zaktualizowałem, w cm liczy poprawnie, ale cały czas przelicza tak jak było nie patrząc na ustawienie w GUI. Wydaje mi się że tu musi być też zmiana jednostek z rodzaju przeliczania a pomiędzy min i max.
Jeśli chat pisze tu głupoty to z góry przepraszam ale może faktycznie tu jest błądCode: Select all
Gdzie jest błąd? Masz: float percent = (_minRange - distance) * 100.0 / (_minRange - _maxRange); To jest w praktyce algebraicznie równoważne: float percent = (distance - _minRange) * 100.0 / (_maxRange - _minRange); Czyli jest identyczne z trybem 2. Dlatego oba tryby dają ten sam wynik. To jest główny błąd. Jak powinno być Dla odwrotnego działania trzeba odwrócić wynik procentowy: float percent = (_maxRange - distance) * 100.0f / (_maxRange - _minRange); Czyli cały fragment: else if (_calculation == 2) { float percent = (_maxRange - distance) * 100.0f / (_maxRange - _minRange); if (percent < 0.0f) { percent = 0.0f; } if (percent > 100.0f) { percent = 100.0f; } return static_cast<double>(percent); } Wtedy: distance Obliczenie Wynik 10 cm (75-10)/(75-10)*100 100% 20 cm (75-20)/(75-10)*100 84,62% 42,5 cm (75-42,5)/(75-10)*100 50% 60 cm (75-60)/(75-10)*100 23,08% 75 cm (75-75)/(75-10)*100 0% Czyli poprawka jest tylko tutaj: Było: float percent = (_minRange - distance) * 100.0 / (_minRange - _maxRange); Powinno być: float percent = (_maxRange - distance) * 100.0f / (_maxRange - _minRange);![]()
-
[email protected]
- Posts: 1584
- Joined: Mon Feb 06, 2023 8:56 am
- Has thanked: 18 times
- Been thanked: 26 times
@robertklepacki94
zmieniłem zgodnie z tym co wkleiłeś, ale w ogóle tego nie sprawdzałem, zaktualizuj tylko GG.
zmieniłem zgodnie z tym co wkleiłeś, ale w ogóle tego nie sprawdzałem, zaktualizuj tylko GG.
-
[email protected]
- Posts: 1584
- Joined: Mon Feb 06, 2023 8:56 am
- Has thanked: 18 times
- Been thanked: 26 times
Ustaw przelicznik na kanale w Cloud, dziel przez 100, a po co?pirat wrote: Sun Aug 09, 2026 9:50 am Mam takie pytanie mam soft GG z obsługą czujnika odległości HC-SR04 i dział ok tylko nie wiem jak zrobić by odległość była pokazywana w metrach a nie w centymetrach
-
pirat
- Posts: 184
- Joined: Sun May 12, 2019 12:22 pm
- Been thanked: 1 time
Czujnik mam w zbiorniku z wodą i jakoś tak z przyzwyczajenia wolę metry
Dzielnik przez 100 działa ale podaje mi odległość do lustra wody a a potrzebuje ilość wody całkowita głębokość zbiornika to 2,54m
Mam ustawione tak
mnożnik -1
dzielnik 1
wartość dodana 254
tak jest ok tylko w centymetrach jak to zrobić by było w metrach
Dzielnik przez 100 działa ale podaje mi odległość do lustra wody a a potrzebuje ilość wody całkowita głębokość zbiornika to 2,54m
Mam ustawione tak
mnożnik -1
dzielnik 1
wartość dodana 254
tak jest ok tylko w centymetrach jak to zrobić by było w metrach
-
robertklepacki94
- Posts: 1930
- Joined: Thu Sep 02, 2021 1:06 pm
- Has thanked: 5 times
- Been thanked: 14 times
Teraz działa super lux, dziękuję ci za pomoc[email protected] wrote: Sat Aug 08, 2026 6:33 pm @robertklepacki94
zmieniłem zgodnie z tym co wkleiłeś, ale w ogóle tego nie sprawdzałem, zaktualizuj tylko GG.
Wziąłem udział w Supla Offline Party 2023
