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  <20182019  2020  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  <20182019  2020 
<== Date ==> <== Thread ==>

Subject: 答复: 转发: ADMythen --acquisition issues
From: zhaoying via Tech-talk <tech-talk@aps.anl.gov>
To: 'Mark Rivers' <rivers@cars.uchicago.edu>
Cc: tech-talk@aps.anl.gov
Date: Tue, 4 Dec 2018 09:54:45 +0800
Hi Mark,

Thank you very much!

We changed the exmaple st.cmd file :

#drvAsynIPPortConfigure("portName","hostInfo",priority,noAutoConnect,
#                        noProcessEos)
#drvAsynIPPortConfigure("IP_M1K", "192.168.0.90:1030 UDP", 0, 0, 1)
drvAsynIPPortConfigure("IP_M1K", "192.168.0.90:1031", 0, 0, 0)
#drvAsynIPPortConfigure("IP_M1K", "164.54.109.66:1031", 0, 0, 0)
...
epicsEnvSet("XSIZE","6400")
...
Besides, we change mythen.cpp line 964 to:
dims[0] = MAX_DIMS * 5;
line 1331 to:
int sensorSizeX = MAX_DIMS * 5;
line 1337 to :
...;sizeX = MAX_DIMS * 5;...

After all of the above steps, there is no problem with reading the data.
Thanks again!

---Ying

-----邮件原件-----
发件人: Mark Rivers [mailto:rivers@cars.uchicago.edu] 
发送时间: 2018年12月3日 22:13
收件人: 'Wang Xiaoqiang' <xiaoqiang.wang@psi.ch>; zhaoying
<zhaoying@sinap.ac.cn>
抄送: tech-talk@aps.anl.gov
主题: Re: 转发: ADMythen --acquisition issues

The example st.cmd file contains these lines:


#drvAsynIPPortConfigure("portName","hostInfo",priority,noAutoConnect,
#                        noProcessEos)
drvAsynIPPortConfigure("IP_M1K", "192.168.0.90:1030 UDP", 0, 0, 1)
#drvAsynIPPortConfigure("IP_M1K", "192.168.0.90:1031", 0, 0, 1)
#drvAsynIPPortConfigure("IP_M1K", "164.54.109.66:1031", 0, 0, 0)


Notice that the uncommented one uses UDP with no EOS processing, the first
commented line uses TCP with no EOS processing, and the second commented
line uses TCP with EOS processing.  Which one are you using?


It also contains these lines.  Notice the input EOS processing line is
commented out.  How is it set for you?

#asynOctetSetInputEos("IP_M1K",0,"\r\n")
asynOctetSetOutputEos("IP_M1K",0,"\r")

I suspect your problem is with EOS processing.  If you enable EOS processing
in your drvAsynIPPortConfigure, then even you don't set an input EOS it will
wait for nRead characters to arrive before asynOctetWriteRead returns.  This
looks like exactly your problem, the read is returning immediately when any
characters are received, and not waiting for nread_expected bytes to arrive.
Please make sure that your drvAsynIPPort configure command has enabled EOS
processing.

Mark



________________________________
From: tech-talk-bounces@aps.anl.gov <tech-talk-bounces@aps.anl.gov> on
behalf of zhaoying via Tech-talk <tech-talk@aps.anl.gov>
Sent: Monday, December 3, 2018 6:27 AM
To: 'Wang Xiaoqiang'
Cc: tech-talk@aps.anl.gov
Subject: 答复: 转发: ADMythen --acquisition issues

Hi Dr. Wang,
Thank you for your suggestion.
We  change this line 895 to
... (char *)detArray_ + nreads, nread_expect - nreads, ...
But the results are still illogical:

epics>
epics> nread_expected = 25600   nread = 1400, status = 0, timeout =
8.000000, eomReason = 0
nread_expected = 25600  nread = 2848, status = 0, timeout = 8.000000,
eomReason = 0
nread_expected = 25600  nread = 4296, status = 0, timeout = 8.000000,
eomReason = 0
nread_expected = 25600  nread = 5696, status = 0, timeout = 8.000000,
eomReason = 0
nread_expected = 25600  nread = 7144, status = 0, timeout = 8.000000,
eomReason = 0
nread_expected = 25600  nread = 8592, status = 0, timeout = 8.000000,
eomReason = 0
nread_expected = 25600  nread = 9992, status = 0, timeout = 8.000000,
eomReason = 0
nread_expected = 25600  nread = 11440, status = 0, timeout = 8.000000,
eomReason = 0
nread_expected = 25600  nread = 12792, status = 0, timeout = 8.000000,
eomReason = 0
nread_expected = 25600  nread = 12808, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 14160, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 15608, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 16960, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 18408, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 19760, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 21208, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 21212, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 22612, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 24060, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 25412, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 26812, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 28260, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 29612, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 31060, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 32412, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 33812, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 35260, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 36612, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 38060, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 39412, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 40860, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 42212, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 43660, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 45012, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 46412, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 46812, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 46816, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 48216, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 49664, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 51016, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 52416, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 53864, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 55216, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 56664, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 58016, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 59464, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 60816, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 62216, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 63664, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 65016, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 66464, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 67816, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 69216, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 70664, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 72016, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 72416, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 72420, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 73820, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 75268, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 76620, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 78020, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 79468, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 80820, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 82220, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 83668, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 85020, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 86468, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 87820, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 89268, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 90620, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 92068, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 93420, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 94868, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 96220, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 97620, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 98020, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 98024, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 98028, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 99428, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 100876, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 102228, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 103676, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 105028, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 106476, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 107828, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 109228, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 110676, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 112028, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 113428, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 114876, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 116228, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 117676, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 119028, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 120428, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 121876, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 123228, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 123628, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 123632, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 125032, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 126480, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 127832, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 129280, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 130632, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 132032, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 133480, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 134832, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 136280, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 137632, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 139032, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 140480, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 141832, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 143232, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 144680, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 146032, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 147480, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 148832, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 149232, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 149236, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 150636, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 152084, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 153388, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 154788, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 156236, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 157588, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 158988, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 160436, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 161788, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 163236, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 164588, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 165988, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 167436, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 168788, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 170188, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 171636, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 172988, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 173388, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 173392, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 174792, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 176240, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 177592, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 179040, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 180392, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 181792, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 183240, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 184592, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 186040, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 187392, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 188792, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 190240, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 191592, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 193040, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 194392, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 195792, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 197240, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 198592, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 198992, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 198996, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 200396, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 201844, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 203244, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 204692, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 206044, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 207444, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 208892, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 210340, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 211644, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 213092, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 214444, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 215844, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 217292, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 218644, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 220092, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 221444, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 221844, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 221848, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 223248, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 224696, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 226048, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 227496, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 228848, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 230248, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 231696, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 233048, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 234448, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 235896, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 237248, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 238696, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 240048, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 241448, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 242896, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 244248, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 245648, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 247096, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 247448, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 247452, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 248852, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 250300, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 251652, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 253052, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 254500, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 255852, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 257300, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 258652, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 260100, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 261452, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 262900, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 264252, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 265652, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 267100, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 268452, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 269852, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 271300, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 272652, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 273052, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 273056, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 274456, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 275904, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 277256, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 278704, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 280056, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 281504, status = 0, timeout = 8.000000,
eomReason = 1
nread_expected = 25600  nread = 282856, status = 0, timeout = 8.000000,
eomReason = 1
./start_epics: line 3:  2717 Segmentation fault      (core dumped)
../../bin/linux-x86_64/mythenApp st.cmd

Another suggestion?
――Ying


-----邮件原件-----
发件人: Wang Xiaoqiang [mailto:xiaoqiang.wang@psi.ch]
发送时间: 2018年12月3日 19:02
收件人: zhaoying <zhaoying@sinap.ac.cn>
主题: Re: 转发: ADMythen --acquisition issues

Good progress.

Can you change this line 895 to
... (char *)detArray_ + nreads, nread_expect - nreads, ...

Otherwise the last read also timeout.

On 12/03/2018 10:00 AM, zhaoying via Tech-talk wrote:
> Hi Mark,
>
> The last result:
>
> epics> nread_expected = 25600      nread = 1400, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 1352, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 1448, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 1400, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 1352, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 1352, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 1448, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 1448, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 1448, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 400, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 4, status = 0, timeout =
> 8.000000, eomReason = 0
>
>  From it, we can see nread does not add up. To solve this problem, we
> changed  part of the source code mythen.cpp
> (https://github.com/areaDetector/ADMythen/blob/master/mythenApp/src/my
> then.cpp#L888)
> to:
>
> //////////////////////////////////////////////////////////////////////
> //////////////////////////////////////////////////////////////////////
>
> nread=0;
>
>                  if (readmode_==0)
>
>                    strcpy(outString_, "-readoutraw");
>
>                  else
>
>                    strcpy(outString_, "-readout");
>
>                     nread_expect = nreads_expect - nreads;
>
>                  status = pasynOctetSyncIO->writeRead(pasynUserMeter_,
> outString_, strlen(outString_), (char *)detArray_ + nreads,
> nread_expect, M1K_TIMEOUT+acquireTime, &nwrite, &nread, &eomReason);
>
>   //Timeout is M1K_TIMEOUT + AcquireTime
>
>                     nreads += nread;
>
>                  printf("nread_expected = %d\tnread = %d, status = %d,
> timeout = %f, eomReason = %d\n", nreads_expect,nreads,
> status,M1K_TIMEOUT+acquireTime,eomReason );
>
> //////////////////////////////////////////////////////////////////////
> //////////////////////////////////////////////////////////////////////
>
> After doing this, we found nread  added up. We did many tests.
> Sometimes the data is good, while sometimes it is bad.
>
> When the data  is good, the ioc results is as follows:
>
> epics> nread_expected = 25600      nread = 1400, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 2848, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 4296, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 5600, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 7000, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 8448, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 9896, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 11200, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 12600, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 14048, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 15400, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 16800, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 18248, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 19600, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 21048, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 22400, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 23848, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 25200, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 25600, status = 0, timeout =
> 8.000000, eomReason = 1
>
> dataOk = 1
>
> Acquisition finish
>
> ADAcquire Callback
>
> //////////////////////////////////////////////////////////////////////
> //////////////////////////////////////////////////////////////////////
> ///////////
>
> When the data is bad, the ioc results is  like:
>
> nread_expected = 25600         nread = 2848, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 4296, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 5600, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 7048, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 8496, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 9848, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 11296, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 12744, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 14096, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 15496, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 16944, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 18296, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 19744, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 21096, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 22544, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 22896, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 22900, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 24300, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 25600, status = 0, timeout =
> 8.000000, eomReason = 1
>
> dataOk = 1
>
> Acquisition finish
>
> ADAcquire Callback
>
> nread_expected = 25600         nread = 1400, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 2848, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 4152, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 5552, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 7000, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 8304, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 9704, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 11152, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 12600, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 14000, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 15448, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 16752, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 18200, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 19552, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 19952, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 19956, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 21356, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 22804, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 24156, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 25556, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 25600, status = 0, timeout =
> 8.000000, eomReason = 1
>
> dataOk = 1
>
> Acquisition finish
>
> ADAcquire Callback
>
> //////////////////////////////////////////////////////////////////////
> //////////////////////////////////////////////////////////////////////
>
> Good data and bad data are listed as follows:
>
> *good results:*
>
> *dp_mythen1K:image1:ArrayData 6400 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 2 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0*
>
> **
>
> //////////////////////////////////////////////////////////////////////
> //////////////////////////////////////////////////////////////////////
> //////////////////////////////////////////////////////////////////////
> /////////////////////////////////////////////////
>
> bad data:
>
> dp_mythen1K:image1:ArrayData 6400 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
> 1
> 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 1
> 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0
> 0 0 0 0 0 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
> 1.67772e+07
> 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07 1.67772e+07
>
> We don't know how to deal with that. Any suggestions?
>
> Thank you!
>
> ---Ying
>
> *发件人:*zhaoying [mailto:zhaoying@sinap.ac.cn]
> *发送时间:*2018年12月3日14:47
> *收件人:*'Mark Rivers' <rivers@cars.uchicago.edu>
> *抄送:*'tech-talk@aps.anl.gov' <tech-talk@aps.anl.gov>
> *主题:*答复: ADMythen --acquisition issues
>
> Hi Mark,
>
> According to your suggestions, we have change the way to get our
> debugging output :
>
> printf("nread_expected=%d, nread=%d, status=%d, timeout=%f,
> eomReason=%d\n", nread_expect, nread, status,M1K_TIMEOUT+acquireTime,
> eomReason);
>
> the results is as follows:
>
> epics> nread_expected = 25600      nread = 1400, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 1352, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 1448, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 1400, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 1352, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 1352, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 1448, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 1448, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 1448, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 400, status = 0, timeout =
> 8.000000, eomReason = 0
>
> nread_expected = 25600         nread = 4, status = 0, timeout =
> 8.000000, eomReason = 0
>
> Acquisition finish
>
> ADAcquire Callback
>
> epics>
>
> still nread  does not equal “nread_expected”. What should we do next?
> Please give us some suggestions.
>
> Thank you !
>
> ----Ying
>
> *发件人:*Mark Rivers [mailto:rivers@cars.uchicago.edu]
> *发送时间:*2018年11月30日22:20
> *收件人:*'zhaoying' <zhaoying@sinap.ac.cn <mailto:zhaoying@sinap.ac.cn>>
> *抄送:*tech-talk@aps.anl.gov <mailto:tech-talk@aps.anl.gov>
> *主题:*RE: ADMythen --acquisition issues
>
> Hi Ying,
>
> I believe you uncommented this line to get your debugging output:
>
> //printf("nread_expected = %d\tnread = %d\n", nread_expect,nread);
>
> Can you please change that to:
>
> printf("nread_expected=%d, nread=%d, status=%d, timeout=%f,
> eomReason=%d\n", nread_expect, nread, status,M1K_TIMEOUT+acquireTime,
> eomReason);
>
> That will show more information returned by pasynOctetSyncIO->writeRead().
>
> It seems like status must be asynSuccess, because otherwise you would
> have also seen the output from this statement:
>
>                  if(status != asynSuccess) {
>
>                      asynPrint(pasynUserSelf, ASYN_TRACE_ERROR,
>
>                            "%s:%s: error using readout command
> status=%d, nRead=%d, eomReason=%d\n",
>
>                            driverName, functionName, status,
> (int)nread, eomReason);
>
>                  }
>
> Since you don’t see that it seems like by
> pasynOctetSyncIO->writeRead() returned asynSuccess, even though it did
> not read the expected number of characters.  That seems strange.
>
> Mark
>
> *From:*tech-talk-bounces@aps.anl.gov
> <mailto:tech-talk-bounces@aps.anl.gov> <tech-talk-bounces@aps.anl.gov
> <mailto:tech-talk-bounces@aps.anl.gov>> *On Behalf Of *zhaoying via
> Tech-talk
> *Sent:* Thursday, November 29, 2018 7:29 PM
> *To:* tech-talk@aps.anl.gov <mailto:tech-talk@aps.anl.gov>
> *Subject:* ADMythen --acquisition issues
>
> Hello, J. Sullivan:
>
> We have a customized DCS6 (Detector control system for up to 6
> detector modules ) with 5 Dextris Mythen detector modules. We are
> using ADMythen module to control those 5 Detectors. The result is as
follows.
>
> result
>
> Figure 1.Read back results
>
> It can be seen the controlling part works well, but the read back data
> is all 0 which is not reasonable.
>
> We tried to print the debug. The result is like figure 2.
>
> 微信图片_20181130083839
>
> It can be seen “nread” never equals “nread_expected”. So we believe it
> happens in “acquisition” parts (from line 853 to line 947). But we
> have not find the actual line.  Any suggestions?
>
> Thank you!
>
> ---Ying
>




References:
ADMythen --acquisition issues zhaoying via Tech-talk
RE: ADMythen --acquisition issues Mark Rivers via Tech-talk
转发: ADMythen --acquisition issues zhaoying via Tech-talk
答复: 转发: ADMythen --acquisition issues zhaoying via Tech-talk
Re: 转发: ADMythen --acquisition issues Mark Rivers via Tech-talk

Navigate by Date:
Prev: Waiting for mbufs on RTEMS Matt Rippa via Tech-talk
Next: areaDetector R3-4 release Mark Rivers 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  <20182019  2020 
Navigate by Thread:
Prev: Re: 转发: ADMythen --acquisition issues Mark Rivers via Tech-talk
Next: webEPICS Tyler Lemon 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  <20182019  2020 
ANJ, 03 Dec 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·