The Amptek ASCII Configuration File Format describes how Amptek applications save and read ASCII command configurations. ASCII commands are sent in the ‘Text Configuration’ Request Packet (PID1=0x20, PID2=2). The commands can be sent singly, but most often, they are grouped together into a single "Text Configuration" packet so that the entire configuration can be sent at once.
Amptek Digital Pulse Processor (DPP) and Multichannel Analyzer (MCA) devices using ASCII commands
include DP5(FW6), X-123(FW6), PX5, DPG, MCA8000D, and GAMMA-RAD5.
The number of bytes sent/received in a "Text Configuration" packet must not exceed the maximum size of the corresponding buffer. If the number of bytes exceeds the buffer size the "Text Configuration" packet must be split into multiple packets. (See the DP5 Programmer's Guide.)
No whitespace before commands
Commands must start at left column
Commands must end with semicolon
Anything after semicolon on a line is ignored (i.e. comments)
All commands are in upper case
Every ASCII command has a name and a value, delimited by an equals sign (=). The command name appears to the left of the equals sign. ASCII commands are always the 4-character Mnemonic in upper case that represents the ASCII command. If no value is present between the equals sign and the semicolon terminator the command is ignored.
Example:
MCAC=1024; MCAC - Selects the Number of MCA Channels
Commands are grouped into named sections. The section name appears on a line by itself, in square brackets ([ and ]). All keys after the section declaration are associated with that section. There is no explicit "end of section" delimiter. Sections end at the next section declaration, or the end of the file. Sections may not be nested. Section names may be case sensitive depending upon the implementation.
Example Section Names:
[DP5 Configuration File]
[DP5 Configuration Values]
[DP5 SCA Configuration]
Semicolons (;) at the beginning of the line indicate a comment line. Comment lines are ignored. Semicolons (;) at the end of the command indicates where the command ends and optional comments may be placed. Comments are ignored from after the semicolon up to the end of the line.
Example commented line:
; comment line text
Blank lines are ignored with the exception of the "Advanced Programming" example application.
All section names are unique and declared only once. All commands that belong in a section will only be recognized if it is in the corresponding section. Commands are only allowed once per section, with the exception of the "Advanced Programming" example application.
There are three configuration file sections:
[DP5 Configuration File] – Stores ASCII commands.
[DP5 Configuration Values] – Stores ASCII command alternate values.
[DP5 SCA Configuration] – Stores SCA register setup values.
This section is required. This is the main ASCII command storage section. All commands are stored here except for indexed SCA settings.
This section is optional. This section stores values used to setup configuration dialogs. Some values are predefined (discrete) while other values are selected from a range (continuous). Some hybrid commands have both discrete and continuous values. For hybrid commands it is useful to store the continuous values. This allows for seamless switching between discrete and continuous values.
This section is required only if SCA counters are being used. This section is only used by DppMCA and DP5 SDK applications.
There are four SCA ASCII commands that do not adhere to "INI File" acceptable rules. The same commands are repeated when sent to an Amptek device. Alternative (INI File compatible) storage must be used to take advantage of widely used (cross platform) "INI File" libraries. The four commands are:
SCAH - Set SCA High Threshold
SCAL - Set SCA Low Threshold
SCAO - Select SCA Output Level
SCAI - Set SCA Index
SCAI is used in conjunction with the SCAL, SCAH and SCAO commands to specify which SCA these commands will apply to. When the SCA index is set to 1 through 8, it also enables the specified SCA output and sets it to active high, so the SCAO command doesn’t need to be specified unless a different output option is needed.
The SCA index is stored with the SCA configuration command in the DP5 SCA Configuration section. So:
SCAI=4;SCAO=OFF;SCAL=1;SCAH=8192;
Becomes:
SCAO4=OFF;
SCAL4=1;
SCAH4=8192;
And:
SCAO6=OFF;
SCAL6=1;
SCAH6=8192;
Becomes:
SCAI=6;SCAO=OFF;SCAL=1;SCAH=8192;
The "Advanced Programming" example application only uses the " DP5 Configuration File" section. When using the Advanced Programming" example application, other sections must be removed.
The "Advanced Programming" example application uses repeated SCAI, SCAL, SCAH and SCAO commands in the same order that they are sent out. (This is not compatible with many "INI File" libraries).
So:
SCAI=4;SCAO=OFF;SCAL=1;SCAH=8192;
Becomes:
SCAI=4;
SCAO=OFF;
SCAL=1;
SCAH=8192;
And:
SCAI=6;
SCAO=OFF;
SCAL=1;
SCAH=8192;
Becomes:
SCAI=6;SCAO=OFF;SCAL=1;SCAH=8192;
[DP5 Configuration File]
RESC=YES; Reset Configuration
CLCK=20; 20MHz/80MHz
TPEA=12.800; Peaking Time
GAIF=0.9562; Fine Gain
GAIN=66.738; Total Gain (Analog * Fine)
RESL=3276; Detector Reset Lockout
TFLA=0.200; Flat Top
TPFA=1600; Fast Channel Peaking Time
PURE=OFF; PUR Interval On/Off
RTDE=OFF; RTD On/Off
MCAS=NORM; MCA Source
MCAC=1024; MCA/MCS Channels
SOFF=OFF; Set Spectrum Offset
AINP=NEG; Analog Input Pos/Neg
INOF=DEF; Input Offset
GAIA=20; Analog Gain Index
CUSP=0; Non-Trapezoidal Shaping
PDMD=NORM; Peak Detect Mode (Min/Max)
THSL=3.613; Slow Threshold
TLLD=OFF; LLD Threshold
THFA=99.81; Fast Threshold
DACO=SHAPED; DAC Output
DACF=50; DAC Offset
RTDS=603; RTD Sensitivity
RTDT=8.98; RTD Threshold
BLRM=1; BLR Mode
BLRD=3; BLR Down Correction
BLRU=0; BLR Up Correction
GATE=OFF; Gate Control
AUO1=ICR; AUX_OUT Selection
PRET=OFF; Preset Time
PRER=OFF; Preset Real Time
PREC=OFF; Preset Counts
PRCL=1; Preset Counts Low Threshold
PRCH=8191; Preset Counts High Threshold
HVSE=160; HV Set
TECS=220; TEC Set
PAPZ=OFF; Pole-Zero
PAPS=8.5; Preamp 8.5/5 (N/A)
SCOE=FALLING; Scope Trigger Edge
SCOT=12; Scope Trigger Position
SCOG=1; Digital Scope Gain
MCSL=1; MCS Low Threshold
MCSH=8191; MCS High Threshold
MCST=0.00; MCS Timebase
AUO2=ICR; AUX_OUT2 Selection
TPMO=OFF; Test Pulser On/Off
GPED=RISING; G.P. Counter Edge
GPIN=AUX1; G.P. Counter Input
GPME=OFF; G.P. Counter Uses MCA_EN?
GPGA=OFF; G.P. Counter Uses GATE?
GPMC=OFF; G.P. Counter Cleared With MCA Counters?
MCAE=ON; MCA/MCS Enable
VOLU=OFF; Speaker On/Off
CON1=DAC; Connector 1
CON2=AUXIN2; Connector 2
BOOT=ON; Turn Supplies On/Off At Power Up
SCAW=100; SCA Pulse Width (Not Indexed - SCA1-8)
[DP5 Configuration Values]
TPEA=12.800;
GAIF=0.9562;
GAIN=66.738;
RESL=3276;
TFLA=0.200;
SOFF=;
INOF=;
CUSP=0;
THSL=3.613;
TLLD=;
THFA=99.81;
DACO=;
DACF=50;
RTDS=603;
RTDT=8.98;
BLRD=3;
BLRU=0;
AUO1=;
PRET=;
PRER=;
PREC=;
PRCL=1;
PRCH=8191;
HVSE=160;
TECS=220;
PAPZ=;
MCSL=1;
MCSH=8191;
MCST=0.00;
AUO2=;
GPIN=;
[DP5 SCA Configuration]
SCAO1=OFF;
SCAL1=0;
SCAH1=1023;
SCAO2=OFF;
SCAL2=0;
SCAH2=1023;
SCAO3=OFF;
SCAL3=0;
SCAH3=1023;
SCAO4=OFF;
SCAL4=0;
SCAH4=1023;
SCAO5=OFF;
SCAL5=0;
SCAH5=1023;
SCAO6=OFF;
SCAL6=0;
SCAH6=1023;
SCAO7=OFF;
SCAL7=0;
SCAH7=1023;
SCAO8=OFF;
SCAL8=0;
SCAH8=1023;