Kilka dni temu usunąłem tą listę w klasie Channel, więc już nie ma możliowści iteracji po niejkrycha88 pisze: ↑wt sty 12, 2021 9:54 amTeraz aby odczytać wartość oraz rodzaj czujnika wykorzystuję globalnego vector, chcę się ich pozbyć bo niepotrzebnie zajmują pamięć. Chciałbym wykorzystać to rozwiązanie zaproponowane przez Ciebie ale brakuje możliwości odczytania ostatniej wartości kanału. Czy nie dało by się dorobić prostych metod odczytujących wartość z reg_dev.channels[channelNumber].value?klew pisze: ↑pt mar 13, 2020 9:06 am Define'y z headerów będą dodane zależnie od tego, czy zrobisz include'a, czy nie. Na tej podstawie nie odkryjesz czy dany kanał jest dodany.
Najlepiej pobiegać po tej liście kanałów z channel.h.
Dorzucę jakieś metody get aby pobierać dane, które są potrzebne.
Napisz tylko co potrzebujesz odczytać?
- channel type
- ostatnio odcyztana wartość (o tym już kiedyś pisaliśmy)
- coś jeszcze?
Po kanałach można przejść przy pomocy:Kod: Zaznacz cały
for (auto channel = Supla::Channel::begin(); channel != nullptr; channel = channel->next()) { channel->doSomething(); }
Na razie jedyny get, który jest to "getChannelNumber()".
Ale można zrobić to samo iterując po Element (identycznie jak w powyższym przykładzie).
Dodam gettery. Mam to na liście todo, tylko się zakurzyło . Ale ostatnio walczę z pisaniem testów do biblioteki, więc przyda się mała odskocznia.