Skip to main content
Topic: Test Release 2.03 and 2.04 - SPI mode. (Read 37790 times) previous topic - next topic

Re: Test Release 2.03 and 2.04 - SPI mode.

Reply #60
@Ian,

Well the Hercules utility returns 1ALS every time.

With PortMon running, it is damnably hard to get it to fail.  I think that it slows down the whole system so it does not glitch.  I wasn't able to get the lasteest Java client to fail at all with PortMon on.  With the old 'compiled' client (BP_LogicAnalyzer.exe took some doing, but I did get it into a failure mode. Below is the dump from PortMon during a (more or less complete) failed run.  All other failed runs had a similar ending ~20 lines.

Code: [Select]
0	0.00001481	javaw.exe	IRP_MJ_CREATE	USBSER000	SUCCESS	Options: Open 	
1 0.00000363 javaw.exe IRP_MJ_CLEANUP USBSER000 SUCCESS
2 0.00037295 javaw.exe IRP_MJ_CLOSE USBSER000 SUCCESS
6 0.00001257 javaw.exe IRP_MJ_CREATE USBSER000 SUCCESS Options: Open
7 0.00000223 javaw.exe IOCTL_SERIAL_SET_QUEUE_SIZE USBSER000 SUCCESS InSize: 2048 OutSize: 1024
8 0.00000307 javaw.exe IOCTL_SERIAL_GET_PROPERTIES USBSER000 SUCCESS
9 0.00052744 javaw.exe IOCTL_SERIAL_GET_BAUD_RATE USBSER000 SUCCESS
10 0.00047604 javaw.exe IOCTL_SERIAL_GET_LINE_CONTROL USBSER000 SUCCESS
11 0.00000279 javaw.exe IOCTL_SERIAL_GET_CHARS USBSER000 SUCCESS
12 0.00000251 javaw.exe IOCTL_SERIAL_GET_HANDFLOW USBSER000 SUCCESS
13 0.00043050 javaw.exe IOCTL_SERIAL_GET_BAUD_RATE USBSER000 SUCCESS
14 0.00048274 javaw.exe IOCTL_SERIAL_GET_LINE_CONTROL USBSER000 SUCCESS
15 0.00000251 javaw.exe IOCTL_SERIAL_GET_CHARS USBSER000 SUCCESS
16 0.00000251 javaw.exe IOCTL_SERIAL_GET_HANDFLOW USBSER000 SUCCESS
17 0.00000251 javaw.exe IOCTL_SERIAL_GET_TIMEOUTS USBSER000 SUCCESS
18 0.00054783 javaw.exe IOCTL_SERIAL_GET_BAUD_RATE USBSER000 SUCCESS
19 0.00046403 javaw.exe IOCTL_SERIAL_GET_LINE_CONTROL USBSER000 SUCCESS
20 0.00000307 javaw.exe IOCTL_SERIAL_GET_CHARS USBSER000 SUCCESS
21 0.00000196 javaw.exe IOCTL_SERIAL_GET_HANDFLOW USBSER000 SUCCESS
22 0.00087832 javaw.exe IOCTL_SERIAL_SET_BAUD_RATE USBSER000 SUCCESS Rate: 9600
23 0.00000251 javaw.exe IOCTL_SERIAL_CLR_RTS USBSER000 SUCCESS
24 0.00032462 javaw.exe IOCTL_SERIAL_SET_DTR USBSER000 SUCCESS
25 0.00097890 javaw.exe IOCTL_SERIAL_SET_LINE_CONTROL USBSER000 SUCCESS StopBits: 1 Parity: NONE WordLength: 8
26 0.00000279 javaw.exe IOCTL_SERIAL_SET_CHAR USBSER000 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0
27 0.00000223 javaw.exe IOCTL_SERIAL_SET_HANDFLOW USBSER000 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0
28 0.00000251 javaw.exe IOCTL_SERIAL_SET_TIMEOUTS USBSER000 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0
29 0.00056460 javaw.exe IOCTL_SERIAL_GET_BAUD_RATE USBSER000 SUCCESS
30 0.00046235 javaw.exe IOCTL_SERIAL_GET_LINE_CONTROL USBSER000 SUCCESS
31 0.00000279 javaw.exe IOCTL_SERIAL_GET_CHARS USBSER000 SUCCESS
32 0.00000251 javaw.exe IOCTL_SERIAL_GET_HANDFLOW USBSER000 SUCCESS
33 0.00000279 javaw.exe IOCTL_SERIAL_GET_TIMEOUTS USBSER000 SUCCESS
34 0.00050844 javaw.exe IOCTL_SERIAL_GET_BAUD_RATE USBSER000 SUCCESS
35 0.00066768 javaw.exe IOCTL_SERIAL_GET_LINE_CONTROL USBSER000 SUCCESS
36 0.00000307 javaw.exe IOCTL_SERIAL_GET_CHARS USBSER000 SUCCESS
37 0.00000223 javaw.exe IOCTL_SERIAL_GET_HANDFLOW USBSER000 SUCCESS
38 0.00000251 javaw.exe IOCTL_SERIAL_GET_TIMEOUTS USBSER000 SUCCESS
39 0.00043804 javaw.exe IOCTL_SERIAL_GET_BAUD_RATE USBSER000 SUCCESS
40 0.00043190 javaw.exe IOCTL_SERIAL_GET_LINE_CONTROL USBSER000 SUCCESS
41 0.00000251 javaw.exe IOCTL_SERIAL_GET_CHARS USBSER000 SUCCESS
42 0.00000251 javaw.exe IOCTL_SERIAL_GET_HANDFLOW USBSER000 SUCCESS
43 0.00092274 javaw.exe IOCTL_SERIAL_SET_BAUD_RATE USBSER000 SUCCESS Rate: 9600
44 0.00000251 javaw.exe IOCTL_SERIAL_CLR_RTS USBSER000 SUCCESS
45 0.00032937 javaw.exe IOCTL_SERIAL_SET_DTR USBSER000 SUCCESS
46 0.00085625 javaw.exe IOCTL_SERIAL_SET_LINE_CONTROL USBSER000 SUCCESS StopBits: 1 Parity: NONE WordLength: 8
47 0.00000251 javaw.exe IOCTL_SERIAL_SET_CHAR USBSER000 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0
48 0.00000223 javaw.exe IOCTL_SERIAL_SET_HANDFLOW USBSER000 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0
49 0.00000279 javaw.exe IOCTL_SERIAL_SET_TIMEOUTS USBSER000 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0
50 0.00000279 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
51 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
52 0.00000196 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
53 0.00000223 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
54 0.00000223 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
55 0.00000223 javaw.exe IOCTL_SERIAL_GET_MODEMSTATUS USBSER000 SUCCESS
56 0.00050397 javaw.exe IOCTL_SERIAL_GET_BAUD_RATE USBSER000 SUCCESS
57 0.00050705 javaw.exe IOCTL_SERIAL_GET_LINE_CONTROL USBSER000 SUCCESS
58 0.00000279 javaw.exe IOCTL_SERIAL_GET_CHARS USBSER000 SUCCESS
59 0.00000251 javaw.exe IOCTL_SERIAL_GET_HANDFLOW USBSER000 SUCCESS
60 0.00000223 javaw.exe IOCTL_SERIAL_GET_TIMEOUTS USBSER000 SUCCESS
61 0.00053443 javaw.exe IOCTL_SERIAL_GET_BAUD_RATE USBSER000 SUCCESS
62 0.00049112 javaw.exe IOCTL_SERIAL_GET_LINE_CONTROL USBSER000 SUCCESS
63 0.00000251 javaw.exe IOCTL_SERIAL_GET_CHARS USBSER000 SUCCESS
64 0.00000223 javaw.exe IOCTL_SERIAL_GET_HANDFLOW USBSER000 SUCCESS
65 0.00000251 javaw.exe IOCTL_SERIAL_GET_TIMEOUTS USBSER000 SUCCESS
66 0.00053415 javaw.exe IOCTL_SERIAL_GET_BAUD_RATE USBSER000 SUCCESS
67 0.00048665 javaw.exe IOCTL_SERIAL_GET_LINE_CONTROL USBSER000 SUCCESS
68 0.00000223 javaw.exe IOCTL_SERIAL_GET_CHARS USBSER000 SUCCESS
69 0.00000223 javaw.exe IOCTL_SERIAL_GET_HANDFLOW USBSER000 SUCCESS
70 0.00095291 javaw.exe IOCTL_SERIAL_SET_BAUD_RATE USBSER000 SUCCESS Rate: 115200
71 0.00000307 javaw.exe IOCTL_SERIAL_CLR_RTS USBSER000 SUCCESS
72 0.00043274 javaw.exe IOCTL_SERIAL_SET_DTR USBSER000 SUCCESS
73 0.00095710 javaw.exe IOCTL_SERIAL_SET_LINE_CONTROL USBSER000 SUCCESS StopBits: 1 Parity: NONE WordLength: 8
74 0.00000307 javaw.exe IOCTL_SERIAL_SET_CHAR USBSER000 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0
75 0.00000279 javaw.exe IOCTL_SERIAL_SET_HANDFLOW USBSER000 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0
76 0.00000279 javaw.exe IOCTL_SERIAL_SET_TIMEOUTS USBSER000 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0
77 0.00043330 javaw.exe IOCTL_SERIAL_GET_BAUD_RATE USBSER000 SUCCESS
78 0.00047073 javaw.exe IOCTL_SERIAL_GET_LINE_CONTROL USBSER000 SUCCESS
79 0.00000279 javaw.exe IOCTL_SERIAL_GET_CHARS USBSER000 SUCCESS
80 0.00000251 javaw.exe IOCTL_SERIAL_GET_HANDFLOW USBSER000 SUCCESS
81 0.00000279 javaw.exe IOCTL_SERIAL_GET_TIMEOUTS USBSER000 SUCCESS
82 0.00040284 javaw.exe IOCTL_SERIAL_GET_BAUD_RATE USBSER000 SUCCESS
83 0.00048637 javaw.exe IOCTL_SERIAL_GET_LINE_CONTROL USBSER000 SUCCESS
84 0.00000279 javaw.exe IOCTL_SERIAL_GET_CHARS USBSER000 SUCCESS
85 0.00000223 javaw.exe IOCTL_SERIAL_GET_HANDFLOW USBSER000 SUCCESS
86 0.00000251 javaw.exe IOCTL_SERIAL_GET_TIMEOUTS USBSER000 SUCCESS
87 0.00043832 javaw.exe IOCTL_SERIAL_GET_BAUD_RATE USBSER000 SUCCESS
88 0.00046486 javaw.exe IOCTL_SERIAL_GET_LINE_CONTROL USBSER000 SUCCESS
89 0.00000279 javaw.exe IOCTL_SERIAL_GET_CHARS USBSER000 SUCCESS
90 0.00000251 javaw.exe IOCTL_SERIAL_GET_HANDFLOW USBSER000 SUCCESS
91 0.00091744 javaw.exe IOCTL_SERIAL_SET_BAUD_RATE USBSER000 SUCCESS Rate: 115200
92 0.00000279 javaw.exe IOCTL_SERIAL_CLR_RTS USBSER000 SUCCESS
93 0.00043246 javaw.exe IOCTL_SERIAL_SET_DTR USBSER000 SUCCESS
94 0.00095990 javaw.exe IOCTL_SERIAL_SET_LINE_CONTROL USBSER000 SUCCESS StopBits: 1 Parity: NONE WordLength: 8
95 0.00000279 javaw.exe IOCTL_SERIAL_SET_CHAR USBSER000 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0
96 0.00000251 javaw.exe IOCTL_SERIAL_SET_HANDFLOW USBSER000 SUCCESS Shake:1 Replace:2 XonLimit:0 XoffLimit:0
97 0.00000279 javaw.exe IOCTL_SERIAL_SET_TIMEOUTS USBSER000 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0
98 0.00046570 javaw.exe IOCTL_SERIAL_GET_BAUD_RATE USBSER000 SUCCESS
99 0.00045397 javaw.exe IOCTL_SERIAL_GET_LINE_CONTROL USBSER000 SUCCESS
100 0.00000251 javaw.exe IOCTL_SERIAL_GET_CHARS USBSER000 SUCCESS
101 0.00000223 javaw.exe IOCTL_SERIAL_GET_HANDFLOW USBSER000 SUCCESS
102 0.00000251 javaw.exe IOCTL_SERIAL_GET_TIMEOUTS USBSER000 SUCCESS
103 0.00052465 javaw.exe IOCTL_SERIAL_GET_BAUD_RATE USBSER000 SUCCESS
104 0.00048274 javaw.exe IOCTL_SERIAL_GET_LINE_CONTROL USBSER000 SUCCESS
105 0.00000251 javaw.exe IOCTL_SERIAL_GET_CHARS USBSER000 SUCCESS
106 0.00000251 javaw.exe IOCTL_SERIAL_GET_HANDFLOW USBSER000 SUCCESS
107 0.00000251 javaw.exe IOCTL_SERIAL_GET_TIMEOUTS USBSER000 SUCCESS
108 0.00055314 javaw.exe IOCTL_SERIAL_GET_BAUD_RATE USBSER000 SUCCESS
109 0.00046570 javaw.exe IOCTL_SERIAL_GET_LINE_CONTROL USBSER000 SUCCESS
110 0.00000307 javaw.exe IOCTL_SERIAL_GET_CHARS USBSER000 SUCCESS
111 0.00000251 javaw.exe IOCTL_SERIAL_GET_HANDFLOW USBSER000 SUCCESS
112 0.00090263 javaw.exe IOCTL_SERIAL_SET_BAUD_RATE USBSER000 SUCCESS Rate: 115200
113 0.00000335 javaw.exe IOCTL_SERIAL_CLR_RTS USBSER000 SUCCESS
114 0.00041793 javaw.exe IOCTL_SERIAL_SET_DTR USBSER000 SUCCESS
115 0.00068891 javaw.exe IOCTL_SERIAL_SET_LINE_CONTROL USBSER000 SUCCESS StopBits: 1 Parity: NONE WordLength: 8
116 0.00000279 javaw.exe IOCTL_SERIAL_SET_CHAR USBSER000 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0
117 0.00000279 javaw.exe IOCTL_SERIAL_SET_HANDFLOW USBSER000 SUCCESS Shake:1 Replace:2 XonLimit:0 XoffLimit:0
118 0.00000279 javaw.exe IOCTL_SERIAL_SET_TIMEOUTS USBSER000 SUCCESS RI:0 RM:0 RC:100 WM:0 WC:100
119 0.00028300 javaw.exe IRP_MJ_WRITE USBSER000 SUCCESS Length 1: .
120 0.00000307 javaw.exe IOCTL_SERIAL_SET_WAIT_MASK USBSER000 SUCCESS Mask: TXEMPTY
121 0.00030367 javaw.exe IRP_MJ_WRITE USBSER000 SUCCESS Length 1: .
122 0.00000335 javaw.exe IOCTL_SERIAL_SET_WAIT_MASK USBSER000 SUCCESS Mask: TXEMPTY
123 0.00033468 javaw.exe IRP_MJ_WRITE USBSER000 SUCCESS Length 1: .
124 0.00000307 javaw.exe IOCTL_SERIAL_SET_WAIT_MASK USBSER000 SUCCESS Mask: TXEMPTY
125 0.00038161 javaw.exe IRP_MJ_WRITE USBSER000 SUCCESS Length 1: .
126 0.00000307 javaw.exe IOCTL_SERIAL_SET_WAIT_MASK USBSER000 SUCCESS Mask: TXEMPTY
127 0.00031065 javaw.exe IRP_MJ_WRITE USBSER000 SUCCESS Length 1: .
128 0.00000335 javaw.exe IOCTL_SERIAL_SET_WAIT_MASK USBSER000 SUCCESS Mask: TXEMPTY
129 0.00032965 javaw.exe IRP_MJ_WRITE USBSER000 SUCCESS Length 1: .
130 0.00000335 javaw.exe IOCTL_SERIAL_SET_WAIT_MASK USBSER000 SUCCESS Mask: TXEMPTY
131 0.00000279 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
132 0.00000391 javaw.exe IRP_MJ_READ USBSER000 SUCCESS Length 1: 1
133 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
134 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
135 0.00000335 javaw.exe IRP_MJ_READ USBSER000 SUCCESS Length 1: A
136 0.00000223 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
137 0.00000223 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
138 0.00000307 javaw.exe IRP_MJ_READ USBSER000 SUCCESS Length 1: L
139 0.00000223 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
140 0.00000223 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
141 0.00000363 javaw.exe IRP_MJ_READ USBSER000 SUCCESS Length 1: S
142 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
143 0.00039251 javaw.exe IRP_MJ_WRITE USBSER000 SUCCESS Length 5: .....
144 0.00000335 javaw.exe IOCTL_SERIAL_SET_WAIT_MASK USBSER000 SUCCESS Mask: TXEMPTY
145 0.00035032 javaw.exe IRP_MJ_WRITE USBSER000 SUCCESS Length 5: .....
146 0.00000335 javaw.exe IOCTL_SERIAL_SET_WAIT_MASK USBSER000 SUCCESS Mask: TXEMPTY
147 0.00035815 javaw.exe IRP_MJ_WRITE USBSER000 SUCCESS Length 5: .....
148 0.00000307 javaw.exe IOCTL_SERIAL_SET_WAIT_MASK USBSER000 SUCCESS Mask: TXEMPTY
149 0.00036709 javaw.exe IRP_MJ_WRITE USBSER000 SUCCESS Length 5: ..'..
150 0.00000307 javaw.exe IOCTL_SERIAL_SET_WAIT_MASK USBSER000 SUCCESS Mask: TXEMPTY
151 0.00036094 javaw.exe IRP_MJ_WRITE USBSER000 SUCCESS Length 5: .....
152 0.00000307 javaw.exe IOCTL_SERIAL_SET_WAIT_MASK USBSER000 SUCCESS Mask: TXEMPTY
153 0.00031987 javaw.exe IRP_MJ_WRITE USBSER000 SUCCESS Length 5: .....
154 0.00000307 javaw.exe IOCTL_SERIAL_SET_WAIT_MASK USBSER000 SUCCESS Mask: TXEMPTY
155 0.00043749 javaw.exe IRP_MJ_WRITE USBSER000 SUCCESS Length 1: .
156 0.00000335 javaw.exe IOCTL_SERIAL_SET_WAIT_MASK USBSER000 SUCCESS Mask: TXEMPTY
157 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
158 0.09814823 javaw.exe IRP_MJ_READ USBSER000 TIMEOUT Length 0:
159 0.00000363 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
160 0.00000223 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
161 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
162 0.00000279 javaw.exe IOCTL_SERIAL_GET_MODEMSTATUS USBSER000 SUCCESS
163 0.00000223 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
164 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
165 0.00000447 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
166 0.10928707 javaw.exe IRP_MJ_READ USBSER000 TIMEOUT Length 0:
167 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
168 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
169 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
170 0.00000279 javaw.exe IOCTL_SERIAL_GET_MODEMSTATUS USBSER000 SUCCESS
171 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
172 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
173 0.00000447 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
174 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
175 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
176 0.00000223 javaw.exe IOCTL_SERIAL_GET_MODEMSTATUS USBSER000 SUCCESS
177 0.00000196 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
178 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
179 0.00000447 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
180 0.10926277 javaw.exe IRP_MJ_READ USBSER000 TIMEOUT Length 0:
181 0.00000363 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
182 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
183 0.00000223 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
184 0.00000223 javaw.exe IOCTL_SERIAL_GET_MODEMSTATUS USBSER000 SUCCESS
185 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
186 0.00000196 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
187 0.00000419 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
188 0.00000223 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
189 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
190 0.00000251 javaw.exe IOCTL_SERIAL_GET_MODEMSTATUS USBSER000 SUCCESS
191 0.00000279 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
192 0.00000223 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
193 0.00000279 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
194 0.04565999 javaw.exe IRP_MJ_READ USBSER000 SUCCESS Length 1: .
195 0.00000363 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
196 0.00024221 javaw.exe IRP_MJ_READ USBSER000 SUCCESS Length 1: .
197 0.00000279 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
198 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
... lots of the same last 3 lines repeated..
370 0.00000363 javaw.exe IRP_MJ_READ USBSER000 SUCCESS Length 1: .
371 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
372 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
373 0.00000335 javaw.exe IRP_MJ_READ USBSER000 SUCCESS Length 1: .
374 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
375 0.00000279 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
376 0.00000363 javaw.exe IRP_MJ_READ USBSER000 SUCCESS Length 1: .
377 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
379 0.00000307 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
380 0.00000279 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
381 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
382 0.00000251 javaw.exe IOCTL_SERIAL_GET_MODEMSTATUS USBSER000 SUCCESS
383 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
384 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
385 0.00000363 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
386 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
387 0.00000307 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
388 0.00000251 javaw.exe IOCTL_SERIAL_GET_MODEMSTATUS USBSER000 SUCCESS
389 0.00000251 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
390 0.00000223 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
378 0.00000279 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
391 0.00021735 javaw.exe IRP_MJ_WRITE USBSER000 SUCCESS Length 1: .
392 0.00000279 javaw.exe IOCTL_SERIAL_SET_WAIT_MASK USBSER000 SUCCESS Mask: TXEMPTY
393 0.00016063 javaw.exe IRP_MJ_WRITE USBSER000 SUCCESS Length 1: .
394 0.00000223 javaw.exe IOCTL_SERIAL_SET_WAIT_MASK USBSER000 SUCCESS Mask: TXEMPTY
395 0.00021316 javaw.exe IRP_MJ_WRITE USBSER000 SUCCESS Length 1: .
396 0.00000196 javaw.exe IOCTL_SERIAL_SET_WAIT_MASK USBSER000 SUCCESS Mask: TXEMPTY
397 0.00021986 javaw.exe IRP_MJ_WRITE USBSER000 SUCCESS Length 1: .
398 0.00000196 javaw.exe IOCTL_SERIAL_SET_WAIT_MASK USBSER000 SUCCESS Mask: TXEMPTY
399 0.00021679 javaw.exe IRP_MJ_WRITE USBSER000 SUCCESS Length 1: .
400 0.00000223 javaw.exe IOCTL_SERIAL_SET_WAIT_MASK USBSER000 SUCCESS Mask: TXEMPTY
401 0.00000196 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
402 0.00000223 javaw.exe IOCTL_SERIAL_GET_MODEMSTATUS USBSER000 SUCCESS
403 0.00000196 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
404 0.00030758 javaw.exe IOCTL_SERIAL_CLR_DTR USBSER000 SUCCESS
405 0.00000196 javaw.exe IOCTL_SERIAL_CLR_RTS USBSER000 SUCCESS
406 0.00000196 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
407 0.00000196 javaw.exe IOCTL_SERIAL_GET_MODEMSTATUS USBSER000 SUCCESS
408 0.00000196 javaw.exe IOCTL_SERIAL_GET_COMMSTATUS USBSER000 SUCCESS
409 0.00030730 javaw.exe IOCTL_SERIAL_CLR_DTR USBSER000 SUCCESS
410 0.00000196 javaw.exe IOCTL_SERIAL_CLR_RTS USBSER000 SUCCESS
411 0.00000223 javaw.exe IRP_MJ_CLEANUP USBSER000 SUCCESS
412 0.00036625 javaw.exe IRP_MJ_CLOSE USBSER000 SUCCESS


-Crawford

Re: Test Release 2.03 and 2.04 - SPI mode.

Reply #61
I was able to update the FPGA rom bit stream but am not able to update the PIC.. here are the errors

Code: [Select]
C:UsersLukeDesktopLSv0.4>fw_update -e -w -m flash -vid 0x04D8 -pid 0xFC90 -ix OLSv1-firmware-v04.hex
U2IO flash erasing: FAILED.
Device is not found.
Operation aborted.

C:UsersLukeDesktopLSv0.4>pause
Press any key to continue . . .

It is on COM9 but how do I specify that to the fw_update.exe

Also what is the run_java_client.bat for, this is not mentioned in the tutorials?

Re: Test Release 2.03 and 2.04 - SPI mode.

Reply #62
@LukeS

The run_java_client.bat was just meant as a quick way to show people how to run a jar from the command line if they do not already know. I had to google it the first time.

Jack.

Re: Test Release 2.03 and 2.04 - SPI mode.

Reply #63
@jack,
Do we need to use the analyzer.jar file and any idea on the PIc firmware update issue?

Re: Test Release 2.03 and 2.04 - SPI mode.

Reply #64
@LukeS
make sure you jumper PGC PDC (i.e short them out) or set the board into bootloader mode. At this point both ACT and PWR lights will be illuminated permenantly.
the firmware update file then finds the board automatically, and you will see the trace of the firmware update in the command shell.

