Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020 
<== Date ==> <== Thread ==>

Subject: pasynOctetSyncIO flushing with drvAsynIPPortConfigure
From: Hinko Kocevar via Tech-talk <tech-talk@aps.anl.gov>
To: "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Thu, 18 Jul 2019 10:17:18 +0000
Hi,

I'm using drvAsynIPPortConfigure() to connect to a network attached device, with a small PIC based MCU handling the TCP/IP. It is XT Pico SXL described here if anyone is interested: http://www.ak-nord.de/en/daten/manual_xxl_ts.pdf.

For my application the XT Pico SXL takes data over network and translates it to SPI messages to talk to SPI peripheral.

I can make it work if the delay between consecutive requests (either pasynOctetSyncIO->writeReadOnce() or pasynOctetSyncIO->writeRead()) is 1 second; I can tell that the SPI peripheral was programmed properly. As soon as the delay is lowered (i.e. 0.3 s) the SPI peripheral does not interpret the data correctly. I have ~ 40 registers on the SPI peripheral to write and do not like to wait > 40 s for this to complete. FYI, using USB programmer from vendor, I can program the SPI peripheral in matters of miliseconds.

I've started looking at the wireshark dumps of what is on the wire and noticed that TCP seems to be "optimizing" when I would like it not to optimize.

Successful SPI peripheral programming, at 1 second delay, as seen on the wire is found in ok.txt attachment. On the other hand, failed programming looks something like in bad.txt attachment (delay between requests was set to 0.3 second).

Finally, the question: Can I force the TCP from asyn somehow not to "optimize", and send/receive 3 bytes at a time even if the delay between my requests is 0.3 (or less)? 

Thank you in advance!

Hinko Kocevar

Beam Diagnostics Engineer
European Spallation Source ERIC
P.O Box 176, SE-221 00 Lund, Sweden
Visiting address: Odarslövsvägen 113, SE-224 84 Lund
, Sweden

Mobile: +46-721-79 22 58
Phone:  +46-46-888 32 58

E-mail: hinko.kocevar@esss.se
Web:    www.esss.se
00000000  40 03 ff                                           @..
00000003  3e 00 00                                           >..
00000006  3d 00 01                                           =..
    00000000  ff ff                                              ..
    00000002  ff                                                 .
00000009  3b 00 00                                           ;..
0000000C  30 03 fc                                           0..
0000000F  2f 00 dc                                           /..
00000012  2e 0f 24                                           ..$
00000015  2d 00 01                                           -..
    00000003  ff ff ff                                           ...
    00000006  ff ff ff                                           ...
00000018  2c 00 00                                           ,..
0000001B  2b 00 00                                           +..
0000001E  2a 00 00                                           *..
00000021  29 00 05                                           )..
00000024  28 00 00                                           (..
00000027  27 82 04                                           '..
    00000009  ff ff ff ff ff ff ff ff                            ........ 
0000002A  26 00 c6 25 40 00 24 0c  20 23 02 9f 22 c3 f0 21   &..%@.$.  #.."..!
0000003A  42 10                                              B.
    00000011  ff ff ff ff ff ff ff                               .......
0000003C  20 42 10                                            B.
0000003F  1f 06 01                                           ...
00000042  1e 00 34                                           ..4
00000045  1d 00 84                                           ...
00000048  1c 29 24                                           .)$
0000004B  19 00 00                                           ...
0000004E  18 05 09                                           ...
00000051  17 88 42                                           ..B
00000054  16 23 00                                           .#.
    00000018  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   ........ ........
    00000028  ff ff                                              ..
00000057  14 01 2c 13 09 65 0e 0c  e5 0d 40 00 0c 70 20 0b   ..,..e.. ..@..p .
00000067  00 18 0a 10 d8 09 03 02  08 10 84 07 28 b2 04 19   ........ ....(...
00000077  43 02 05 00 01 08 0a 00  22 1c                     C....... ".
    0000002A  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   ........ ........
    0000003A  ff ff                                              ..
    0000003C  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   ........ ........
    0000004C  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   ........ ........
    0000005C  ff ff ff                                           ...
    0000005F  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   ........ ........
    0000006F  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   ........ ........
    0000007F  ff ff                                              ..
00000000  40 03 ff                                           @..
    00000000  ff ff                                              ..
    00000002  ff                                                 .
00000003  3e 00 00                                           >..
    00000003  ff ff                                              ..
    00000005  ff                                                 .
00000006  3d 00 01                                           =..
    00000006  ff ff                                              ..
    00000008  ff                                                 .
00000009  3b 00 00                                           ;..
    00000009  ff ff                                              ..
    0000000B  ff                                                 .
0000000C  30 03 fc                                           0..
    0000000C  ff ff                                              ..
    0000000E  ff                                                 .
0000000F  2f 00 dc                                           /..
    0000000F  ff ff                                              ..
    00000011  ff                                                 .
00000012  2e 0f 24                                           ..$
    00000012  ff ff                                              ..
    00000014  ff                                                 .
00000015  2d 00 01                                           -..
    00000015  ff ff                                              ..
    00000017  ff                                                 .
00000018  2c 00 00                                           ,..
    00000018  ff ff                                              ..
    0000001A  ff                                                 .
0000001B  2b 00 00                                           +..
    0000001B  ff ff                                              ..
    0000001D  ff                                                 .
0000001E  2a 00 00                                           *..
    0000001E  ff ff                                              ..
    00000020  ff                                                 .
00000021  29 00 05                                           )..
    00000021  ff ff                                              ..
    00000023  ff                                                 .
