|
|
Experimental Physics and
| ||||||||||||||
|
|
OUTP OFF;:TRAC DEF 1,32,1;:TRAC SEL 1 SMEM:MODE WRITE;:SMEM:STAT ON *OPC? (wait for response to be 1) (copy array of short integers to A24 memory) SMEM:STAT OFF;:FUNC:MODE USER;:OUTP ON;:OUTP:SYNC ON The copy routine is (in simplified form) #include <drvEpvxi.h>
LOCAL STATUS copy_n_points( int la, short *points, int n) {
short *pbase;
struct vxi_csr *pcsr;
char *VMEaddr = NULL; pcsr = VXIBASE( la);
VMEaddr = ( char *) ( pcsr->dir.w.offset<<8);
sysBusToLocalAdrs( VME_AM_STD_SUP_DATA, VMEaddr, ( char **) &pbase);
memcpy(( void *) pbase, ( void *) points, 2*n);
}If I copy a large number of points, say 1000, the waveform changes, although it isn't what I expect. Copying a small number of points has no effect. Perhaps this indicates that pbase is being calculated incorrectly.
| ||||||||||||||
| ANJ, 10 Aug 2010 |
·
Home
·
News
·
About
·
Talk
·
Base
·
Modules
·
Extensions
·
· Distributions · Download · Documents · Links · Licensing · |