michael.873 napisał(a):
Problem pojawia się gdy odpalę server ntp oraz sockb w module
Tak i muszę o tym wspomnieć w poradniku
jakimś - jak sobie z tym radzić - bo oczywiście można zaradzić ale najpierw trzeba wiedzieć z czego to wynika
a powód jest prozaiczny - chociaż ja sam spotkałem się z tym problemem dopiero kilka dni temu może tydzień ... gdy chciałem przeprogramować pracujący u mnie już chyba od ponad roku MIS(i)O Blueclocka ..... i QURNA - za KAŻDYM RAZEM równo zatrzymywał się bootloader na 57% i koniec - no koniec - za KAŻDYM razem .... ale mnie to rozjuszyło - a przecież mam też obok świeży Magic MATRIX i działa - gdzie wsad DUUUŻO większ bo aż 32 kb i śmiga aż miło. Mam obok zegarek z Yellowbooka i też śmiga aż miło bootloader - tymczasem na KAŻDYM również śmiga NTP poprzez SOCKB
więc ja nie mogłem tego na początku skojarzyć z tym NTP - no ale się zacietrzewiłem i zacząłem temat rąbać siekierą - sprawdzać i oczywiście też szybko doszedłem, że przez kabel RS232 ślicznie śmiga a po wifi nie
dałem nowy moduł wifi (bez ustawionego NTP) i zadziałało ! ... jest trop - coś się dzieje gdy ustawię NTP - więc ustawiłem i BACH! znowu zacinka na 57% !
no to zmieniłem troszkę wsad żeby hex było o 100 bajtów większy - i znowu zacinka ale teraz zawsze na 21% - później jak zmieniałem to zacinka pojawiała się i tak ale zawsze na jakimś innym konkretnym procencie
No więc postanowiłem zabawić się w detektywa - no cóż mając zestaw ATB pod ręką a w nim przejściówkę USB-RS232 postanowiłem założyć PODSŁUCH na linii procka i wifi (miałem pozwolenie z ABW, CBA, CBeŚ i sądu)
no i TRAAACH - podsłuch zadziałał jak taśmy prawdy u Sowy - od razu wyszło na jaw, że podczas odbierania danych z bootloadera nadlatuje co?
KOCIA RAMKA czasu z NTP !!!!
hahahaha no to cię mam, pomyślałem ty terrorysto NTP !
---------------------------------------------------------------------------
WORKAROUND - czyli obejście problemu
w sumie jest proste - odpalasz program ATB-WIFI Config - za pomocą UDP (nie rs232) tylko UDP podłączasz się do modułu - kasujesz mu ustawienia SOCKB żeby nie działał na NTP (na czas gdy będziesz się bawił bootloaderem) ... czyli wydajesz polecenie
AT+SOCKB=UDP,22200,1.1.1.1
np taką głupotę - i RESTART modułu
AT+Z
wtedy bootloader będzie śmigał jak miód malina
jak już wgrasz ostatnią wersję i wiesz że już koniec pracy - to ponownie bierzesz w łapki ATB-WIFI Config i tak samo przez UDP ustawiasz sobie SOCKB jak miałeś wcześniej
-------------------------------------------------
mała uwaga - bo zastanawiałem się dlaczego w innych zegarkach obok to działa zaś w tym jednym pojawia mi się taki problem ?
kłopot pojawia się wtedy gdy w swoim urządzeniu nie obsługujesz komunikacji RS232 w trybie transparentnym. Bo wtedy nadlatująca ramka NTP wprawdzie ładnie zostanie odczytana przez procek ale przecież nie w trybie transparentnym tylko przełączamy się w tryb komend AT nieprawdaż ?
w związku z tym ona co jakiś czas siedzi wciąż w buforze modułu WIFI i .... jak nadchodzi praca z bootloaderem - a to się dzieje w trybie transparentnym właśnie - to moduł wifi w końcu ma szansę wypluć ją z siebie - no i robi to w trakcie pracy z bootloaderem
chociaż zastanawiam się jeszcze i muszę to sprawdzić - bo dlaczego w kilku zegarkach obok to działa
bez zmrużenia okiem i tu mam trop że muszę sprawdzić bo zdaje się one działają na innym adresie NTP i czy tu nie ma jakiegoś badziewia - bo może niektóre NTP przysyłają ramkę dwukrotnie ? co by tłumaczyło skąd bierze się taka nadmiarowa czekająca w buforze wifi na wyplucie - jeszcze będę to sprawdzał i dam znać zapewne w jakimś poradniku na ten temat
tymczasem OBEJŚCIE które podałem wyżej sprawdza się w 100% i teraz śmiało programuję zawsze MIS(i)O Blueclocka chociaż no muszę przed i po - wykonać kilka czynności które opisałem
Ale mając narzędzia atnelowskie - i możliwość konfiguracji po UDP czyli nie trzeba WYBEBESZAĆ zegarka i z flaków wyjmować mu organu aby podłączać do respiratora czyli przejściówki USB-RS232 to co za problem ?