you should be able to run the client from the command line with:

java -jar analyser.jar ( note US spelling of analyzer.jar)

@all
I successfully uploaded to firmware 4. In some cases the capture is successful in some the device is not found. It appears to be more problematic with device not found in OSX (10.6.3) than XPsp2

In OSx, I have to have the OLS plugged in before I start up the jar. This seems to be the main cause of my visible error. In some cases I have to reaffirm the port from the dropdown window even if it is the correct one displayed.

Re: Test Release 2.03 and 2.04 - SPI mode.

Reply #65
Thanks swiss mac for the response, I tried put the board into boot mode with the pump-loader tool and with jumping PGC and PGD pins.  Both work and the ACT is on... I think I found the problem but have no idea how to fix it.

When I power on the device in boot mode after updating the FPGA firmware windows is unable to assign the device a COM port.  If I remove the jumper on the PGC and PGD pins windows assigns the OBLS to COM 9 no problem.  Attached is a picture of my device manage with the board in boot mode.

I have only updated the FPGA as stated in step 1 on the blog post but figured I would try the new drivers listed here with version 0.4 of the PIC firmware, that did nothing.

EDIT: GOT IT!! To others that have issues, make sure you remove ALL other attached USB devices except the essentials like the mouse and keyboard.  Some USB device was not playing nice with the fw_update.exe program

Re: Test Release 2.03 and 2.04 - SPI mode.

Reply #66
Jack and Ian thanks for the latest updates (bitstream release 2.03 and 2.04 and firmware v0.4)!

I have updated my boards to firmware v0.4 and bitstream releases 2.03 and 2.04 and both versions work well. I encountered no communication problems so far.

One important hint to all who want to upgrade to release 2.04: make sure you install OLSv1-firmware-v4.hex (and not the firmware that comes with the 2.04TestRelease.zip package!!!). With firmware v0.2 and firmware v0.3 none of my boards would communicate with the (new) SUMP Java client when bitstream release 2.04 was loaded (I always got the "Device not found" message).

Firmware v04 was released by Ian after Jack put the 2.04TestRelease.zip package up!

Tested the test mode in release 2.04 (see below) and the inside and outside number schemes but I have not tested the 8k option (with channel groups 3 and 4 disabled!) yet.

Re: Test Release 2.03 and 2.04 - SPI mode.

Reply #67
@LukeS -

Quote
It is on COM9 but how do I specify that to the fw_update.exe

The bootloader actually appears as a USB HID device, not a serial port. The normal mode and ROM update mode appear as a serial port.

@swissMac -

Quote
In OSx, I have to have the OLS plugged in before I start up the jar. This seems to be the main cause of my visible error.

That is consistent with the Windows version. My guess is that SUMP only scans for serial ports at startup. The windows version doesn't ever refresh the list so a new device won't even show up.

@crawford - thanks for the debug output. There may be a HEX format display setting that's disabled in your portmon, I don't see any non-ASCII values in the output. We can infer a lot anyways, maybe jack can comment too:

Code: [Select]
119   0.00028300   javaw.exe   IRP_MJ_WRITE   USBSER000   SUCCESS   Length 1: .   
120   0.00000307   javaw.exe   IOCTL_SERIAL_SET_WAIT_MASK   USBSER000   SUCCESS   Mask: TXEMPTY   
121   0.00030367   javaw.exe   IRP_MJ_WRITE   USBSER000   SUCCESS   Length 1: .  
122   0.00000335   javaw.exe   IOCTL_SERIAL_SET_WAIT_MASK   USBSER000   SUCCESS   Mask: TXEMPTY   
123   0.00033468   javaw.exe   IRP_MJ_WRITE   USBSER000   SUCCESS   Length 1: .  
124   0.00000307   javaw.exe   IOCTL_SERIAL_SET_WAIT_MASK   USBSER000   SUCCESS   Mask: TXEMPTY   
125   0.00038161   javaw.exe   IRP_MJ_WRITE   USBSER000   SUCCESS   Length 1: .  
126   0.00000307   javaw.exe   IOCTL_SERIAL_SET_WAIT_MASK   USBSER000   SUCCESS   Mask: TXEMPTY   
127   0.00031065   javaw.exe   IRP_MJ_WRITE   USBSER000   SUCCESS   Length 1: .  
128   0.00000335   javaw.exe   IOCTL_SERIAL_SET_WAIT_MASK   USBSER000   SUCCESS   Mask: TXEMPTY   
129   0.00032965   javaw.exe   IRP_MJ_WRITE   USBSER000   SUCCESS   Length 1: .  
130   0.00000335   javaw.exe   IOCTL_SERIAL_SET_WAIT_MASK   USBSER000   SUCCESS   Mask: TXEMPTY   

First the port is setup and opened. In this section I guess the SUMP client sends 0 0 0 0 2 to get the ID. The FPGA responds:

Code: [Select]
131   0.00000279   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS      
132   0.00000391   javaw.exe   IRP_MJ_READ   USBSER000   SUCCESS   Length 1: 1  
133   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
134   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
135   0.00000335   javaw.exe   IRP_MJ_READ   USBSER000   SUCCESS   Length 1: A  
136   0.00000223   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
137   0.00000223   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
138   0.00000307   javaw.exe   IRP_MJ_READ   USBSER000   SUCCESS   Length 1: L  
139   0.00000223   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
140   0.00000223   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
141   0.00000363   javaw.exe   IRP_MJ_READ   USBSER000   SUCCESS   Length 1: S  
142   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
14

The FPGA responds 1ALS. This is correct. So now we know the problem isn't a bitstream that doesn't communicate, it's another issue. I guess we knew that from the Java output before, but this is even stronger evidence.

Code: [Select]
143   0.00039251   javaw.exe   IRP_MJ_WRITE   USBSER000   SUCCESS   Length 5: .....   
144   0.00000335   javaw.exe   IOCTL_SERIAL_SET_WAIT_MASK   USBSER000   SUCCESS   Mask: TXEMPTY   
145   0.00035032   javaw.exe   IRP_MJ_WRITE   USBSER000   SUCCESS   Length 5: .....  
146   0.00000335   javaw.exe   IOCTL_SERIAL_SET_WAIT_MASK   USBSER000   SUCCESS   Mask: TXEMPTY   
147   0.00035815   javaw.exe   IRP_MJ_WRITE   USBSER000   SUCCESS   Length 5: .....  
148   0.00000307   javaw.exe   IOCTL_SERIAL_SET_WAIT_MASK   USBSER000   SUCCESS   Mask: TXEMPTY   
149   0.00036709   javaw.exe   IRP_MJ_WRITE   USBSER000   SUCCESS   Length 5: ..'..  
150   0.00000307   javaw.exe   IOCTL_SERIAL_SET_WAIT_MASK   USBSER000   SUCCESS   Mask: TXEMPTY   
151   0.00036094   javaw.exe   IRP_MJ_WRITE   USBSER000   SUCCESS   Length 5: .....  
152   0.00000307   javaw.exe   IOCTL_SERIAL_SET_WAIT_MASK   USBSER000   SUCCESS   Mask: TXEMPTY   
153   0.00031987   javaw.exe   IRP_MJ_WRITE   USBSER000   SUCCESS   Length 5: .....  
154   0.00000307   javaw.exe   IOCTL_SERIAL_SET_WAIT_MASK   USBSER000   SUCCESS   Mask: TXEMPTY   
155   0.00043749   javaw.exe   IRP_MJ_WRITE   USBSER000   SUCCESS   Length 1: .  
156   0.00000335   javaw.exe   IOCTL_SERIAL_SET_WAIT_MASK   USBSER000   SUCCESS   Mask: TXEMPTY   

Now the SUMP client sends the six 5byte setup commands and the 1byte trigger command. We can't see the values, which is unfortunate, but we can assume for now that they are the same as the values from the Java debug:

Code: [Select]
11000000 00000000 00000000 00000000 00000000
11000001 00000000 00000000 00000000 00000000
11000010 00000000 00000000 00000000 00001000
10000000 00000000 00000000 00000000 00000000
10000001 11111111 00000001 11111111 00000001
Flags: 10
10000010 00000010 00000000 00000000 00000000

These are the settings that configure channels and stuff.

Code: [Select]
158   0.09814823   javaw.exe   IRP_MJ_READ   USBSER000   TIMEOUT   Length 0:    
159   0.00000363   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
160   0.00000223   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
161   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
162   0.00000279   javaw.exe   IOCTL_SERIAL_GET_MODEMSTATUS   USBSER000   SUCCESS     
163   0.00000223   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
164   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
165   0.00000447   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
166   0.10928707   javaw.exe   IRP_MJ_READ   USBSER000   TIMEOUT   Length 0:   
167   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
168   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
169   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
170   0.00000279   javaw.exe   IOCTL_SERIAL_GET_MODEMSTATUS   USBSER000   SUCCESS     
171   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
172   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
173   0.00000447   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
174   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
175   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
176   0.00000223   javaw.exe   IOCTL_SERIAL_GET_MODEMSTATUS   USBSER000   SUCCESS     
177   0.00000196   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
178   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
179   0.00000447   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
180   0.10926277   javaw.exe   IRP_MJ_READ   USBSER000   TIMEOUT   Length 0:   
181   0.00000363   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
182   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
183   0.00000223   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
184   0.00000223   javaw.exe   IOCTL_SERIAL_GET_MODEMSTATUS   USBSER000   SUCCESS     
185   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
186   0.00000196   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
187   0.00000419   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
188   0.00000223   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
189   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
190   0.00000251   javaw.exe   IOCTL_SERIAL_GET_MODEMSTATUS   USBSER000   SUCCESS     
191   0.00000279   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
192   0.00000223   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
193   0.00000279   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     

The IRP_MJ_READ   USBSER000   TIMEOUT   Length 0:  are reads from OLS that timeout because there's no data. This is OK, this happens while the OLS is waiting for a trigger or capturing data.

Code: [Select]
194   0.04565999   javaw.exe   IRP_MJ_READ   USBSER000   SUCCESS   Length 1: .   
195   0.00000363   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
196   0.00024221   javaw.exe   IRP_MJ_READ   USBSER000   SUCCESS   Length 1: .  
197   0.00000279   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
198   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
... lots of the same last 3 lines repeated..
370   0.00000363   javaw.exe   IRP_MJ_READ   USBSER000   SUCCESS   Length 1: .  
371   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
372   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
373   0.00000335   javaw.exe   IRP_MJ_READ   USBSER000   SUCCESS   Length 1: .  
374   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
375   0.00000279   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
376   0.00000363   javaw.exe   IRP_MJ_READ   USBSER000   SUCCESS   Length 1: .  

Here the SUMP client has the first successful read, and then continues to read out the samples. It would be nice to see the sample data, and it would be helpful to know exactly how much data was read. I guess 198-370/3 is about 57 + the 5 we see is around 64 samples.

