Hello
I'm working on the tower K60n512 with MQX4.1.1.
I init the RTCS like following:
RTCS_Create();
ENET_initialize(..)
RTCS_if_add(..)
RTCS_if_bind(..)
socket(PF_INET, SOCK_STREAM, 0)
bind(..)
listen(..)
accept(..)
setsockopt(.. SOL_TCP, OPT_SEND_NOWAIT, true..)
setsockopt(.. SOL_TCP, OPT_SEND_TIMEOUT, 10..)
Then in cyclic task (5s) I call
:
send(.., buffer, 5) with buffer is a counter incremented on each send call.
I make toggle a pin just before call send(). After check with oscilloscope, the call to "send()" is really done every exactly each 5s.
I link Ethernet to my laptop with wireshark.
The received frame is not cyclic of 5s. Sometime a delay of 2s can occurs!
32 14:48:58.708895000 192.168.1.125 192.168.1.122 TCP 60 502?60226 [PSH, ACK] Seq=61 Ack=1 Win=4380 Len=5
33 14:48:58.926112000 192.168.1.122 192.168.1.125 TCP 54 60226?502 [ACK] Seq=1 Ack=66 Win=16428800 Len=0
34 14:49:03.571633000 192.168.1.125 192.168.1.122 TCP 60 502?60226 [PSH, ACK] Seq=66 Ack=1 Win=4380 Len=5
35 14:49:03.574697000 Dell_02:63:cd IcannIan_a8:01:7d ARP 42 Who has 192.168.1.125? Tell 192.168.1.122
36 14:49:03.777609000 192.168.1.122 192.168.1.125 TCP 54 60226?502 [ACK] Seq=1 Ack=71 Win=16427520 Len=0
37 14:49:04.573087000 Dell_02:63:cd IcannIan_a8:01:7d ARP 42 Who has 192.168.1.125? Tell 192.168.1.122
38 14:49:04.573365000 IcannIan_a8:01:7 d Dell_02:63:cd ARP 60 192.168.1.125 is at 00:00:5e:a8:01:7d
39 14:49:10.081473000 192.168.1.125 192.168.1.122 TCP 60 502?60226 [PSH, ACK] Seq=71 Ack=1 Win=4380 Len=5
40 14:49:10.298146000 192.168.1.122 192.168.1.125 TCP 54 60226?502 [ACK] Seq=1 Ack=76 Win=16426240 Len=0
41 14:49:12.086411000 192.168.1.125 192.168.1.122 TCP 60 [TCP Retransmission] 502?60226 [PSH, ACK] Seq=71 Ack=1 Win=4380 Len=5
42 14:49:12.086479000 192.168.1.122 192.168.1.125 TCP 54 [TCP Dup ACK 40#1] 60226?502 [ACK] Seq=1 Ack=76 Win=16426240 Len=0
43 14:49:13.571434000 192.168.1.125 192.168.1.122 TCP 60 502?60226 [PSH, ACK] Seq=76 Ack=1 Win=4380 Len=5
44 14:49:13.777004000 192.168.1.122 192.168.1.125 TCP 54 60226?502 [ACK] Seq=1 Ack=81 Win=16424960 Len=0
Twrk60 has ip = 192.168.1.125
Laptop has ip = 192.168.1.122
I see a good frame #32 and #33 (Request from tower/ Ack from laptop)
Same for #34 and 36
But the #39 should arrive at time 14:49:08.xxxx ut arrive at 14:49:10.xxxx so there are in late! (very late! 1s...)
#43/#44 has the good time.
I don't understand why this frame is send with this late, why Retransmission is done 2s later? (#41)
For my application, I would have to send frame with a very speed (every 10 or 100ms...) but with simple test (one frame every 5s) sometime some frame are very delayed!.
Have you an idea why?
Note: nothing else is done on K60. Only Ethernet load the µC..:smileyplain: