PROBE for Windows NT (32 bit) Enterprise Version Changes Last Updated 9/2002 02/10/02 Split source code. Create Probe for Windows Enterprise Edition. Add global deadtime update dialog. 02/14/02 Modify code to use 100 element x-ray line and MAC tables. Convert or rebuild old tables. Add electron and x-ray range modeling in CALCZAF. 02/16/02 Add disable element for quantification option in Elements/cation dialog. Sets counts to zero before ZAF interation. Add print out of volatile element percent fit deviation. Modify MAN and calibration curve to use new function for average relative percent deviation calculations. Modify one sigma calculation to use deadtime denormalized counts and calculate for off-peak intensities also. Add calculate sigma ratio and print out ("SIGR:"). Modify Stratagem output to disable Close button until calculations are finished. Add button to Analyze window to add sample setups directly. Add interpolated intensity output to Model dialog. Fix polynomial marker size. Make Range and Detection limit dialogs in CalcZAF modeless. Write small app "UpdateSetup.exe to update setup files to install Probe for Windows "Enterprise Edition" for different folder: "Program Files\Probe for Windows-E". Runs from MAKZIP.BAT. 02/19/02 Create new utility to search for specific samples based on element, x-ray, spectrometer, standard number or sample name string. Fix problem where CITZMU.DAT is not written to the application folder. Add new output options for Strata output. Add comment to nominal beam question. Disable Output button during Strata format calculation. Add Move On-peak automtically for PHA distribution. Add code to set xray number to 1,2 or 3 for multiple peak calibration file number after call to IPOS4 in several places. 3/9/02 Fix minor output problem in DebugMode in routine UpdateGetStandards. Add option to apply integrated intensity variable steps to wavescans. 3/12/02 Fix multiple peak calibration for configurations with fixed spectrometers. Modify multiple peak calibration to handle beta lines. Increase arrays (and forms) to handle 40 elements. Fix problem with fixed spectrometers when using multiple peak calibrations. Change "Atomic Weight Percent" to "Atomic Percent" in SampleLoadGrid. 3/13/02 Remove line: If Conc!(ip%) = 0# Then GoTo 8500 from ZAFStd routine. It was preventing the proper loading of the std K-factor for interference calculations! Small effect on interference correction when large matrix correction between unknown and interference standard. Fix ZAFZed routine to calculate atomic number correction even if concentration is zero. 3/16/02 Add feature to send data to Excel if Automatic analysis and excel sheet is open. v. 6.02 Add disables to SETELM form to turn off controls that are not saved in that version of the data file. Modify code to support duplicate elements in Probewin. The only restriction now is that each element must be a different x-ray, spectrometer and/or crystal. (NIST option) Add option for NIST to choose either export of wt% or raw k-ratios to Excel. Fix Excel "close" code. Modify Excel label output code. 3/17/02 Move some variables from analysis and sample types to Init code for dynamic allocation to improve free memory. Add check for too many samples in position database (listbox limit). Add kev, x-ray and density output to log window in CalcZAF for x-ray range calculations Add cool new feature that accurately calculates count and motion time for each spectrometer in Count Times dialog. 3/23/02 Slight changes to spectrometer motion and acquisition time diaply in GETTIM form. Massive changes to ZAF routines (rewite code to use user defined type for ZAF variables and split code into separate modules. Add indexes to add PAP correction. Add code to record stop time to user database when filament standby is called. Then record start time again when user clicks ok. 3/30/02 Improve wavescan time calculation in FormGETTIM Add code in PlotDoGraph to set wavescan limits to include off-peak positions if outside wavescan limits. Add SX50 Post and Pre string editing in Conditions dialogs. 4/16/02 Fix PositionAddSample error if no samples in position database. Fix problem if user cancels during JH format output. Start adding PAP correction- some changes to ZAFBSC routine. 4/18/02 Fix default crystal load for new standards. Add output of x-ray transmission distance to Model Xray range output. Add check for ColumnConditionPresent to Jeol and Cameca interfaces (and also check for ColumnConditionType = 1 for jeol interface). Add some code to sx100 interface. Add error logging whenever the IOMsgBox code is called. Output appended to PROBEWIN.ERR. 4/20/02 Add option to disable acquisition for selected elements for standard, wavescans and unknowns. v. 6.04 Add display of element, x-ray and crystal to wavescan form. Fix D I/O pin outs for AM interface. Modify AM.BAS to handle both PC100 and PCI100 boards. Add option for aggregate intensities in the Analysis Options dialog in order to sum intensities for duplicate (trace) elements. Modify Disable Quant option so that if a standard intensity is missing from the run the user can disable the element and still perform analyses. Changes to Update.bas module. 4/24/02 Fix bug in Plot! if using averages only and first point is deleted. Change unknown count factors to single precision (also current and last factors). Change "Analyzed and Specified" to "Acquired and Specified" in "Acquire! Elements/Cations". Add crystal type to wavescan display in Plot! window. 4/25/02 Fix UserWin List and data control indexing problems. Fix count time issue for changing between unknowns and wavescans. Fix problem where start time was not being recorded to user database. 5/02/02 Add PAP code for ZAF routines. In fact restructure entire ZAF routines by splitting v. 6.05 into many separate modules and using a ZAF structure for passing variables. Also added the full set of correction options in JTA v. 3.04 CITZAF. 5/05/02 Add global correction variable so individual correction options do not have to be set by hand (izaf and zafstring variables). Fix problem with date/time stamp when sending data to Excel (change single precision to double precision variables). Thanks John F. 5/7/02 Fix SavePHASetPHASaveElement so that detector parameters are properly saved. Fix ZAF program when std k-factor for standard is missing for interference correction when element in standard is at zero concentration (remove if zaf.Conc!(i%) statements). Change MsgBoxTim icon to "info". Add "mimimize" control to Position form. Fix path for X*2.DAT files in CalcZAF. Add button in FormANALYZE to save all elements for assigned standards to the setup database. 5/11/02 Add sample description field to DIGITIZE and POSEDIT forms. Add space to printout in TypeNewCounts if not extended mode and more than 8 elements. Add Magnification parameter to AM Jeol column interface. Fix izaf defaults for old probe runs (force to default). Fix integrated intensity load in NewUpdateSample. 5/19/02 Modify GetZAF form to offer electron fraction option for any backscatter loss correction v. 6.07 that uses mass fractions for summation. Modify Update Deadtime constants (Analytical menu) to load default deadtimes from scalers. Modify AcquireDoAutomateNext to skip stage move if previous position was exactly the same (this saves times when confirming stage positions for position samples with multiple setups assigned, eg. thin film analysis). Modify calculations options to save formula options even if not selected. Modifu StartWin to add print button to FormDISPLAY and activate SDKPaint event so that +/- 3 SD lines are printed. Fix bug in AutomateImportPositions where overwriting existing standard positions and call to update beam center position fails because existing positions sample was deleted. Modify GetElmSetElmMotorUpdate code to preserve spectrometer offsets even if user changes the spectrometer (if the crystal stays the same). Modify PHA Distribution to not move on-peak if checkbox is checked. 5/26/02 Fix some enable issues in Plot! window. Add detection limits and percent errors to plot window. Modify Custom Format Output #2 and #3 to print zero for off-peak count times if element is MAN. Fix problem with backward compatibility for ZAF/PAP corrections with PFW-32 in DataRun. Fix problem in ZAF calculations and ZAFStd (and output) where duplicate elements are used but with different x-ray lines and one is disabled. Modify Plot! lists to store "chan" in ItemData field to create a non-ambiguous index for cases where duplicate elements are present. Thanks to John Fournelle. Add global "force beam size" flag. Fix Formula, Difference flags check assigments in GetElmCheckAssignments. 5/27/02 Modify DataFileSetupCheck to indicate standard as not loaded if all lines in sample are deleted. This means that if you want to force a standard intensity to get loaded when loading a "File Setup" then just delete all occurances of that standard in the current run. 5/28/02 Modify enables in FormSETTIM to only allow updates to fields that are appropriate for the sample type. Fix problem in PlotGetSelectedData for wavescan data when data is not a channel data type (caused by 5/26 modifications). 7/5/02 Fix "window" parameter in Get PHA distribution. Move Peaking button to be next to v. 6.08 "Calibrate Peak Positions" checkbox. Add note to Analytical conditions that conditions should represent column condition string. Fix problem with Virtual Standard intensities in UpdateGetStandard. 7/10/02 Add "setu wait" to SX50SetColumnCondition code. Set Joystick "period" to 55 millisec to prevent problems with faster CPUs. 9/08/02 Add velocity mode code for Joywin. Improve velocity mode switching and response. 9/12/02 Fix return to on-peaks problem where 1st element is acquire disabled. 9/22/02 Add z axis to joystick motion (for three axis joysticks). Allow wavescan samples to be used as sample setups. Add code to not call Get/SetMCOperatingMode if not using JoystickType=1 because older ISA boards do not support 3.2 driver that has these functions. This is for velocity mode motion for joystick. Fix problem with Startwin and Calibrate peak with fixed specs. Fix problem with different elements in different samples in Plot output. 9/26/02 Add motor off command to prevent "runaway" problems with PCI controller when motor is moved next time (AMStopAllMotors). Fix plot problem in PlotGetSelectedData. 10/2/02 Fix RECALB.BAS bugs in .ELM file and Sample Setup issues in AcquireChangeElements. Add code to check for database table (FILE) in MISC4.BAS. Skip "wrong axis type" errors. 10/17/02 Modify interference correction to not apply if interference counts are negative (J. Eckert). Modify Grid Mineral (Assisted Phase Mapping) code to offer both scan and grid modes. Note that the scan mode is statistically more rigorous and provides more information for subsequent data analysis. Add double click and move feature in Position grids. 10/23/02 Fix specified element output bug in Plot! 10/24/02 Fix fixed spectrometer output bug in Plot! 11/2/02 Fix velocity problem qith quickscan by changing AMMoveMotor to only set full velocity for stage motors. Fix file open problem for grdimin output file. Add beam blank option for Grid Mineral form. 11/6/02 Fix unknown count factor and maxcounts problem when standard is created and count times dialog is run. Changes to CurrentUpdateSample (delete lines). 11/13/02 Modify AFACTOR.BAS to not load negative alpha values when using alpha factor calculations. Seems to be caused by k-ratios greater than 1.0 (e.g., 99% Cl and 1% Si). Problem with fluorescence correction (ZAFFLU routine reports Cl Ka by Cl)? 11/14/02 Add code in ZAFFlu to skip fluorescence when emitting line and absorber line are the same Z. This v. 6.09 bug has existed since the 16 bit Windows version and most likly even with the DOS version. The result appears to be that an element like Cl will report a spurious fluorescence resulting in a k-ratio that is larger than one in the almost pure element. PS. After checking numerous compositions, this bug only appears to affect high Cl concentrations. 11/17/02 Found the problem. The Cl Ka edge in the Xedge.dat table was wrong- apparently a typo. Edited table but left ZAFFlu code to fix problem for those who only update. 11/20/02 Fix bug in PositionOpenNewMDB for missing "Descriptions" field. 11/24/02 Modify Add To Setup button code to save all selected setups. Load FormDIGITIZE when FormAUTOMATE is loaded to prevent reloading of sample list after sample setups are assigned. 12/08/02 Fix 1SIG bug in log window output (Analyze! window output was correct). Modify TypeCalculateOneSigma code to correctly calculate average beam currents. Fix error bar bug in ConvertSigmaIntensityKratio2 when only calculating intensity error bars (divide by zero errors). Fix bug where kilovolt arrays were not updated when using Conditions button in Analyze! window. 12/11/02 Fix wavescan plot bugs where non-spectrometer channel is plotted on x-axis and also where both Ka and Kb lines for a single eleemnt are on the same spectrometer and crystal. Remove mcapi32.dll from setup info to prevent problem with older boards that cannot use v. 3.x of the driver (thanks scotty). 12/21/02 Modify AMMoveMoter and AMSetVelocity to detect operating mode (position versus velocity) conflicts and print a warning only. Modify Joywin code to use button 4 to cycle through speed sensitivity settings. 1/13/03 Major changes to joystick code. Streamline JoyForm.bas, change event code, RealTime.bas code, etc. END