| Line 96... |
Line 96... |
| 96 |
unsigned int32 TDC_get_measurement(int num) |
96 |
unsigned int32 TDC_get_measurement(int num) |
| 97 |
{ |
97 |
{ |
| 98 |
unsigned int32 ret; |
98 |
unsigned int32 ret; |
| 99 |
|
99 |
|
| 100 |
output_low(TDC_ENABLE); |
100 |
output_low(TDC_ENABLE); |
| 101 |
spi_xfer(TDC_stream,0xB0 + num - 1, 8); |
101 |
spi_xfer(TDC_stream,0xB0 + num, 8); |
| 102 |
ret=spi_xfer(TDC_stream,0,32); |
102 |
ret=spi_xfer(TDC_stream,0,32); |
| 103 |
output_high(TDC_ENABLE); |
103 |
output_high(TDC_ENABLE); |
| 104 |
return ret; |
104 |
return ret; |
| 105 |
} |
105 |
} |
| 106 |
|
106 |
|
| Line 200... |
Line 200... |
| 200 |
output_high(TDC_ENABLE); |
200 |
output_high(TDC_ENABLE); |
| 201 |
} |
201 |
} |
| 202 |
|
202 |
|
| 203 |
float TDC_mrange2_get_time(unsigned int shot) |
203 |
float TDC_mrange2_get_time(unsigned int shot) |
| 204 |
{ |
204 |
{ |
| - |
|
205 |
unsigned int32 measurement; |
| - |
|
206 |
float time; |
| - |
|
207 |
|
| 205 |
switch (shot) |
208 |
switch (shot) |
| 206 |
{ |
209 |
{ |
| 207 |
case 1: |
210 |
case 1: |
| 208 |
hit2=TDC_MRANGE2_HIT2_1CH1; |
211 |
hit2=TDC_MRANGE2_HIT2_1CH1; |
| 209 |
break; |
212 |
break; |
| 210 |
|
213 |
|
| 211 |
case 2: |
214 |
case 2: |
| 212 |
hit2=TDC_MRANGE2_HIT2_2CH1; |
215 |
hit2=TDC_MRANGE2_HIT2_2CH1; |
| 213 |
break; |
216 |
break; |
| 214 |
|
217 |
|
| 215 |
case 3: |
218 |
case 3: |
| 216 |
hit2=TDC_MRANGE2_HIT2_3CH1; |
219 |
hit2=TDC_MRANGE2_HIT2_3CH1; |
| 217 |
break; |
220 |
break; |
| 218 |
} |
221 |
} |
| - |
|
222 |
TDC_update_reg1(); // tell to ALU which shot period must be computed |
| - |
|
223 |
|
| - |
|
224 |
Delay_ms(50); // wait to computing of result |
| - |
|
225 |
|
| - |
|
226 |
measurement=TDC_get_measurement(7&TDC_get_status()); // read computed value on pointer result register address |
| - |
|
227 |
|
| - |
|
228 |
|
| - |
|
229 |
switch (clkhsdiv) |
| - |
|
230 |
{ |
| - |
|
231 |
case TDC_CLKHSDIV_1: |
| - |
|
232 |
time=(measurement/65536.0) * 1.0e6/TDC_CLKHS; |
| - |
|
233 |
break; |
| - |
|
234 |
|
| - |
|
235 |
case TDC_CLKHSDIV_2: |
| - |
|
236 |
time=(measurement/65536.0) * 1.0e6/TDC_CLKHS * 2.0; |
| - |
|
237 |
break; |
| - |
|
238 |
|
| - |
|
239 |
case TDC_CLKHSDIV_4: |
| - |
|
240 |
time=(measurement/65536.0) * 1.0e6/TDC_CLKHS * 4.0; |
| - |
|
241 |
break; |
| - |
|
242 |
case TDC_CLKHSDIV_8: |
| - |
|
243 |
time=(measurement/65536.0) * 1.0e6/TDC_CLKHS * 8.0; |
| 219 |
TDC_update_reg1(); |
244 |
break; |
| - |
|
245 |
} |
| - |
|
246 |
return time; |
| 220 |
} |
247 |
} |