diff --git a/documentation/areaDetectorDoc.html b/documentation/areaDetectorDoc.html index 7c0c1fb..2838590 100755 --- a/documentation/areaDetectorDoc.html +++ b/documentation/areaDetectorDoc.html @@ -10,7 +10,7 @@

areaDetector: EPICS Area Detector Support

- March 22, 2010

+ May 19, 2010

Mark Rivers

@@ -323,8 +323,7 @@ If it is desired to eliminate all existing attributes from NDArrays each time a new one is allocated then the global variable eraseNDAttributes should be set to 1. This can be done at the iocsh prompt with the command:

-
-    var eraseNDAttributes 1
+  
    var eraseNDAttributes 1
     

The NDAttributeList @@ -386,9 +385,9 @@ = UCHAR. This removes the 40 character restriction string lengths that arise if an EPICS "string" PV is used. MEDM allows one to edit and display such records correctly. EPICS clients will typically need to convert such long strings from a string to - an integer or byte array before sending the path name to EPICS. In IDL this is done as follows: -

-      ; Convert a string to a null-terminated byte array and write with caput
+      an integer or byte array before sending the path name to EPICS. In IDL this is done
+      as follows:
+      
      ; Convert a string to a null-terminated byte array and write with caput
       IDL> t = caput('13PS1:TIFF1:FilePath', [byte('/home/epics/scratch'),0B])
       ; Read a null terminated byte array 
       IDL> t = caget('13PS1:TIFF1:FilePath', v)
@@ -396,8 +395,7 @@
       IDL> s = string(v) 
       
In SPEC this is done as follows: -
-      array _temp[256]
+      
      array _temp[256]
       # Setting the array to "" will zero-fill it
       _temp = ""
       # Copy the string to the array.  Note, this does not null terminate, so if array already contains
@@ -405,7 +403,7 @@
       _temp = "/home/epics/scratch"
       epics_put("13PS1:TIFF1:FilePath", _temp)
       
- +

Note that for parameters whose values are defined by enum values (e.g NDDataType, @@ -660,17 +658,17 @@ FileTemplate, FilePath, Filename, FileNumber);

- FilePath, Filename, FileNumber are converted in that order with FileTemplate. An example - file format is "%s%s%4.4d.tif". The first %s converts the FilePath, + FilePath, Filename, FileNumber are converted in that order with FileTemplate. An + example file format is "%s%s%4.4d.tif". The first %s converts the FilePath, followed immediately by another %s for Filename. FileNumber is formatted with %4.4d, which results in a fixed field with of 4 digits, with leading zeros as required. Finally, the .tif extension is added to the file name. This mechanism for creating file names is very flexible. Other characters, such as _ can be put in Filename - or FileTemplate as desired. If one does not want to have FileNumber in the file name - at all, then just omit the %d format specifier from FileTemplate. If the client wishes - to construct the complete file name itself, then it can just put that file name - into NDFileTemplate with no format specifiers at all, in which case NDFilePath, NDFileName, - and NDFileNumber will be ignored. + or FileTemplate as desired. If one does not want to have FileNumber in the file + name at all, then just omit the %d format specifier from FileTemplate. If the client + wishes to construct the complete file name itself, then it can just put that file + name into NDFileTemplate with no format specifiers at all, in which case NDFilePath, + NDFileName, and NDFileNumber will be ignored. FILE_TEMPLATE @@ -1924,8 +1922,7 @@ variables is used then EPICS clients (e.g. medm) running on the detector host computer will generate many errors because each EPICS PV will appear to be coming from both networks. The solution is to set these variables as follows: -
-        setenv EPICS_CA_AUTO_ADDR_LIST NO
+          
        setenv EPICS_CA_AUTO_ADDR_LIST NO
         setenv EPICS_CA_ADDR_LIST localhost:XX.YY.ZZ.255
         
where XX.YY.ZZ.255 should be replaced with the broadcast address for the public @@ -1936,16 +1933,14 @@ EPICS server computer (e.g. the one running the areaDetector IOC) and client computer (e.g. the one running medm, ImageJ, IDL, etc.). This can simply be set to a very large value like 100MB. -
-        setenv EPICS_CA_MAX_ARRAY_BYTES 100000000
+          
        setenv EPICS_CA_MAX_ARRAY_BYTES 100000000
         
  • EPICS_DISPLAY_PATH. This variable controls where medm looks for .adl display files. If the recommendation below is followed to copy all adl files to a single directory, then this environment variable should be defined to point to that directory. For example: -
    -          setenv EPICS_DISPLAY_PATH /home/mar345/epics/adls
    +          
              setenv EPICS_DISPLAY_PATH /home/mar345/epics/adls
               
  • @@ -1957,8 +1952,7 @@ the mar345, for example, I create a directory called /home/mar345/epics/adls, where I put all of the adl files. To simplify copying the adl files to that location I use the following one-line script, which I place in /home/mar345/bin/sync_adls. -
    -      find /home/mar345/epics/support -name '*.adl' -exec cp -fv {} /home/mar345/epics/adls \;
    +      
          find /home/mar345/epics/support -name '*.adl' -exec cp -fv {} /home/mar345/epics/adls \;
           
    This script finds all adl files in the epics/support tree and copies them to /home/mar345/epics/adls. That directory must be created before running this script. Similar scripts can be @@ -1974,8 +1968,7 @@ batch file (start_epics.bat) or both depending on the architectures that the detector runs on. These scripts provide simple examples of how to start medm and the EPICS IOC. For example, for the mar345 iocBoot/iocMAR345/start_epics contains the following:

    -
    -    medm -x -macro "P=13MAR345_1:, R=cam1:, I=image1:, ROI=ROI1:, NETCDF=netCDF1:, TIFF=TIFF1:, JPEG=JPEG1:, NEXUS=Nexus1:" mar345.adl &
    +  
        medm -x -macro "P=13MAR345_1:, R=cam1:, I=image1:, ROI=ROI1:, NETCDF=netCDF1:, TIFF=TIFF1:, JPEG=JPEG1:, NEXUS=Nexus1:" mar345.adl &
         ../../bin/linux-x86/mar345App st.cmd