HomeMade
openlog - Wersja do druku

+- HomeMade (http://sp-hm.pl)
+-- Dział: Oprogramowanie (/forum-84.html)
+--- Dział: Technika programowania mikroprocesorów (/forum-85.html)
+--- Wątek: openlog (/thread-4183.html)

Strony: 1 2


openlog - SQ4AVS - 16-11-2021 17:32

Może ktoś z Kolegów spotkał się z problemem złego zapisywania przez openlog danych, oczywiste rzeczy wykluczam, zła prędkość, bity stopu, parzystość. Podsłuch transmisji pokazuje że wszystko jest ok. Wychodzi bezkształtna masa znaków, przykład w załączniku[attachment=17470]


RE: openlog - SQ8MVY - 17-11-2021 19:15

Witam,

Za mało informacji podałeś. Nie przedstawiłeś, co jest w strumieniu wejściowym do zapisania.

Co to pliku, który wystawiłeś. Jest jak najbardziej poprawny. Plik config.txt jest zapisywany na karcie przez firmware openlog-a i zawiera aktualne ustawienia openlog-a zapisane w eeprom.

Format tego pliku narzucony jest przez składnie w liniach 1119 do 1148 kodu źródłowego pełnego openlog-a ( funkcja RecordConfigFile(void)). Są trzy wersje kodu, różniące się ilością fjuczerów wbudowanych.

Skoro ten plik powstaje na karcie, to świadczyć może o tym, że openlog jest przełączany w stan komend, a strumień, który do niego leci wywołuje zapis tego pliku na kartę. Polecam zapoznać się z dokumentacją oraz/lub/i
pobieżnie z kodem źródłowym ( dla własnej ciekawości )

Strona projektu, jak zwykle na github:
OpenLog firmware

----------------------------
Ach przpraszam Rafale, na telefonie nie zauważyłem drugiego pliku z zawartością w Twoim poście.

Zawartość pliku z zapisanym logiem wygląda jak niezgodność w baudrate.
Podepnij OpenLog-a do komputera przez adapter USB <-> UART i pod terminalem ( putty, minicom, gtkterm lub inny ) sprawdź, czy poprawnie się on zgłasza na tej ustawionej prędkości 9600 baud.

--------------------
Złożyłem na szybko z ciekawości OpenLoga na arduino NANO z podpiętym adapterem kart microSD. Wsad w wersji v4.3 - najnowszy z zeszłego miesiąca.
Wszystko działa od ręki: Prędkość defaultowa 9600 8n1, karta uSD - pojemność 32GB, logowanie danych: słowa wprowadzane z klawiatury w terminalu na komputerze, OpenLog podpięty przez USB <-> UART

Wynik na zdjęciu w załączniku:
[attachment=17474]

----------------
Jedyna istotna różnica w konfiguracji u Ciebie, to znak "escape", który przełącza OpenLog-a z trybu logowania do trybu komend. I tu chyba jest problem.
Domyślnie jest to znak o wartości 26, czyli spoza zakresu znaków ASCII. Znaki spoza zakresu znaków drukowalnych nie są logowane.
U ciebie jest to wartość 36, która to wartość należy do znaków ASCII ( jest to znak dolara $ ), które są logowane.

Więc jeżeli w strumieniu pojawi się u Ciebie trzy razy ten znak, to OpenLog wychodzi z trybu logowania i dzieją się złe rzeczy, bo nadchodzący strumień pewnie zmienia konfigurację pracy OpenLoga ( być może i baudrate). w locie.

Znak o wartości 26 to jest Ctrl + z znak specjalny o nazwie SUB, nie drukowalny. Zmień sobie wartość 36 na inną ( niech będzie domyślna: 26 ) i OpenLog zacznie działać poprawnie.


RE: openlog - SQ4AVS - 18-11-2021 21:41

Pawle sprawdzę w weekend i dam znać. Dzięki


RE: openlog - SQ8MVY - 18-11-2021 22:20

Rafale,

Przy okazji sprawdź jak masz ustawione fusebity w AVR-ku. Szczególnie bity związane z wyborem źródła taktowania procka - ma być jako external crystal
oraz wyłączony podział taktowania CPU przez 8. Jeśli będziesz miał inaczej, to również nie będzie poprawnie działać.


RE: openlog - SQ4AVS - 19-11-2021 21:11

Pawle mówisz o procku open loga?


RE: openlog - SQ8MVY - 20-11-2021 0:44

tak, dokładnie o procku OpenLog-a ( atmega328 )


RE: openlog - SQ4AVS - 21-11-2021 16:27

Chyba się wyjaśniło, siedzi kwarc 8MHz na płytce zamiast 16. Poszukam 16 i dam znać. Made in China.....


RE: openlog - SP6LUN - 22-11-2021 9:43

Może tymczasowo wystarczy zmienić prędkość na 19200 w openlogu lub 4800 z drugiej strony...


RE: openlog - SQ4AVS - 22-11-2021 17:56

Myślę, że można spróbować


RE: openlog - SQ8MVY - 22-11-2021 18:29

A to zaskoczenie z tym kwarcem.
Wydaje mi się, że by było o tej wpadce głośno w internecie.. Może nie szukałem zbyt głęboko, hi.

Niemniej, warto zmienić kwarc z tego 8MHz na docelowy 16MHz, bo dla takiego taktowania skompilowany jest firmware.