eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaRóżny czas pomimo synchronizacji z NTPRe: Różny czas pomimo synchronizacji z NTP
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!.POSTED!not-for-mail
    From: Atlantis <m...@w...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Różny czas pomimo synchronizacji z NTP
    Date: Thu, 13 Nov 2014 10:03:23 +0100
    Organization: http://www.wit.edu.pl
    Lines: 63
    Message-ID: <m41s4u$76r$1@portraits.wsisiz.edu.pl>
    References: <m3ua09$pji$1@portraits.wsisiz.edu.pl>
    <m3vc6j$boc$1@portraits.wsisiz.edu.pl>
    <m3vf68$l11$1@portraits.wsisiz.edu.pl>
    <54634628$0$2844$65785112@news.neostrada.pl>
    <m3vhgb$sa6$1@portraits.wsisiz.edu.pl>
    <a...@n...neostrada.pl>
    <m3vl01$7ni$1@portraits.wsisiz.edu.pl>
    <m3vm1h$beo$1@portraits.wsisiz.edu.pl>
    <m3vmov$dau$1@portraits.wsisiz.edu.pl>
    <a...@n...neostrada.pl>
    <m3vrph$t12$1@portraits.wsisiz.edu.pl> <m401dh$ov$1@node1.news.atman.pl>
    <m402nq$k1a$1@portraits.wsisiz.edu.pl>
    <a...@n...neostrada.pl>
    <m40dif$n1u$1@portraits.wsisiz.edu.pl>
    <a...@n...neostrada.pl>
    <m40iup$8bk$1@portraits.wsisiz.edu.pl> <m40mem$f3f$1@node2.news.atman.pl>
    <m40n5d$m4q$1@portraits.wsisiz.edu.pl> <m40npm$pk1$1@node1.news.atman.pl>
    <m40o16$oso$1@portraits.wsisiz.edu.pl> <m40ov7$qvi$1@node1.news.atman.pl>
    <m40pg4$th5$1@portraits.wsisiz.edu.pl> <m40ptt$rvr$1@node1.news.atman.pl>
    NNTP-Posting-Host: aaac161.neoplus.adsl.tpnet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    X-Trace: portraits.wsisiz.edu.pl 1415869406 7387 83.4.2.161 (13 Nov 2014 09:03:26
    GMT)
    X-Complaints-To: a...@w...edu.pl
    NNTP-Posting-Date: Thu, 13 Nov 2014 09:03:26 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101
    Thunderbird/24.6.0
    In-Reply-To: <m40ptt$rvr$1@node1.news.atman.pl>
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:673906
    [ ukryj nagłówki ]

    Hmm... Coś jeszcze jest na rzeczy z tą synchronizacją.
    Pojedyncza, automatyczna synchronizacja (wywołana po 10 minutach dla
    skompensowania tego sekundowego błędu) wprowadziła 14 sekundowe opóźnienie.

    Czy kod funkcji wysyłającej request wygląda w porządku?

    void client_ntp_request(uint8_t *buf,uint8_t *ntpip,uint8_t
    srcport,uint8_t *dstmac)
    {
    uint8_t i=0;
    uint16_t ck;
    if (!enc28j60linkup())return;
    //
    while(i<6){
    buf[ETH_DST_MAC +i]=dstmac[i]; // gw mac in local lan or
    host mac
    buf[ETH_SRC_MAC +i]=macaddr[i];
    i++;
    }
    buf[ETH_TYPE_H_P] = ETHTYPE_IP_H_V;
    buf[ETH_TYPE_L_P] = ETHTYPE_IP_L_V;
    fill_buf_p(&buf[IP_P],9,iphdr);
    buf[IP_ID_L_P]=ipid; ipid++;
    buf[IP_TOTLEN_L_P]=0x4c;
    buf[IP_PROTO_P]=IP_PROTO_UDP_V;
    i=0;
    while(i<4){
    buf[IP_DST_P+i]=ntpip[i];
    buf[IP_SRC_P+i]=ipaddr[i];
    i++;
    }
    fill_ip_hdr_checksum(buf);
    buf[UDP_DST_PORT_H_P]=0;
    buf[UDP_DST_PORT_L_P]=0x7b; // ntp=123
    buf[UDP_SRC_PORT_H_P]=10;
    buf[UDP_SRC_PORT_L_P]=srcport; // lower 8 bit of src port
    buf[UDP_LEN_H_P]=0;
    buf[UDP_LEN_L_P]=56; // fixed len
    // zero the checksum
    buf[UDP_CHECKSUM_H_P]=0;
    buf[UDP_CHECKSUM_L_P]=0;
    // copy the data:
    i=0;
    // most fields are zero, here we zero everything and fill later
    while(i<48){
    buf[UDP_DATA_P+i]=0;
    i++;
    }
    fill_buf_p(&buf[UDP_DATA_P],10,ntpreqhdr);
    //
    ck=checksum(&buf[IP_SRC_P], 16 + 48,1);
    buf[UDP_CHECKSUM_H_P]=ck>>8;
    buf[UDP_CHECKSUM_L_P]=ck& 0xff;
    enc28j60PacketSend(90,buf);
    }

    Zastanawia mnie zmienna ntpreqhdr. Jaką funkcję ona pełni?
    Bo jej deklaracja wygląda następująco:

    const char ntpreqhdr[] PROGMEM ={0xe3,0,4,0xfa,0,1,0,0,0,1};

    Ktoś z Was wspominał, że request powinien zawierać informację o czasie.
    Tutaj nigdzie nie jestem o nią proszony...

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: