Go to the source code of this file.
Defines | |
#define | INLINE |
#define | EXTERNAL extern |
#define | A32D24_1190 0xf0000000 |
#define | LRS1190_ENABLE(_vmebase) |
#define | LRS1190_DISABLE(_vmebase) |
#define | LRS1190_RESET(_vmebase) |
#define | LRS1190_COUNT(_vmebase, _d) |
#define | LRS1190_READI4(_vmebase, _d, _r) |
#define | LRS1190_READL2(_vmebase, _d, _r) |
#define | LRS1190_READH2(_vmebase, _d, _r) |
#define | LRS_1190_READL2_TONY(_vmebase, _d, _r) |
Typedefs | |
typedef short int | INT |
typedef unsigned short int | WORD |
typedef unsigned long int | DWORD |
Functions | |
INLINE void | lrs1190_enable (DWORD vmeBase) |
INLINE void | lrs1190_disable (DWORD vmeBase) |
INLINE void | lrs1190_reset (DWORD vmeBase) |
INLINE void | lrs1190_count (DWORD vmeBase, INT *count) |
INLINE void | lrs1190_readi4 (DWORD vmeBase, DWORD **d, INT r) |
INLINE void | lrs1190_readl2 (DWORD vmeBase, WORD **d, INT r) |
INLINE void | lrs1190_readh2 (DWORD vmeBase, WORD **d, INT r) |
INLINE void | lrs1190_readl2z (DWORD vmeBase, WORD **d, INT r) |
void | lrs1190 (void) |
void | ena1190 (DWORD vmeBase) |
void | dis1190 (DWORD vmeBase) |
void | res1190 (DWORD vmeBase) |
void | cn1190 (DWORD vmeBase) |
void | rd1190l (DWORD vmeBase, DWORD r) |
void | rd1190h (DWORD vmeBase, DWORD r) |
void | rd1190 (DWORD vmeBase, DWORD r) |
#define A32D24_1190 0xf0000000 |
Definition at line 55 of file divers/lrs1190.c.
Referenced by lrs1190_count(), lrs1190_disable(), lrs1190_enable(), lrs1190_readh2(), lrs1190_readi4(), lrs1190_readl2(), lrs1190_readl2z(), and lrs1190_reset().
#define EXTERNAL extern |
Definition at line 36 of file divers/lrs1190.c.
#define INLINE |
Definition at line 33 of file divers/lrs1190.c.
#define LRS1190_COUNT | ( | _vmebase, | |||
_d | ) |
Value:
{\ {\ volatile DWORD _ll, *_pcount;\ _ll = _vmebase;\ _pcount = (DWORD *) (((_ll) | 0x8000) | A32D24_1190);\ *((WORD *) _d) = *(WORD *) _pcount;\ }\ }
Definition at line 90 of file divers/lrs1190.c.
Referenced by cn1190().
#define LRS1190_DISABLE | ( | _vmebase | ) |
Value:
{\ {\ volatile DWORD _ll, _local;\ _ll = _vmebase;\ _local = ((_ll) | 0x8002) | A32D24_1190;\ *(WORD *)_local = 0x0;\ }\ }
Definition at line 70 of file divers/lrs1190.c.
#define LRS1190_ENABLE | ( | _vmebase | ) |
Value:
{\ {\ volatile DWORD _ll, _local;\ _ll = _vmebase;\ _local = ((_ll) | 0x8002) | A32D24_1190;\ *(WORD *)_local = 0x1;\ }\ }
Definition at line 60 of file divers/lrs1190.c.
#define LRS1190_READH2 | ( | _vmebase, | |||
_d, | |||||
_r | ) |
Value:
{\ {\ volatile DWORD _ll, *_pcount, *_local, _count, __r;\ __r = _r;\ _ll = _vmebase;\ _pcount = (DWORD *) (((_ll) | 0x8000) | A32D24_1190);\ _count = *(WORD *) _pcount;\ if (_count <= __r)\ __r = _count;\ _local = (DWORD *)((_ll) | A32D24_1190);\ while (__r > 0) {\ *(WORD *) _d = *(++((WORD *)_local));\ ((WORD *)_d)++;\ ((WORD *)_local)++;\ __r--;}\ }\ }
Definition at line 138 of file divers/lrs1190.c.
#define LRS1190_READI4 | ( | _vmebase, | |||
_d, | |||||
_r | ) |
Value:
{\ {\ volatile DWORD _ll, *_local, __r, _count;\ DWORD *_pcount;\ __r = _r;\ _ll = _vmebase;\ _pcount = (DWORD *) (((_ll) | 0x8000) | A32D24_1190);\ _count = *(WORD *) _pcount;\ if (_count <= __r)\ __r = _count;\ _local = (DWORD *)((_ll) | A32D24_1190);\ while (__r > 0) {\ *_d++ = *_local++;\ __r--;}\ }\ }
Definition at line 101 of file divers/lrs1190.c.
#define LRS1190_READL2 | ( | _vmebase, | |||
_d, | |||||
_r | ) |
Value:
{\ {\ volatile DWORD _ll, *_pcount, *_local, __r, _count;\ __r = _r;\ _ll = _vmebase;\ _pcount = (DWORD *) (((_ll) | 0x8000) | A32D24_1190);\ _count = *(WORD *) _pcount;\ if (_count <= __r)\ __r = _count;\ _local = (DWORD *)((_ll) | A32D24_1190);\ while (__r > 0) {\ *(WORD *) _d = *(WORD *)_local;\ ((WORD *)_d)++;\ (_local)++;\ __r--;}\ }\ }
Definition at line 119 of file divers/lrs1190.c.
#define LRS1190_RESET | ( | _vmebase | ) |
Value:
{\ {\ volatile DWORD _ll, _dummy, _local;\ _ll = _vmebase;\ _local = (_ll) | A32D24_1190;\ _dummy = *(WORD *) _local;\ }\ }
Definition at line 80 of file divers/lrs1190.c.
#define LRS_1190_READL2_TONY | ( | _vmebase, | |||
_d, | |||||
_r | ) |
Value:
{\ {\ volatile DWORD _ll, *_pcount, *_local, __r, _count;\ __r = _r;\ _ll = _vmebase;\ _pcount = (DWORD *) (((_ll) | 0x8000) | A32D24_1190);\ _count = *(WORD *) _pcount;\ if (_count <= __r)\ __r = _count;\ _local = (DWORD *)((_ll) | A32D24_1190);\ *(WORD *) _d = __r;\ ((WORD *)_d)++;\ while (__r > 0) {\ *(WORD *) _d = *(WORD *)_local;\ ((WORD *)_d)++;\ (_local)++;\ __r--;}\ }\ }
Definition at line 157 of file divers/lrs1190.c.
typedef unsigned long int DWORD |
Definition at line 47 of file divers/lrs1190.c.
typedef short int INT |
Definition at line 41 of file divers/lrs1190.c.
typedef unsigned short int WORD |
Definition at line 42 of file divers/lrs1190.c.
void cn1190 | ( | DWORD | vmeBase | ) |
Definition at line 328 of file divers/lrs1190.c.
00329 { 00330 INT count; 00331 lrs1190_count(vmeBase, &count); 00332 printf("Inline counter %i\n", count); 00333 LRS1190_COUNT(vmeBase, &count); 00334 printf("Macro counter %i\n", count); 00335 }
void dis1190 | ( | DWORD | vmeBase | ) |
void ena1190 | ( | DWORD | vmeBase | ) |
void lrs1190 | ( | void | ) |
Definition at line 285 of file divers/lrs1190.c.
00286 { 00287 printf("\n---> LRS 1190 Dual port memory buffer (lrs1190.c) <---\n"); 00288 printf("Macro : LRS1190_ENABLE (DWORD vmeBase);\n"); 00289 printf("Macro : LRS1190_DISABLE (DWORD vmeBase);\n"); 00290 printf("Macro : LRS1190_CLEAR (DWORD vmeBase);\n"); 00291 printf("Macro : LRS1190_COUNT (DWORD vmeBase, int * count);\n"); 00292 printf("Macro : LRS1190_READI4 (DWORD vmeBase, DWORD *d , int repeat);\n"); 00293 printf("Macro : LRS1190_READL2 (DWORD vmeBase, WORD *d , int repeat);\n"); 00294 printf("Macro : LRS1190_READH2 (DWORD vmeBase, WORD *d , int repeat);\n"); 00295 printf("Macro : LRS1190_READL2_TONY (DWORD vmeBase, DWORD *d , int repeat);\n"); 00296 printf("Inline : lrs1190_enable (DWORD vmeBase);\n"); 00297 printf("Inline : lrs1190_disable (DWORD vmeBase);\n"); 00298 printf("Inline : lrs1190_clear (DWORD vmeBase);\n"); 00299 printf("Inline : lrs1190_count (DWORD vmeBase, int * count);\n"); 00300 printf("Inline : lrs1190_readi4 (DWORD vmeBase, DWORD *d , int repeat);\n"); 00301 printf("Inline : lrs1190_readl2 (DWORD vmeBase, DWORD *d , int repeat);\n"); 00302 printf("Inline : lrs1190_readh2 (DWORD vmeBase, DWORD *d , int repeat);\n"); 00303 printf("Inline : lrs1190_readl2_tony (DWORD vmeBase, DWORD *d , int repeat);\n"); 00304 printf("Test : ena1190 (0x7f0000) <--- enable VME buffer\n"); 00305 printf("Test : dis1190 (0x7f0000) <--- disable VME buffer\n"); 00306 printf("Test : res1190 (0x7f0000) <--- reset VME buffer\n"); 00307 printf("Test : cn1190 (0x7f0000) <--- read WORD count register\n"); 00308 printf("Test : rd1190 (0x7f0000) <--- read VME buffer\n"); 00309 printf("Test : rd1190l (0x7f0000) <--- read low WORD VME buffer\n"); 00310 printf("Test : rd1190h (0x7f0000) <--- read high WORD VME buffer\n"); 00311 }
Definition at line 206 of file divers/lrs1190.c.
Referenced by cn1190(), rd1190(), rd1190h(), and rd1190l().
00207 { 00208 volatile DWORD local; 00209 00210 local = (vmeBase | 0x8000 | A32D24_1190); 00211 *count = *(WORD *) local; 00212 }
INLINE void lrs1190_disable | ( | DWORD | vmeBase | ) |
Definition at line 188 of file divers/lrs1190.c.
Referenced by dis1190(), rd1190(), rd1190h(), and rd1190l().
00189 { 00190 volatile DWORD local; 00191 00192 local = ((vmeBase) | 0x8002) | A32D24_1190; 00193 *(WORD *) local = 0x0; 00194 }
INLINE void lrs1190_enable | ( | DWORD | vmeBase | ) |
Definition at line 179 of file divers/lrs1190.c.
Referenced by ena1190(), rd1190(), rd1190h(), and rd1190l().
00180 { 00181 volatile DWORD local; 00182 00183 local = ((vmeBase) | 0x8002) | A32D24_1190; 00184 *(WORD *) local = 0x1; 00185 }
Definition at line 249 of file divers/lrs1190.c.
Referenced by rd1190h().
00250 { 00251 volatile DWORD local, count; 00252 00253 local = (vmeBase | 0x8000 | A32D24_1190); 00254 count = *(WORD *) local; 00255 if ((int) count <= r) 00256 r = count; 00257 local = vmeBase | A32D24_1190; 00258 while (r > 0) { 00259 *((*d)++) = *(++((WORD *) local)); 00260 ((WORD *) local)++; 00261 r--; 00262 } 00263 }
Definition at line 215 of file divers/lrs1190.c.
Referenced by rd1190().
00216 { 00217 volatile DWORD local, count; 00218 00219 local = (vmeBase | 0x8000 | A32D24_1190); 00220 count = *(WORD *) local; 00221 if ((int) count <= r) 00222 r = count; 00223 local = vmeBase | A32D24_1190; 00224 while (r > 0) { 00225 *((*d)++) = *((DWORD *) local); 00226 ((DWORD *) local)++; 00227 r--; 00228 } 00229 }
Definition at line 232 of file divers/lrs1190.c.
Referenced by rd1190l().
00233 { 00234 volatile DWORD local, count; 00235 00236 local = (vmeBase | 0x8000 | A32D24_1190); 00237 count = *(WORD *) local; 00238 if ((int) count <= r) 00239 r = count; 00240 local = vmeBase | A32D24_1190; 00241 while (r > 0) { 00242 *((*d)++) = *((WORD *) local); 00243 ((DWORD *) local)++; 00244 r--; 00245 } 00246 }
Definition at line 266 of file divers/lrs1190.c.
00267 { 00268 volatile DWORD *local, count; 00269 00270 local = (DWORD *) (vmeBase | 0x8000 | A32D24_1190); 00271 count = *(WORD *) local; 00272 if ((int) count <= r) 00273 r = count; 00274 local = (DWORD *) (vmeBase | A32D24_1190); 00275 00276 *((*d)++) = r; 00277 while (r > 0) { 00278 *((*d)++) = *((WORD *) local); 00279 (local)++; 00280 r--; 00281 } 00282 }
INLINE void lrs1190_reset | ( | DWORD | vmeBase | ) |
Definition at line 197 of file divers/lrs1190.c.
Referenced by res1190().
00198 { 00199 volatile DWORD local, dummy; 00200 00201 local = vmeBase | A32D24_1190; 00202 dummy = *(WORD *) local; 00203 }
Definition at line 371 of file divers/lrs1190.c.
00372 { 00373 DWORD dd[1024], *pdd; 00374 INT i, buf_counter; 00375 00376 for (i = 0; i < 1024; i++) 00377 dd[i] = 0; 00378 pdd = &dd[0]; 00379 lrs1190_disable(vmeBase); 00380 lrs1190_count(vmeBase, &buf_counter); 00381 printf("counter %i\n", buf_counter); 00382 lrs1190_readi4(vmeBase, &pdd, r); 00383 lrs1190_enable(vmeBase); 00384 for (i = 0; i < buf_counter; i++) 00385 printf("%i-> %8.8x\n", i, dd[i]); 00386 }
Definition at line 354 of file divers/lrs1190.c.
00355 { 00356 DWORD dd[1024], *pdd; 00357 INT i, buf_counter; 00358 00359 for (i = 0; i < 1024; i++) 00360 dd[i] = 0; 00361 pdd = &dd[0]; 00362 lrs1190_disable(vmeBase); 00363 lrs1190_count(vmeBase, &buf_counter); 00364 printf("counter %i\n", buf_counter); 00365 lrs1190_readh2(vmeBase, (WORD **) & pdd, r); 00366 lrs1190_enable(vmeBase); 00367 for (i = 0; i < buf_counter; i++) 00368 printf("%i-> %8.8x\n", i, dd[i]); 00369 }
Definition at line 337 of file divers/lrs1190.c.
00338 { 00339 DWORD dd[1024], *pdd; 00340 INT i, buf_counter; 00341 00342 for (i = 0; i < 1024; i++) 00343 dd[i] = 0; 00344 pdd = &dd[0]; 00345 lrs1190_disable(vmeBase); 00346 lrs1190_count(vmeBase, &buf_counter); 00347 printf("counter %i\n", buf_counter); 00348 lrs1190_readl2(vmeBase, (WORD **) & pdd, r); 00349 lrs1190_enable(vmeBase); 00350 for (i = 0; i < buf_counter; i++) 00351 printf("%i-> %8.8x\n", i, dd[i]); 00352 }
void res1190 | ( | DWORD | vmeBase | ) |