00000024  28 00 00                                           (..
    00000024  ff ff                                              ..
    00000026  ff                                                 .
00000027  27 82 04                                           '..
    00000027  ff ff                                              ..
    00000029  ff                                                 .
0000002A  26 00 c6                                           &..
    0000002A  ff ff                                              ..
    0000002C  ff                                                 .
0000002D  25 40 00                                           %@.
    0000002D  ff ff                                              ..
    0000002F  ff                                                 .
00000030  24 0c 20                                           $. 
    00000030  ff ff                                              ..
    00000032  ff                                                 .
00000033  23 02 9f                                           #..
    00000033  ff ff                                              ..
    00000035  ff                                                 .
00000036  22 c3 f0                                           "..
    00000036  ff ff                                              ..
    00000038  ff                                                 .
00000039  21 42 10                                           !B.
    00000039  ff ff                                              ..
    0000003B  ff                                                 .
0000003C  20 42 10                                            B.
    0000003C  ff ff                                              ..
    0000003E  ff                                                 .
0000003F  1f 06 01                                           ...
    0000003F  ff ff                                              ..
    00000041  ff                                                 .
00000042  1e 00 34                                           ..4
    00000042  ff ff                                              ..
    00000044  ff                                                 .
00000045  1d 00 84                                           ...
    00000045  ff ff                                              ..
    00000047  ff                                                 .
00000048  1c 29 24                                           .)$
    00000048  ff ff                                              ..
    0000004A  ff                                                 .
0000004B  19 00 00                                           ...
    0000004B  ff ff                                              ..
    0000004D  ff                                                 .
0000004E  18 05 09                                           ...
    0000004E  ff ff                                              ..
    00000050  ff                                                 .
00000051  17 88 42                                           ..B
    00000051  ff ff                                              ..
    00000053  ff                                                 .
00000054  16 23 00                                           .#.
    00000054  ff ff                                              ..
    00000056  ff                                                 .
00000057  14 01 2c                                           ..,
    00000057  ff ff                                              ..
    00000059  ff                                                 .
0000005A  13 09 65                                           ..e
    0000005A  ff ff                                              ..
    0000005C  ff                                                 .
0000005D  0e 0c e5                                           ...
    0000005D  ff ff                                              ..
    0000005F  ff                                                 .
00000060  0d 40 00                                           .@.
    00000060  ff ff                                              ..
    00000062  ff                                                 .
00000063  0c 70 20                                           .p 
    00000063  ff ff                                              ..
    00000065  ff                                                 .
00000066  0b 00 18                                           ...
    00000066  ff ff                                              ..
    00000068  ff                                                 .
00000069  0a 10 d8                                           ...
    00000069  ff ff                                              ..
    0000006B  ff                                                 .
0000006C  09 03 02                                           ...
    0000006C  ff ff                                              ..
    0000006E  ff                                                 .
0000006F  08 10 84                                           ...
    0000006F  ff ff                                              ..
    00000071  ff                                                 .
00000072  07 28 b2                                           .(.
    00000072  ff ff                                              ..
    00000074  ff                                                 .
00000075  04 19 43                                           ..C
    00000075  ff ff                                              ..
    00000077  ff                                                 .
00000078  02 05 00                                           ...
    00000078  ff ff                                              ..
    0000007A  ff                                                 .
0000007B  01 08 0a                                           ...
    0000007B  ff ff                                              ..
    0000007D  ff                                                 .
0000007E  00 22 1c                                           .".
    0000007E  ff ff                                              ..
    00000080  ff                                                 .

Replies:
Re: pasynOctetSyncIO flushing with drvAsynIPPortConfigure Hinko Kocevar via Tech-talk

Navigate by Date:
Prev: Add widgets to Phoebus Hasbroucq Dorian via Tech-talk
Next: Re: pasynOctetSyncIO flushing with drvAsynIPPortConfigure Hinko Kocevar via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020 
Navigate by Thread:
Prev: Add widgets to Phoebus Hasbroucq Dorian via Tech-talk
Next: Re: pasynOctetSyncIO flushing with drvAsynIPPortConfigure Hinko Kocevar via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020 
ANJ, 18 Jul 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·