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
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |