SR9WXM - Stacja pogodowa APRS na Magurce Wilkowickiej w Beskidach
    sp3qfe pisze:



    Po prostu uśmiechnąłem się jak usłyszałem bardzo długi czas - krótszy niż 2 sek.

    Wyobraź sobie - jeśli tylko Twoje digi usłyszało ramkę i wstrzymało ją nawet 20 sekund, to skoro to była jedyna usłyszana ramka, to nadal będzie jedyną ramką i nigdzie nie będzie potraktowana jako nowa inna niż ta nadana 20 sekund wcześniej.

    Jeśli natomiast usłyszy tą ramkę inne digi i powtórzy, to wówczas Twoje digi z 20sek też usłyszy powtórzenie i natychmiast skasuje ta ramkę z listy oczekującej na nadanie.


Wiem o jakiej funkcjonalności mówisz ale jednak 20 sekund to za dużo. W przypadku pozycji to by jeszcze przeszło o ile ktoś nie nadaje częściej ale np wywalało by wiadomości. Raz, że opóźnienia były by już nieakceptowalne w czatowaniu na żywo a dwa przynajmniej w przypadku Xastira, program zaczął by retransmitować wiadomości nie doczekawszy się potwierdzenia dostarczenia. W przypadku mojego meteo problem jest to, że w momencie konfiguracji RRDTOOLa definiuję granulację bazy danych RRD wyrażoną w sekundach i jeżeli nie dostanę danych co X sekund, to RRDTOOL wstawia tam NaN co kończy się brzydkimi dziurami na wykresach.

Doimplementowanie viscous digi, czyli śledzenie jak dawno dana stacja była słyszana, oczekiwanie na jej ewentualną retransmisje i na podstawie tych rzeczy wyzwalanie retransmisji, bądź odrzucanie ramki jest w moim przypadku możliwe, mam to w planach natomiast nie będzie to takie trywialne. STM32F100RB którego używam ma tylko 8KB ramu z czego używane w tym momencie jest niecałe 6KB. Oczywiście muszę zostawić zapas na stos, w tym przypadku najmniej 1KB.

Z każdej ramki muszę trzymać:

strzałka Znak spakowany z 6 znaków do jednego 4 bajtowego słowa (uint32_t)
strzałka 4 bity SSID,
strzałka 16 bitowe słowo określające czas kiedy ostatnio stacja była słyszana,
strzałka 8 bitów na odległość w km od digi
strzałka Jakieś flagi typu czy stacja była słyszana bezpośrednio itp

Ogólnie 2x uint32_t czyli 8 bajtów per jeden znak + SSID. To bardzo dużo w moim przypadku, mógłbym tak trzymać maksimum 32 ostatnio odebrane znaki.

Ogólnie rzecz ujmując mogę nieskromnie przyznać, że nastawiałem dość dużo APRSu w regionie i to w dość rzadkich przypadkach kiedy jakaś stacja APRS jest sama sobie a nie jako 'dodatek' to przemiennika czy czegoś innego. Szkoda tylko, że jeżeli chodzi o podbeskidzie to wydaje się być jedynym stałym abonentem radiowym tej sieci smutny


  PRZEJDŹ NA FORUM