Code: [Select]
377   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS      
379   0.00000307   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
380   0.00000279   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
381   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
382   0.00000251   javaw.exe   IOCTL_SERIAL_GET_MODEMSTATUS   USBSER000   SUCCESS     
383   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
384   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
385   0.00000363   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
386   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
387   0.00000307   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
388   0.00000251   javaw.exe   IOCTL_SERIAL_GET_MODEMSTATUS   USBSER000   SUCCESS     
389   0.00000251   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
390   0.00000223   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
378   0.00000279   javaw.exe   IOCTL_SERIAL_GET_COMMSTATUS   USBSER000   SUCCESS     
391   0.00021735   javaw.exe   IRP_MJ_WRITE   USBSER000   SUCCESS   Length 1: .  
392   0.00000279   javaw.exe   IOCTL_SERIAL_SET_WAIT_MASK   USBSER000   SUCCESS   Mask: TXEMPTY   
393   0.00016063   javaw.exe   IRP_MJ_WRITE   USBSER000   SUCCESS   Length 1: .  
394   0.00000223   javaw.exe   IOCTL_SERIAL_SET_WAIT_MASK   USBSER000   SUCCESS   Mask: TXEMPTY   
395   0.00021316   javaw.exe   IRP_MJ_WRITE   USBSER000   SUCCESS   Length 1: .  
396   0.00000196   javaw.exe   IOCTL_SERIAL_SET_WAIT_MASK   USBSER000   SUCCESS   Mask: TXEMPTY   
397   0.00021986   javaw.exe   IRP_MJ_WRITE   USBSER000   SUCCESS   Length 1: .  
398   0.00000196   javaw.exe   IOCTL_SERIAL_SET_WAIT_MASK   USBSER000   SUCCESS   Mask: TXEMPTY   
399   0.00021679   javaw.exe   IRP_MJ_WRITE   USBSER000   SUCCESS   Length 1: .  
400   0.00000223   javaw.exe   IOCTL_SERIAL_SET_WAIT_MASK   USBSER000   SUCCESS   Mask: TXEMPTY   

Here's the weird part. If it were a timeout error, I'd expect a place where the SUMP client reads and the read times out. It would look like the previous IRP_MJ_READ   USBSER000   TIMEOUT   Length 0:  . Instead, SUMP just stops reading, sends 0 0 0 0 0 to reset, and closes the port. That is all normal behavior for a capture, but something is aborting it, maybe in the Java client?

Can you try with the .net client from the forum http://dangerousprototypes.com/forum/in ... opic=564.0 and see if you get the same results?

I'll make a new firmware that stuffs more data in a single USB packet, maybe that will help feed any sensitive rxtx drivers a bit better.
Got a question? Please ask in the forum for the fastest answers.

Re: Test Release 2.03 and 2.04 - SPI mode.

Reply #68
A note on Portmon: you can put the filter *WRITE;*READ in the include box at startup for less verbose output. You might miss something more detailed, but it's helpful for a first pass.
Got a question? Please ask in the forum for the fastest answers.

Re: Test Release 2.03 and 2.04 - SPI mode.

Reply #69
@ian
looks like the 1st capture under OSX always fails with 'device not found', thereafter its OK

needed to use the camera this morning so took some 'additional feel good shots'
/mac


edit+ still with Firmware 04
exception generated with OSX after startup fail then  successful read/capture

mini:SumpJavaClient minimac$ java -d32 -jar analyzer.jar
Experimental:  JNI_OnLoad called.
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version   = RXTX-2.1-7
/dev/tty.usbmodemfd321
/dev/cu.usbmodemfd321
/dev/tty.Bluetooth-PDA-Sync
/dev/cu.Bluetooth-PDA-Sync
/dev/tty.Bluetooth-Modem
/dev/cu.Bluetooth-Modem
Device Controller found: org.sump.analyzer.devices.FpgaDeviceController
/dev/tty.usbmodemfd321
/dev/cu.usbmodemfd321
/dev/tty.Bluetooth-PDA-Sync
/dev/cu.Bluetooth-PDA-Sync
/dev/tty.Bluetooth-Modem
/dev/cu.Bluetooth-Modemklo
Device Controller found: org.sump.analyzer.devices.Hp16500DeviceController
Device Controller = FPGA Controller
Tool found: org.sump.analyzer.tools.I2CProtocolAnalysis
Tool found: org.sump.analyzer.tools.SPIProtocolAnalysis
Tool found: org.sump.analyzer.tools.StateAnalysis
Tool found: org.sump.analyzer.tools.UARTProtocolAnalysis
Attaching to: /dev/tty.usbmodemfd321 (115200bps)
Run started
Device ID: 0x7803
Run aborted
java.io.IOException: Device not found.
   at org.sump.analyzer.devices.FpgaDevice.run(FpgaDevice.java:648)
   at org.sump.analyzer.devices.FpgaDeviceController.run(FpgaDeviceController.java:546)
   at java.lang.Thread.run(Thread.java:637)
Attaching to: /dev/tty.usbmodemfd321 (115200bps)
Run started
Device ID: 0x534c4131
11000000 00000000 00000000 00000000 00000000
11000001 00000000 00000000 00000000 00000000
11000010 00000000 00000000 00000000 00001000
10000000 00000000 00000000 00000000 00000000
10000001 11111111 00000001 11111111 00000001
Flags: 10000000010
10000010 00000010 00000100 00000000 00000000
Run completed
java.lang.InterruptedException
   at java.lang.Object.wait(Native Method)
   at java.lang.Thread.join(Thread.java:1175)
   at gnu.io.RXTXPort.removeEventListener(RXTXPort.java:814)
   at gnu.io.RXTXPort.close(RXTXPort.java:1039)
   at org.sump.analyzer.devices.FpgaDevice.detach(FpgaDevice.java:518)
   at org.sump.analyzer.devices.FpgaDeviceController.run(FpgaDeviceController.java:559)
   at java.lang.Thread.run(Thread.java:637)

Re: Test Release 2.03 and 2.04 - SPI mode.

Reply #70
Thanks swissMac - can you please post the java debug output from the device not found runs?
Got a question? Please ask in the forum for the fastest answers.

Re: Test Release 2.03 and 2.04 - SPI mode.

Reply #71
Here's v05 and v06 firmware to test (moved to here: http://dangerousprototypes.com/forum/in ... 85#msg5285).

v05 adds priority for reading data from FPGA. This fixes missed bytes when read flag is high but PIC hits the write loop. This was never a problem because SUMP and the OLS never talk at the same time, but it should guarantee against unpredictable behavior. (see attached image, the string used to return ALS because the 1 was lost while the second 0x02 was written) Also eliminates a potential buffer overflow (though never observed)

v06 adds a loop to the FPGA read. As long as the FPGA has data to read and there is buffer space, the PIC will read from the FPGA. At the end a full packet of 64 bytes will be sent, this will speed up data dumps a lot by better filling USB packets.

There are two consequences in v06. [s:]A cancel command (or any bytes) sent from the USB to the OLS will be ignored until the read flag on the FPGA is cleared and it can be clocked in.[/s:] (EDIT: looks like that's the way the FPGA behaves.) Second, depending on how fast the FPGA clears and sets the read flag we may need to finesse the timing to get rid of phantom bytes. Give it a test an let me know how it works for you.

EDIT: I attached an 'a' revision. I think the first may have the internal version numbers swapped, not sure. Just to be sure, here's a fresh compile.

EDIT 2: Sorry, I messed up when I reverted the v0.7 changes and recompiled. See my next post below this one for a -b revision release of v05 and v06.
Got a question? Please ask in the forum for the fastest answers.

Re: Test Release 2.03 and 2.04 - SPI mode.

Reply #72
[s:]Here's an untested v7 that takes it a step further and implements bi-directional transfers during SPI reads. That eliminates problem of the v05/v06 firmware not passing a cancel command during a download, for example.[/s:]

Never mind, it doesn't like that.
Got a question? Please ask in the forum for the fastest answers.

Re: Test Release 2.03 and 2.04 - SPI mode.

Reply #73
Uhhh, what's wrong with it ... OLSv1-firmware-v07-20MHz.hex worked just fine for me - at least in Test mode

Code: [Select]
;Size: 191
;Rate: 100000000
;Channels: 32
;EnabledChannels: 65535
;CursorEnabled: false
;CursorA: 0
;CursorB: 0
;Compressed: true
;AbsoluteLength: 2048
00005555@0
00004001@16
00000000@17
00005555@32
00004001@48
00000000@49
00005555@64
00004001@80
00000000@81
00005555@96
00004001@112
00000000@113
00005555@128
00004001@144
00000000@145
00005555@160
0000eaab@176
0000aaaa@177
0000ffff@192
0000eaab@208
0000aaaa@209
0000ffff@224
0000eaab@240
0000aaaa@241
0000ffff@256
0000eaab@272
0000aaaa@273
0000ffff@288
0000eaab@304
0000aaaa@305
0000ffff@320
0000eaab@336
0000aaaa@337
0000ffff@352
0000eaab@368
0000aaaa@369
0000ffff@384
0000eaab@400
0000aaaa@401
0000ffff@416
0000eaab@432
0000aaaa@433
0000ffff@448
0000eaab@464
0000aaaa@465
0000ffff@480
0000eaab@496
0000aaaa@497
0000ffff@512
0000eaab@528
0000aaaa@529
0000ffff@544
0000eaab@560
0000aaaa@561
0000ffff@576
0000eaab@592
0000aaaa@593
0000ffff@608
0000eaab@624
0000aaaa@625
0000ffff@640
0000eaab@656
0000aaaa@657
0000ffff@672
0000eaab@688
0000aaaa@689
0000ffff@704
0000eaab@720
0000aaaa@721
0000ffff@736
0000eaab@752
0000aaaa@753
0000ffff@768
0000eaab@784
0000aaaa@785
0000ffff@800
0000eaab@816
0000aaaa@817
0000ffff@832
0000eaab@848
0000aaaa@849
0000ffff@864
0000eaab@880
0000aaaa@881
0000ffff@896
0000eaab@912
0000aaaa@913
0000ffff@928
0000eaab@944
0000aaaa@945
0000ffff@960
0000eaab@976
0000aaaa@977
0000ffff@992
0000eaab@1008
0000aaaa@1009
0000ffff@1024
0000eaab@1040
0000aaaa@1041
0000ffff@1056
0000eaab@1072
0000aaaa@1073
0000ffff@1088
0000eaab@1104
0000aaaa@1105
0000ffff@1120
0000eaab@1136
0000aaaa@1137
0000ffff@1152
0000eaab@1168
0000aaaa@1169
0000ffff@1184
00000000@1201
00005555@1216
00004021@1232
00000000@1233
00005555@1248
00004021@1264
00000000@1265
00005555@1280
00004021@1296
00000000@1297
00005555@1312
00004021@1328
00000000@1329
00005555@1344
00004021@1360
00000000@1361
00005555@1376
00004021@1392
00000000@1393
00005555@1408
00004021@1424
00000000@1425
00005555@1440
00004021@1456
00000000@1457
00005555@1472
00004021@1488
00000000@1489
00005555@1504
00004021@1520
00000000@1521
00005555@1536
00004021@1552
00000000@1553
00005555@1568
00004021@1584
00000000@1585
00005555@1600
00004021@1616
00000000@1617
00005555@1632
00004021@1648
00000000@1649
00005555@1664
00004001@1680
00000000@1681
00005555@1696
00004001@1712
00000000@1713
00005555@1728
00004001@1744
00000000@1745
00005555@1760
00004001@1776
00000000@1777
00005555@1792
00004001@1808
00000000@1809
00005555@1824
00004001@1840
00000000@1841
00005555@1856
00004001@1872
00000000@1873
00005555@1888
00004001@1904
00000000@1905
00005555@1920
00004001@1936
00000000@1937
00005555@1952
00004001@1968
00000000@1969
00005555@1984
00004001@2000
00000000@2001
00005555@2016
00004001@2032
00000000@2033

Forget about the glitches ... I am testing cables/clips for crosstalk etc. ... it has nothing to do with the v07 PIC code

Re: Test Release 2.03 and 2.04 - SPI mode.

Reply #74
Quote
Uhhh, what's wrong with it ... OLSv1-firmware-v07-20MHz.hex worked just fine for me - at least in Test mode

It should work fine as long as SUMP doesn't send bytes while the FPGA is being read. I thought the FPGA would accept input bytes while the read flag is high, that does not appear to be the case. The bytes sent with the bidirectional code in v0.7 are lost. Compared to the test shown in the image attached to my previous post, the second 0x02 is missed entirely and only one 1als is returned.
Got a question? Please ask in the forum for the fastest answers.