-
Data: 2014-11-12 12:36:07
Temat: Re: Różny czas pomimo synchronizacji z NTP
Od: "Andrzej W." <a...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2014-11-12 o 12:10, Atlantis pisze:
> Hmm.... Wygląda na to, że Raspberry Pi pokazuje dokładnie ten sam czas,
> który widać np. na epochconverter.com albo currenttimestamp.com.
> To na układzie z Atmegą pojawia się jakaś dziwna różnica, wynosząca od
> kilku do kilkudziesięciu sekund. Mam wrażenie, że nie narasta ona w
> wyniku dryfu wprowadzanego przez timer - zwykle jest ona widoczna już po
> aktualizacji czasu, którą mogę też inicjować ręcznie.
>
> Kod funkcji analizującej pakiet NTP w tej chwili wygląda następująco:
>
> uint8_t client_ntp_process_answer(uint8_t *buf, volatile uint32_t
> *time,uint8_t dstport_l){
>
> uint32_t tm_temp=0;
>
> if (dstport_l){
> if (buf[UDP_DST_PORT_L_P]!=dstport_l){
> return(0);
> }
> }
> if (buf[UDP_LEN_H_P]!=0 || buf[UDP_LEN_L_P]!=56 ||
> buf[UDP_SRC_PORT_L_P]!=0x7b){
> // not ntp
> return(0);
> }
> // copy time from the transmit time stamp field:
> tm_temp = ( ((uint32_t)buf[0x52]<<24) | ((uint32_t)buf[0x53]<<16) |
> ((uint32_t)buf[0x54]<<8) | ((uint32_t)buf[0x55]) );
> tm_temp -= 2208988800UL;
> cli();
> *time = tm_temp;
> //*time = ( ( ((uint32_t)buf[0x52]<<24) |
> ((uint32_t)buf[0x53]<<16) | ((uint32_t)buf[0x54]<<8) |
> ((uint32_t)buf[0x55]) ) - 2208988800UL ); //0x83AA7E80
> sei();
> return(1);
> }
>
Ten kod to interpretuje każdy pakiet UDP co ma 56 bajtów, tak?
Żeby czytać właściwy pakiet warto sprawdzić czy odpowiedź zawiera
znacznik czasu wysłany przez Ciebie w zapytaniu. (RFC4330 Originate
Timestamp).
Ja u siebie czytam czas z pozycji [40:43], widzę, że Ty czytasz [82:85].
Ten bufor to "czyste" dane z pakietu UDP, czy jest tam też jakiś
nagłówek? Bo czytasz znacznie dalej niż długość pakietu UDP.
--
AWa.
Następne wpisy z tego wątku
- 12.11.14 12:43 Atlantis
- 12.11.14 12:49 Atlantis
- 12.11.14 12:59 Marek
- 12.11.14 13:49 Atlantis
- 12.11.14 14:01 Andrzej W.
- 12.11.14 14:06 Atlantis
- 12.11.14 14:19 Atlantis
- 12.11.14 15:02 Marek
- 12.11.14 15:45 Atlantis
- 12.11.14 17:21 Jakub Rakus
- 12.11.14 17:43 Atlantis
- 12.11.14 19:50 Jakub Rakus
- 12.11.14 19:53 Marek
- 12.11.14 20:00 Atlantis
- 12.11.14 20:07 Marek
Najnowsze wątki z tej grupy
- Dzisiaj Bentlejem czyli przybieżeli sześciu Króli do Rysia na kasie
- ciekawy układ magnetofonu
- Mikroskop 3D
- Jak być bezpiecznym z Li-Ion?
- Szukam monitora HDMI ok. 4"
- Obcinaczki z łapaczem
- termostat do lodowki
- SEP 1 kV E
- Aku LiPo źródło dostaw - ktoś poleci ?
- starość nie radość
- Ataki hakerskie
- Akumulatorki Ni-MH AA i AAA Green Cell
- Dławik CM
- JDG i utylizacja sprzetu
- Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
Najnowsze wątki
- 2024-12-25 Wrocław => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2024-12-25 Warszawa => Sales Assistant <=
- 2024-12-25 Kraków => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-25 Lublin => System Architect (Java background) <=
- 2024-12-25 Szczecin => Specjalista ds. public relations <=
- 2024-12-25 Wrocław => Key Account Manager <=
- 2024-12-25 Kraków => Full Stack .Net Engineer <=
- 2024-12-25 Kraków => Programista Full Stack .Net <=
- 2024-12-25 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-25 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-12-25 Białystok => Delphi Programmer <=
- 2024-12-25 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2024-12-25 Kraków => Ekspert IT (obszar systemów sieciowych) <=
- 2024-12-25 Mińsk Mazowiecki => Spedytor Międzynarodowy <=
- 2024-12-24 Dzisiaj Bentlejem czyli przybieżeli sześciu Króli do Rysia na kasie