Attribute VB_Name = "VersionRecord" Option Explicit ' ======================================================= Front Panel Version Record ================================================ ' ========================== Version 3.08.xxxx LVonLCP ================================ ' 2020-02-15 Version 03.08.0007 // ~ MCCControl.IssueBreak - Following issue of BREAK, polling loop to ensure MCC has received and responded to BREAK interrupt. ' 2020-02-11 Version 03.08.0006 // ~ SetConfiguration now ALWAYS rezeros V arm. Also saves ChannelList to registry immediately after change, but scripts altered to override LV/LCPChannel BEFORE change, for safety. ' 2020-02-11 Version 03.08.0005 // # SetConfiguration:Testing if bore needs emptying (B2579). ' 2020-02-06 Version 03.08.0004 // ~ Robot.Configuration: enumerated type ConfigurationMode {cfSV, cfLV, cfLCP, cfLVonLCP, cfNotSet} for better error trapping. ' 2020-02-05 Version 03.08.0003 // ~ Allows XStep dispensing (needs LV) by changing Configuration on entry to XExecutor.Run as needed. ' 2020-02-04 Version 03.08.0002 // # Bugs fixed: Axes().Length updated on SetConfiguration. LCP/LV valve visibility corrected. ' 2020-01-31 Version 03.08.0001 // + Fully functional. Splash date changed to 2020. ' 2020-01-24 Version 03.08.0000 // + LVonLCP for Halle ' 2019-12-16 Version 03.07.0057 // ~ MCC non-response checking turned back on. ' 2019-10-23 Version 03.07.0056 // ~ FPShell.OilTipChangeWarning : Saves new state of Bore to registry to prevent repeated warnings. ' 2019-10-18 Version 03.07.0055 // # FPShell.OilTipChangeWarning : repeated warnings avoided. Correction to MoveToOpenTable when using shield. ' 2019-10-16 Version 03.07.0054 // + TWaspArray accepts colours with SetArrayProperty for future compatibility. No use is made of this feature. ' 2019-09-10 Version 03.07.0053 // ~ Improved dumping to waste when WASTE array not specified. ' 2019-08-22 Version 03.07.0052 // ~ DumpSolution : Slow discharge of VExtra. RinseLargeVolume : Slow discharge of small rinse volume + raising of tip before air discharge and reload. ' 2019-08-20 Version 03.07.0051 // ~ FastLoadLangeVolume now omits rinse after load from bottle. ' 2019-08-20 Version 03.07.0050 // + Better GotoXYZ control, with coordinate history. ' 2019-08-16 Version 03.07.0049 // # When "Attach Shield in Hook Position" not checked, FPShell.PlateLoaderHomed set false prior to calling Shield .Engage ' 2019-08-12 Version 03.07.0048 // # wizTipInstall does not reset LCP tip. ' 2019-07-03 Version 03.07.0047 // # PlateLoader.SetWellVolume fixed to use 0-based offsets from top left of array. ' 2019-06-28 Version 03.07.0046 // + CheckPlateFileDates:Better control over updating of plate files. ' 2019-06-21 Version 03.07.0045 // # BoreForm fixed to load correctly on first entry (Boolean Loading, to prevent Check_Click resetting Bore attributes) ' 2019-05-22 Version 03.07.0044 // + FPShell.DispenseCommand - Raise slowly from lowering height by SlowHeight + TWaspArray RaiseControl to enable this. ' 2019-05-08 Version 03.07.0043 // + Clicking item in TipList for V tip calls Panel.Chassis.AttachTip, AlignShield reqests correct plate, if not present. ' 2019-05-02 Version 03.07.0042 // # wizPlateCorrect: aesthetic correction to shield display - do not call Shield object move if PlateLoader.MCCShieldControl is True. ' 2019-04-29 Version 03.07.0041 // # wizTipInstall corrected to ensure shield is replaced before call to Test Tip in Plate ' 2019-04-24 Version 03.07.0040 // # wizTipInstall corrected to ensure shield is replaced after Tip Length Test. ' 2019-04-10 Version 03.07.0039 // # FPShell.SetChannelAttribute "SOLUTIONTEXT" corrected to handle text with embedded spaces ' 2019-03-22 Version 03.07.0038 // ~ MCCControl.ChannelMCC_OnRxError improved extraction of MCC error code, so failed rezero does not appear to be a comms error. ' 2019-01-21 Version 03.07.0037 // + MCCDiagnosticConnect now uses Terminal.Reconnect command; +Menu item for MCCDiagnosticConnect ' 2019-01-16 Version 03.07.0036 // + MCCDiagnosticConnect ' 2019-01-07 Version 03.07.0035 // + CheckPlateFileDates() replaces CheckPlateFileDate(): checks dates of ALL Plate(*).dat files, does not prompt to overwrite, but issues summary. ' ========================== Version 3.07.xxxx Multiple drop transfers ================================ ' 2018-10-12 Version 03.07.0034 // # TTransferDropParameters: MCCControl.MCCMove replaces MCCControl.SendCommand, so that flow rates (queued) are sent to MCC ' 2018-07-30 Version 03.07.0033 // # TTransferDropParameters.CalculateSourceAndDropCoordinates includes P.ZClear for cover slide thickness. + Nudge(3.06) pulled in to allow speed control. ' 2018-07-29 Version 03.07.0032 // + TBore.Read/WriteRegistry .SourceChannel flag saved between sessions, to get correct experiment Resume behaviour with Wasp. ' 2018-07-14 Version 03.07.0031 // + PlateLoader.AlignShieldRoller further altered to always use SBS shield, even when none specified (eg no experiment run yet) ' 2018-07-06 Version 03.07.0030 // + PlateLoader.AlignShieldRoller Shield PinHookPointX primed with Robot.ShieldHookPointX + ShieldHookXOffset ' 2018-06-25 Version 03.07.0029 // # Fix to ChannelEdit.frm, UpdateSyringeDependencies to set Apply if discrepancy in dV or Vmax. (CSIRO had problem) ' 2018-05-20 Version 03.07.0028 // + PlateLoader.ReadFromDB +SetPlatesOnMCC to keep MCC plate list up to date ' 2018-03-21 Version 03.07.0027 // + TTransferDropParameters SetTransferArray Source AirGap value. ' 2018-03-20 Version 03.07.0026 // ~ PlateLoader.AlignShieldRoller rewritten to position table, then adjust and then to home the shield based on new values. ' 2018-02-22 Version 03.07.0025 // ~ Recompiled with PlateloaderObjects V.1.00.0001 due to Windows update preventing .ocx registering. ' 2018-02-22 Version 03.07.0024 // + Copied V.03.06 version of XExecutor.cls and MCCControl.SyringeMove line 2491: SyringeMove = 0 to fix old XStep dispensing bug (loop). ' 2018-02-06 Version 03.07.0023 // ~ FPShell.ClearPendingSolutionProperties: ManualLoad, SourceChannel, OilChannel, DumpOnExit set to False ' 2018-01-30 Version 03.07.0022 // + PlateLoader.ShieldInvalidate function to guaranty that MCC is kept up to date with shield status. ' 2018-01-29 Version 03.07.0021 // ~ TTransferDropParameters altered to allow 0 Rinse offset, for situations when rinsing is done in water bottle. (DipCount=RinseCount=0) ' 2018-01-17 Version 03.07.0020 // ~ All old Forth calls brought up to date. All menu items tested. Some debugging items suppressed. ' 2017-12-22 Version 03.07.0019 // ~ Error reporting, when Wasp script does not specify Destination Array for TransferDrop. ' 2017-12-11 Version 03.07.0018 // ~ MCCControl.MoveToLocation corrected to suppress sending ZVGoto call when PlateLoader.MCCShieldControl true. ' 2017-12-06 Version 03.07.0017 // ~ FPShell.ShieldCommand ammended to use MCCShieldControl when available. ' 2017-11-29 Version 03.07.0016 // ~ Recompiled with PlateLoaderObjects V.1.0060 - prevents focus being stolen during TransferDrops ' 2017-11-29 Version 03.07.0015 // ~ FPShell timDispatch change to raw Forth call - MCCControl.SendCommand instead of MCCControl.MCCChannel.SendString ' 2017-11-21 Version 03.07.0014 // + MCCControl Calls to EnablePositionLogs, ClosePositionLogs. +"MCC Position Logging" Menu item (checkbox). ' 2017-08-15 Version 03.07.0013 // + PlateLoader.SetPlateOnMCC(Index) and PlateLoader.SetPlatesOnMCC() fully working. ' 2017-08-01 Version 03.07.0012 // + Remade with PlateLoader.frm allowing 3.06.0034-37 fixes and enhancement=Array multiple captions. ' 2016-05-25 Version 03.07.0011 // ~ Files copied across from V.3.06.0027 - 3.06.0033 to inherit improvements since November 2016. ' 2016-05-24 Version 03.07.0010 // + Forth TDL .VupDrop set in TTransferDropParameters.UpdateDropData ' 2016-10-06 Version 03.07.0009 // ~ TDParameters reset on each Set Experiment ' 2016-08-24 Version 03.07.0008 // # Recompiled with modules from 3.06.0022-0026 for correct tip adjustment and clearance calculation when oiling. Includes TChannel list changes. ' 2016-07-28 Version 03.07.0007 // + TTransferDropParameters.CalculateSourceAndDropCoordinates : MCC call to .SetSourceData includes VupRes and SourceFlowRate. ' 2016-05-10 Version 03.07.0004 // + (cf 3.06.0009) CSIRO improvements incorporated (Sound alerts and Shield attachment at hook position). ' 2016-04-28 Version 03.07.0003 // + TransferDrops now handles MB case (shield on source plate), but not hanging drop (shield on target) ' 2016-04-26 Version 03.07.0002 // ~ TransferDrops includes display, shield handling and Pause, but can't do different plates. ' 2016-04-22 Version 03.07.0001 // ~ TransferDrops basic working version. Needs display fixing and shield handling. Also combined MB/VD mode not resolved. ' 2016-03-16 Version 03.07.0000 // ~ Old TransferDrop command implemented using special call to TransferDrops. Backward compatibility checked - Forth TransferDrop works with FP V.3.05 as well ' ========================== Version 3.06.xxxx Glorified tip adjustment, independent adjustment on each plate. ================================ ' 2017-09-05 Version 03.06.0039 // # Only in LV handling for XStep : MCCControl.SyringeMove was still returning TRUE, interpreted as Error=1, when no volume to dispense. ' 2017-09-01 Version 03.06.0038 // # Only in XExecutor : calls to MCCControl.SyringeMove updated for SyringeMove now returning error code, not Success. All other calls OK. ' 2017-08-01 Version 03.06.0037 // + Array multiple captions, '|' delimited, to allow annotation of individual wells (for LV dispensing bottle labelling) ' 2017-07-26 Version 03.06.0036 // + For correct Resume behaviour in Wasp, Dispense command/SyringeMove determination of BREAK_BEFORE/AFTER, requires Forth 8.35 or later ' 2017-07-19 Version 03.06.0035 // + Pause command, for Jake's LV grid script. Compiled with Development=0, to prevent Multidrop featrues. ' 2017-06-28 Version 03.06.0034 // # XExecutor.PartitionLargeVolumes makes sure that the water channel is set to channel 7 (white), to prevent miscalculation of solution volumes and infinite reload loop. ' 2017-05-17 Version 03.06.0033 // ~ "Older systems without opto sensors move the syringe drives hard against stops." ' 2017-03-27 Version 03.06.0032 // # Correction to FPShell.SetSolutionNameCommand + SetSolutionNameCommand can take channel name, as alternative to channel number. ' 2017-03-21 Version 03.06.0031 // ~ All tips removed when changing Configuration mode. ' 2017-03-15 Version 03.06.0030 // ~ FPShell.RaiseCommand() Ammended to add the slow height to the current position, and optimize the call to MCCControl.ArmGoto ' 2017-03-08 Version 03.06.0029 // ~ PlateLoader.SelectPlate(Index) prevented from stealing focus when FrontPanelApp = 1 ' 2017-02-24 Version 03.06.0028 // # AlignShield: test to see if the correct plate is in position 0. Need to do this.................. ' 2016-11-24 Version 03.06.0027 // # AlignShield: exit if cancelled by user. ' 2016-08-23 Version 03.06.0026 // # Fixed incorrect parameter in call to GetCorrection in GetTargetCoordinates, which was doubling plate calibration corrections. Ensured V tip clears VBatch plate in Combined MB+VD. ' 2016-08-03 Version 03.06.0025 // ~ Improved AdvancedTipCorrection behaviour when a well is grossly out, and discrepancy is attributed to tip. Default alignment well algorithm prevented from choosing HD wells. ' 2016-08-01 Version 03.06.0024 // # Prevented recursive calling of wizTipTest/TipInstall when radical discrepancy of Z tip height encountered. ' 2016-07-11 Version 03.06.0023 // # TChannelList.Copy now includes LVChannel and LCPChannel members. ' 2016-06-13 Version 03.06.0022 // + Registry entries for Channels updated immediately after changes to ChannelList. Also Channels.xml updated. ' 2016-06-09 Version 03.06.0021 // + ShowWellData form activated by ctrl-clicking well of interest. ' 2016-06-08 Version 03.06.0020 // + Adjustment logging + shift plates in display; simplifies things as plates now provide the PlateAdjustment correction, without explicitly adding the correction to moves. ' 2016-05-31 Version 03.06.0019 // ~ Allow repeated corrections of plate adjustment by V tip, of a plate that has never been adjusted by primary (Z) tip. ' 2016-05-26 Version 03.06.0018 // ~ Functionality in wizTipInstall centralized into Chassis.AttachTip, so PlateAdjustmentFile is always updated. ' 2016-05-19 Version 03.06.0017 // ~ Corrected detection of large plate adjustments, and improved wording in the resulting dialog. ' 2016-05-18 Version 03.06.0016 // + Trapping of conflicting LCP tip requests, with message and graceful exit. ' 2016-05-18 Version 03.06.0015 // # More corrections to wizTipInstall and Pause. ' 2016-05-17 Version 03.06.0014 // # Compiler did not pick up mismatching calls to PlateLoader.PlateAdjustment(Arm), even though the Arm parameter has been dropped. ' 2016-05-16 Version 03.06.0013 // - Tip adjustment mechanism simplified to Single Plate Adjustment (used to be and adjustment associated with each tip) ' 2016-05-12 Version 03.06.0012 // # Fix to FPShell.TransferDropCommand when NOT using AdvancedTipCorrection ' 2016-05-11 Version 03.06.0011 // # Re-enabled prevention of TipOffset.Z being set in Plateloader.SetTipAndPlateOffsets. (Enabled by mistake in 3.06.0010 led to double counting) ' 2016-05-10 Version 03.06.0010 // + Linked in CommandFile form for testing tip/plate adjustment with TransferDrop. ' 2016-05-06 Version 03.06.0009 // + CSIRO improvements incorporated (Sound alerts and Shield attachment at hook position). ' 2016-02-16 Version 03.06.0008 // ~ MCCControl.EjectArms : Case of 'moveBy' corrected ' 2016-02-12 Version 03.06.0007 // # wizTipInstall PB_Click(wzZinstall/wzVinstall) now writes new tip name to PlateAdjustmentList. ' 2016-02-08 Version 03.06.0006 // ~ Large tip installation and rinsing/loading. bfClean and bfNeedsFlushing flags treated differently to avoid reloading loop seen in XStep dispensing. ' 2016-02-03 Version 03.06.0005 // + Debugging line numbers in TChassis.Setup ' 2016-02-01 Version 03.06.0004 // + Debugging 'Action' entries in ExecuteDrop to diagnose Type Mismatch problem at Jilin. ' 2016-01-22 Version 03.06.0003 // # Corrections to wizTipTest. Simplification of nudge. All movements apply both Tip and Plate adjustments. ' 2016-01-18 Version 03.06.0002 // + Pause dialog applies tip/plate corrections to currently selected plate. ' 2016-01-18 Version 03.06.0001 // ~ XML methods updated to match TCoordinate with unified XML methods. ' 2015-12-30 Version 03.06.0000 // + Glorified tip adjustment, allows independent adjustment on each plate. ' ======================================== Version 3.05.xxxx LCP Dispensing =========================================== ' 2016-02-26 Version 03.05.0050 // # Oil channel tested and set in ExecuteSmallVolumes, when Rainin tip has been used last for aqueous, and No CurrentOilChannel exists. ' 2016-02-08 Version 03.05.0049 // # Panel.FastChannelLoad LV tip marked as NOT clean after non-water load. XExecutor.SmallVolumeDispense enforces rinsing of LV tip is not bfClean. ' 2015-12-21 Version 03.05.0048 // + PCR solution depth calculation to match Wasp General Functions.xph. ConicalCalculate introduced into TLHMethod. ' 2015-11-30 Version 03.05.0047 // + Clear instructions for setting LCP Configuration when PC has no registry value set. ' 2015-08-04 Version 03.05.0046 // # wizPlateCorrection.Calibrate compensates correction by -P.ZClear to handle calibration with variable thickness cover slide. + On the fly request for coverslide thickness. ' 2015-06-08 Version 03.05.0045 // # Nudge form arrow keys operating correctly. ' 2015-05-15 Version 03.05.0044 // ~ Improved irritating positioning of first User Dialog. (Changed to Center of Owner). ' 2015-05-15 Version 03.05.0043 // + CSIRO only: Attach shield at hook point. ' 2015-05-14 Version 03.05.0042 // ~ Oil tip not dipped in LoadOil(0) (ie dump oil). + Message about greasing tip in wizTipInstall. ' 2015-05-06 Version 03.05.0041 // + CSIRO only: UserDialog Plays .wav files if script MessageBox supplies a valid .wav file name (instead of an image file). +Sounds.bas support module. ' 2015-04-01 Version 03.05.0040 // # Problem seen in PlateCalibrate for single well plates : wizPlateCorrect.BestTestWell sets default subwell before starting search for best subwell, in case no best is found. ' 2015-03-25 Version 03.05.0039 // # CInputBox command corrected with Result = UserInputBox(cmdStr, Me) : Acknowledge Result, Result = ESC, "Terminated by operator" ' 2015-02-23 Version 03.05.0038 // # FPShell.SetSupportPlates : Due to previous correction of Functions.ExtractDelimitedString(), TargetPlate must be appended to plate list sent to SetPlateList. ' 2015-02-22 Version 03.05.0037 // + PB(0) - [Supply Plate] explicitly reenabled for wizDebubble, wizTipAdjust and wizPlateCorrection ' 2015-02-19 Version 03.05.0036 // + Improvements to Nudge form, to show dX, dY,dZ and hide adjustment facility. ' 2015-02-16 Version 03.05.0035 // + Extra instructions issued for recovering protein, when FP decides there are no precious solutions present. ' 2015-02-13 Version 03.05.0034 // # Plate Z=offset implemented (only X and Y offsets were being added), using FPPlate.zClear as work-around. ' 2015-02-06 Version 03.05.0033 // # Nudge.cmdUpDown_Click() disables [Accept] button while moving. ' 2015-01-22 Version 03.05.0032 // + [Back] reenabled for wizDebubble channel selection and wizTipAdjust well selection ' 2015-01-06 Version 03.05.0031 // ~ (cf.03.04.0423) wizReposition dumps any oil properly. ' 2015-01-06 Version 03.05.0030 // ~ (cf.03.04.0422) PlateLoader.FindDestinationPlate now ignores Plates1(0), as this is the default. wizTipTest called with /DESTINATION switch. ' 2014-12-12 Version 03.05.0029 // ~ LoadSolutionsFromDB call removed from wizTipInstall, which was setting PendingSolutionProperties to defaults after new Wasp LCP/LV sequence had set them. ' 2014-12-04 Version 03.05.0028 // # FPGlobal.OpenManual now checks filenames correctly. ' 2014-11-28 Version 03.05.0027 // # Panel.ReleaseLCP now updates MCC with new tip length ' 2014-11-28 Version 03.05.0026 // # PlateLoader : property ShieldHookXOffset changed to load from and save to MCC, if MCC supports HookXOffset ' 2014-11-12 Version 03.05.0025 // # FPShell: InvalidateAllFlowRates called on SetExperiment. wizReposition : VTipBits explicitly set to 0 if no V tip present. Panel.Chassis. ' 2014-11-12 Version 03.05.0024 // + Just in case : Extra protection to stop LCP being flushed, just in case script has not marked channel as PRECIOUS. ' 2014-11-10 Version 03.05.0023 // ~ Panel.ReleaseLCP: On changing syringe, channel marked as VolumesValid=False, rather than NeedsFlushing ' 2014-11-07 Version 03.05.0022 // + BoreForm improvements. ' 2014-11-06 Version 03.05.0021 // + Aesthetic changes (hiding oil valve etc.) User not asked to remove LCP syringe if it is not there. ' 2014-11-06 Version 03.05.0020 // # Fixes to ReleaseLCP, invalidating LCP volume. TBore.Dispense inhibited from updating display when volume not valid. ' 2014-11-05 Version 03.05.0019 // + CInputBox command, FPGlobal.UserInputBox function and ValidatingInputBox form. ' 2014-11-04 Version 03.05.0018 // + ReleaseLCPSyringe on menu and available as external command. + Panel.FastChannelLoad added Chassis.SetValves vsDeliver, , False (cf. Version 03.04.0419) ' 2014-11-03 Version 03.05.0017 // ~ Recompiled with improved JSFile.SaveFile error handling ' 2014-10-29 Version 03.05.0016 // + Error trapping and reporting of context when Oryx Hardware.js file can not be saved. ' 2014-10-27 Version 03.05.0015 // + SetChannelAttribute SolutionText property takes strings with embedded spaces. ' 2014-10-13 Version 03.05.0014 // + wizTipInstall.ConstructTipLists to cater for both large and small volume tips on the V axis. ' 2014-10-08 Version 03.05.0013 // + TestMCCConnectionLatency added to MCC diagnostics menu. ' 2014-09-25 Version 03.05.0012 // + SetChannelAttribute SOLUTION/SOLUTIONTEXT/DISPLAYTEXT displays the solution in Panel, but does not affect the alias. ' 2014-09-24 Version 03.05.0011 // # UserDialog prompt area was user-editable. Now locked. ' 2014-09-23 Version 03.05.0010 // + Nudge.frm: Cursor left/right trapped to give normal editing of txtDelta[], gives focus to [Raise/Lower]. Focus of active control now retained so repeating repeats move. ' 2014-09-17 Version 03.05.0009 // + Allow finer grain syringe drive resolution, set now to 1/8 half-step for simplicity. (Physical test on LCP drive shows movement for 1/32nd of half step (ie each microstep) ' 2014-09-15 Version 03.05.0008 // + Small position change in Nudge form now user variable. ' 2014-08-13 Version 03.05.0007 // + New error trapping and reporting technique. ' 2014-08-12 Version 03.05.0006 // + FPShell.MDIFormLoad: Workaround for misloading (unknown cause) of LCPChannel value in Channels(Oryx8-LCP).xml ' 2014-08-12 Version 03.05.0005 // + Automatic rezero of LV/LCP syringe drive when Configuration change detected. ' 2014-08-11 Version 03.05.0004 // + Multiple configuration ChannelList files (Oryx4/8-LV/LCP/SV and OryxNano-SV) ' 2014-08-10 Version 03.05.0003 // + Public Const FORTH_VERSION_MIN = 6#, for checking Forth compatibility ' 2014-08-05 Version 03.05.0003 // + TLHControl.ExtraVolumeV1 and ExtraVolumeV40 separate values replace original ExtraVol (cf Version 03.04.0418 ) ' 2014-08-05 Version 03.05.0002 // ~ Alteration to prompt for PCR pipetting for XStep dispensing. ( cf Version 03.04.0417 ) ' 2014-06-23 Version 03.05.0001 // + TMultiboreTip.Length and .Arm for LCP adjustments to MCC axis heights, and correct inclusion in wizTipInstall tip list. ' 2014-06-20 Version 03.05.0000 // ! Same as 03.04.0416 - just testing compiling and running in new V.25 folder ' ======================================== Version 3.04.xxxx XStep Optimization VD Reservoir Dispensing =========================================== ' 2014-07-16 Version 03.04.0418 // + TLHControl.ExtraVolumeV1 and ExtraVolumeV40 separate values replace original ExtraVol ' 2014-07-04 Version 03.04.0417 // ~ Alteration to prompt for PCR pipetting for XStep dispensing. ' ======================================== Version 3.05.xxxx Bifurcation =========================================== ' 2014-06-19 Version 03.04.0416 // # fixed XExecutor.ExecuteSmallVolumes bug (writing reservoir topup solution to droplet position in .xdb file, when interrupted). ' 2014-06-19 Version 03.04.0415 // + JobDone form to allow copying of filename and opening folder location, instead of BabyFTP for AutoDump ' 2014-06-12 Version 03.04.0414 // ~ PowerDown Delay and plateloader home timeout both default to Disabled. ' 2014-06-11 Version 03.04.0413 // ~ wizReposition "Flush anyway?" dialog (after automatic recover cancelled) suppressed ' 2014-05-30 Version 03.04.0412 // ~ Better wizReposition behaviour on resumption after automatic recover cancelled. ' 2014-05-29 Version 03.04.0411 // + wizReposition calls wizRecover automatically if there are precious solutions present that would otherwise get flushed to waste. ' 2014-05-29 Version 03.04.0410 // + wizReposition applies pending Precious attributes after water flush, as belt and braces, in case script does not specify after reposition. ' 2014-05-28 Version 03.04.0409 // + frmOutputList : Added MarkAll and ClearSelection. Also Before/After plus Ctrl-Find for cumulative selection. ' 2014-05-28 Version 03.04.0408 // + TransferDropCommand can now take optional pause time (in seconds). Now uses new function Functions.ReadNumberListText for Col/Row and Pause values. ' 2014-05-27 Version 03.04.0407 // ~ XYGoto: Prevent false error reporting for Nano: If (MoveVector.IsSet(axisZ) = MoveVector.IsSet(axisV)) +++ Or ((Robot.Axes = 3) And MoveVector.IsSet(axisZ)) Then ' 2014-05-13 Version 03.04.0406 // # Solution volumes cleared from plate, when new plate put on PlateLoader, to get solution depth compensation correct. ' 2014-05-13 Version 03.04.0405 // # Checking of volumes for ridiculously large MB experiments, typically produced by changing plate in XStep from a reservoirs only VD plate to a stock plate, but not clicking the Stock Plate method. ' 2014-05-12 Version 03.04.0404 // + frmOutputList [Copy] now copies SELECTION to clipboard (if anything selected) otherwise complete list, as before. ' 2014-05-12 Version 03.04.0403 // ~ PlateLoader plates refreshed from current Plates object in memory, as opposed to just loading via ActiveX which does not read Includes. ' 2014-04-17 Version 03.04.0402 // + 0.5MB of most recent .WaspReport files zipped up in CollectDiagnosticData ' 2014-04-10 Version 03.04.0401 // + User choice to use microtip for TopUp when no drops need dispensing; applies to stock plates and VD plates where no drops are specified/selected. ' 2014-03-25 Version 03.04.0400 // # TWaspArray.UseLoweringHeight now written to and read from the .xdb file. ' 2014-03-21 Version 03.04.0399 // + Handling of LCP/StockFlushed/Precious attributes on the V Tip in wisReposition to prevent attempts to use 1ml air/stock. Prevented dumping of precious solutions. ' 2014-03-14 Version 03.04.0398 // # FPShell.TransferDropCommand: Sys.ErrorStat = ERR_BREAK_BEFORE if transferDropParameters interrupted by user. (Was previously 236 = OBSOLETE) ' 2014-03-05 Version 03.04.0397 // + SetArrayProperties LOWERING.ENABLED {TRUE | FALSE}; + FPShell.DispenseCommand lowers to LoweringHeight if Lowering enabled. ' 2014-02-10 Version 03.04.0396 // # Panel.CleanAndEmpty sets Large Volume reposition requirement to EMPTY 0.0 0.0 rather than WITHIN 0.0 0.0. FastLoadLargeVolume rinses if incorrect air gap. ' 2014-01-31 Version 03.04.0395 // # wizReposition : Prevented [Cancel] being inadvertently enabled while oil is still being loaded. ' 2014-01-29 Version 03.04.0394 // # wizTipInstall: Was requesting Tip= when not specifiend - should have been Tip=. ' 2014-01-24 Version 03.04.0393 // + ClearPendingSolutionProperties; + /PENDING switch for SetChannelAttribute ' 2014-01-08 Version 03.04.0392 // # wizTipInstall : TipList entry set correctly when no tip present and Wasp asks for ar ' 2014-01-03 Version 03.04.0391 // ~ Reports error when a tip specified in the registry (from a previous configuration) is not in Tips.xml ' 2013-12-23 Version 03.04.0390 // ~ Does NOT require bore to be attached to allow new alias for channel. ' 2013-12-20 Version 03.04.0389 // ~ Recompiled with PlateLoaderObjects Version 01.00.0059 (allows TagList entry in Plates.dat) ' 2013-12-17 Version 03.04.0388 // + PlateLoader.ClearPlateVolumes(), called by SetupPlates, stops PromptPCRFill generating the '(changed)' comment at start of a new experiment, after a previous one completed. ' 2013-12-13 Version 03.04.0387 // - PlateLoader.Form_MouseDown disabled. ' 2013-12-12 Version 03.04.0386 // + SetChannelAttribute now recognizes NAME attribute, and updates in-memory version of ChannelList.AliasList. wizTipInstall fixes for ' 2013-12-09 Version 03.04.0385 // ~ Improvements to GetVolumeCurrent/Loaded and SetVolumeLoaded ' 2013-12-05 Version 03.04.0384 // # wizTipInstall : Channels cleared when tip set to ' 2013-11-29 Version 03.04.0383 // # XExecutor.PromptPCRFill : comment corrected for situations where there is sufficient solution loaded in microtip, as result of changing XStep well selection. ' 2013-11-28 Version 03.04.0382 // # wizTipInstall.TipValid tolerates incomplete registry data, where tips are present, but are unnamed and have no bores. ' 2013-11-22 Version 03.04.0381 // # wizTipInstall fix to set CurrentOilChannel for MB ' 2013-11-20 Version 03.04.0380 // # wizTipInstall fix to set Chassis.CurrentOilChannel to 0 when /V=AQUEOUS is selected. Rounding due to syringe pitch dealt with when calculating VolumeAvailable. ' 2013-11-19 Version 03.04.0379 // # XExecutor fixes to LargeVolume loading and rinsing. Correction to ExecuteLargeVolumes after call to LoadFromPlate to adjust VolumeRemaining by VSmall. ' 2013-11-11 Version 03.04.0378 // ~ ResetPathLogs instead of WritePathLogs in PlateLoader.Home ' 2013-11-08 Version 03.04.0377 // + SetVolumeCurrent/SetVolumeLoaded (same thing) can now use a channel name or alias as an alternative to a channel number. ' 2013-11-05 Version 03.04.0376 // ~ Improved handling of user STOP error for shield alignment wizard and shield positioning in general. ' 2013-11-01 Version 03.04.0375 // ~ Prevention of error message on Flush/Clean&Empty when (a) Rinse/Waste array not specified (b) Large tip not installed ' 2013-10-28 Version 03.04.0374 // ~ Recompiled with PlateLoaderObjects Version 01.00.0058 (fixed rezero after invalidated when hooked) ' 2013-10-25 Version 03.04.0373 // + ReEnact also runs feedback files. ' 2013-10-24 Version 03.04.0372 // ~ wizTipInstall switches /SMALL, /LCP allow small volume tips on V arm. V tip only dumps large volume non-precious solutions, to avoid dumping LCP. ' 2013-10-24 Version 03.04.0371 // + Recompiled with PlateLoaderObjects.ocx Version 1.00.0057 (multiple plates definition files) ' 2013-10-23 Version 03.04.0370 // + Free format Deliver command, using channel names, to help with LCP Advance command. ' 2013-10-22 Version 03.04.0369 // # Correction to TBore.StockFlushed overwriting in LoadExperiment and correct flushing in wizReposition (called by CleanandEmpty) ' 2013-10-16 Version 03.04.0368 // + ReEnact, to rerun old log files. ' 2013-09-25 Version 03.04.0367 // + TLHControl.ExtraVolume for viscous handling. Set to 30µl by default. ' 2013-09-25 Version 03.04.0366 // ~ User now queried for use of stock-flushed method when loading time exceeds LoadTimeThreshold. SetPendingSolutionProperties decision tree adjusted to respect Precious attribute, even for huge load times. ' 2013-09-18 Version 03.04.0365 // # XStep load and dispense speeds now using the XStep "Specify Speed" check value correctly. ' 2013-08-22 Version 03.04.0364 // ~ Release Version 03.04.0359 (no override of Shield NoMansWidth to 40mm) inserted and subsequent Beta version numbers incremented by one. ' 2013-07-31 Version 03.04.0363 // + XSolution.WriteToDb : Ensures that Proportion(Sno) never exceeds 1.0 ' 2013-07-16 Version 03.04.0362 // + TDebugger.AnnotateOperation - marking XStep dispensing large volume functions and moves for Perl analysis. ' 2013-07-12 Version 03.04.0361 // ~ Improved rinsing, particularly at end of experiment, and on closing FP. ' 2013-07-12 Version 03.04.0360 // ~ XExecutor.QuickSquirt : Bore.FlowRate reduced for viscous solutions in last 100ul of Rainin tip. ' 2013-08-06 Version 03.04.0359 // # PlateLoader.LidAttached : NoMansWidth 40mm override removed. ' 2013-07-08 Version 03.04.0358 // # MoveToOpenTable : 2.1 mm contingency to allow for tip offset. ' 2013-07-03 Version 03.04.0357 // + XExecutor.PCRPrompt : Checking for changes in solution when plate has been partially dispensed. ' 2013-07-03 Version 03.04.0356 // ~ Panel.FastChannelLoad : discharge suppressed for remaining volume < 20µl, PauseTime = LoadMethod.DefaultPauseTimeShort + Bore.CalculateFastDispensingDelay(DeltaVol, 0.05) ' 2013-07-02 Version 03.04.0355 // + Tip raising speeds displayed for diagnostic purposes. LHControl.PullBackVol introduced to replace LHControl.BacklashVol, which is now used for loading large volumes. ' 2013-07-01 Version 03.04.0354 // ~ ExecuteLargeVolumes modifies VolumeAvailable after filling PCR tube, before searching for dispensable reservoir. ' 2013-07-01 Version 03.04.0353 // + XExecutor.QuickSquirt made fully recursive, and waits viscous weighted TMethod.PauseLong between successive dispenses to allow settling of solution off the walls of the tip. ' 2013-07-01 Version 03.04.0352 // + CheckBottleSolutions: MsgBox "Some solution volumes are too large to be contained in the stock bottles:" ' 2013-06-11 Version 03.04.0351 // # Error 91 avoided when dispensing XStep stock plates without 7-bore tip. ' 2013-06-06 Version 03.04.0350 // ~ Stopped double saving of .chain file caused by successive calls to CHome. ' 2013-06-05 Version 03.04.0349 // ~ Loading of viscous solutions optimized for 1ml syringe vs PCR tube loading, and final flushing corrected to reflect loading method. ' 2013-06-04 Version 03.04.0348 // ~ Rinse/Dip reenabled after large volume load. ' 2013-05-29 Version 03.04.0347 // # MoveToOpenTable corrected for wide shield situations. Shield state stored in registry between sessions. ' 2013-05-28 Version 03.04.0346 // ~ Recompiled with PlateLoaderObjects Version 01.00.0055 ' 2013-05-27 Version 03.04.0345 // ~ Recompiled with PlateLoaderObjects Version 01.00.0054. +StockFlush attribute override for wizReposition etc when loading > Syr.VolMax. # Flowrate corrections, when reloading. ' 2013-05-26 Version 03.04.0344 // # PromptPCRFill iteration corrected for unused channels. VD with no drops makes correct use of Microtip (now without prompting). ' 2013-05-26 Version 03.04.0343 // ~ Recompiled with PlateLoaderObjects Version 01.00.0052 (containing Shield fix for FP). ' 2013-05-21 Version 03.04.0342 // # Correction to logging text when aligning shield. No problem found in alignment algorithm and subsequent use of offset obtained. Refuse to start when MCC reports no Oryx system ' 2013-05-20 Version 03.04.0341 // ~ Instructions to fill PCR tubes in parallel. ' 2013-05-17 Version 03.04.0340 // ~ Lost corrections to AlignShieldRoller (V.03.04.0325) reinserted. ' 2013-05-10 Version 03.04.0339 // # XExecutor: Fixed zero volume microtip dispensing on first drop after solution reload. ' 2013-05-03 Version 03.04.0338 // + Extra Shield debugging to find problem caused by using FrontPanel("Shield INVALIDATE") instead of FrontPanelMove(). ' 2013-05-02 Version 03.04.0337 // # Corrections to Method height calculations ' 2013-05-01 Version 03.04.0336 // + Improvements to Panel.ChannelLoad and XExecutor.DispenseLargeVolumes well marking to show dark purple at correct time. ' 2013-04-24 Version 03.04.0335 // + StringToDate(), ' 2013-04-11 Version 03.04.0334 // ~ Improvements to TLHMethod for SolutionDepth compensation. ' 2013-04-10 Version 03.04.0333 // + Fast Large Volume option (on Options menu) ' 2013-04-09 Version 03.04.0332 // # Display of dispensed wells corrected when using TransferDrop for single drop dispensing. (Array offset was not being added to R, C coordinate for drop) ' 2013-04-06 Version 03.04.0331 // ~ Recompiled again with PLObjects Version 01.00.0052 (??Mouse selection of remote subwells fixed) ' 2013-03-25 Version 03.04.0330 // + PlateLoader.SetEvaporationShield "REMOVE" returns TRUE when using VBatch plate (was returning FALSE as if user had pressed [Cancel]) ' 2013-03-25 Version 03.04.0329 // + Plate Clearance: CLEARANCE_GAP = 2.5 mm introduced universally. ' 2013-03-25 Version 03.04.0328 // + "The MCC did not delete the POSITION.DAT file. Front Panel has successfully deleted it to allow you to continue.", vbExclamation, "MCC File Error" ' 2013-03-25 Version 03.04.0327 // # LastLidLocation now always has CellGroup as "Main". LocationText() changed to substitute "Main" if CellGroup="". ' 2013-03-11 Version 03.04.0326 // + Check for MCC deletion of POSITION.DAT. ' 2013-01-24 Version 03.04.0325 // # Adjust Shield Hook X corrected to include Lid.PinX and PinWidth/2 ' 2013-01-22 Version 03.04.0324 // # XExecutor.PartitionLargeVolume now uses time saved (rather than visits saved) to prompt to allow refilling of Microtip. Time saved is typically 2.5-5 mins for (3-5 ingredient) * 25 reservoir-only experiment. ' 2013-01-21 Version 03.04.0323 // # Prevented MoveToOpenTable going beyond X=Length, (for the case of the Nano). ' 2013-01-18 Version 03.04.0322 // + BabyFTP now uses EaseWeFtp.ocx (incorporated into InstallShield project) ' 2013-01-17 Version 03.04.0321 // + FPShell.CollectDiagrosticData +Rezero.log. ' 2013-01-16 Version 03.04.0320 // + Adjust Shield Hook X position for the Roller shield, and save to the registry. ' 2013-01-14 Version 03.04.0319 // # TransferDropCommand: Fresh air Stir inhibited when dispensing multiple drops. ' 2013-01-10 Version 03.04.0318 // + TLHMethod now has DefaultPauseShort and DefaultPauseLong. XStep dispensing PauseTime is linear interpolation between Short and Long according to Viscosity (µ=40 corresponds to PauseTimeLong) ' 2013-01-06 Version 03.04.0317 // # Fix to wizReposition to deal with ergodic progression of USDs for XStep reservoir top up. ' 2012-12-29 Version 03.04.0316 // # Prevented MoveToOpenTable going to Shield and No-Mans-Land areas, which was jamming shield against stops. ' 2012-12-27 Version 03.04.0315 // + BoreForm to allow editing of TBore values. # Fixed problem with reposition bits not propagating from XStockSolution to wizReposition. ' 2012-12-13 Version 03.04.0314 // ~ DumpSolution now uses LHControls(LHCONTROL_XSTEP_RESERVOIR).DumpSpeed ' 2012-12-12 Version 03.04.0313 // # USD speed bug fixed in OryxChassis.ocx. Debugging of .SpeedChange under HighDetail+User Problem 2 ' 2012-12-10 Version 03.04.0312 // # SolutionChange. Writes table with target Solution.TextWithpH rather than Text. TextWithpH uses Buffered property instead of pHController to guaranty distinguishing buffers, when not in pH mode. ' 2012-12-04 Version 03.04.0311 // # SolutionChange.+TargetIsWaterChannel to trap Water channel air flushing anomaly. XExecutor.LoadFromTable - channel naming now immediately after air load. Forced disconnection improved. ' 2012-11-30 Version 03.04.0310 // # XExecutor.DispenseSmallVolume ignores volumes of deselected stocks when testing if there is enough solution. Water channel is marked as Selected. ' 2012-11-29 Version 03.04.0309 // # Special case of needing 6 bottles for stocks fixed (pot no. checking now in correct place) ' 2012-11-28 Version 03.04.0308 // # Special case of needing 6 bottles for stocks fixed. ' 2012-11-22 Version 03.04.0307 // # XExecutor.FindTipName now takes LargeVolume parameter, to ensure correct tip type in unusual situations. When dispensing VD with NO reservoirs, V tip is . ' 2012-11-21 Version 03.04.0306 // # wizTipInstall : V tip not being specified correctly for MB ' 2012-11-20 Version 03.04.0305 // # wizReposition.CalculateRepositionString now caters for PCR reloading of volumes close to syringe maximum possible, previously not encountered with Precious solutions. ' 2012-11-14 Version 03.04.0304 // + TSmallVolumeBias = 0.3 ' a few hundred ms to encourage small volumes to be dispensed by Z tip, for accuracy ' 2012-11-13 Version 03.04.0303 // # wizReposition.CalculateRepositionString corrected to include air volume when repositioning for PCR tube loading. ' 2012-11-12 Version 03.04.0302 // ~ XSolutionList : Significantly improved optimization of large volume dispensing for XStep. ' 2012-11-05 Version 03.04.0301 // ~ ExecuteSmallVolume + extra belt and braces specification of flow rates to deal with slow flow rates seen by Stefan (B1861) ' 2012-11-02 Version 03.04.0300 // # SolutionChange.RefreshActionTable() corrected to ask for 5ml water flushing of Water channel when currently filled with air (ie after Empty Tip) ' 2012-10-22 Version 03.04.0299 // # ShieldCommand INVALIDATE corrected. ' 2012-10-03 Version 03.04.0298 // + TWizardController.Initialize sizes wizards according to the new global WizardHeight, to cater for screens down to 640 pixels high. ' 2012-10-02 Version 03.04.0297 // # wizDebubble.PB_Click(wzEmpty, wsFill): Replaced original "WizCon.SelectedButton = wzConfirmEliminate/Me.SetFocus" with "WizCon.SelectButton wzConfirmEliminate" ' 2012-09-21 Version 03.04.0296 // # SolutionChange.RefreshActionTable further fixes to deal with unusual water channel settings that may be inherited from another experiment. ' 2012-09-20 Version 03.04.0295 // # SolutionChange.RefreshActionTable/MoreSolutionsRequired no longer force flushing with water if channel not used. Typo:Bore.Precious replaced by XSS.Precious in wizReposition ' 2012-09-18 Version 03.04.0294 // # Trivial wizTipInstall : Replace V tip Typo in dialog (he instead of the) ' 2012-09-11 Version 03.04.0293 // # XExecutor.ExecuteSmallVolumes prevented from attempting to top up reservoirs in MB dispensing. ' 2012-09-10 Version 03.04.0292 // # Air command fix - no longer clears any loaded oil. + Shield command interrogation "PRESENT?" returns string True/False ' 2012-08-31 Version 03.04.0291 // # \XExecutor: TextWithpH used in all cases for solution resolution. ' 2012-08-28 Version 03.04.0290 // + WriteWaspRunHardwareJS for Duke. #FPShell.ShieldCommand("REMOVE") reinstated. ' 2012-08-16 Version 03.04.0289 // + UserDialog allows programmable buttons. [Caption::FPShell Command Text] calls timDispatch or [Caption::n] returns the value n. [Caption] behaves as normal. ' 2012-08-16 Version 03.04.0288 // + EditMethod form enhancements to allow easy comparison between Methods.xml files. ' 2012-08-15 Version 03.04.0287 // # Handles Stockplate dispensing for XStep without using Microtip. Unecessary V tip dumps and rinses inhibited. ' 2012-08-15 Version 03.04.0286 // # PlateLoader.GetTargetCoordinates does not raise tip for a second operation in the same subwell. (New member PlateLoader.LastSubwellVisited) ' 2012-08-14 Version 03.04.0285 // # ShieldHome called by MoveToOpenTable to prevent crashing. Fix to SolutionChange.ActionTable for Water channel - no stock flush. ' 2012-08-14 Version 03.04.0284 // # PlateLoader.LidHomeText call to FindClearancesForMove now uses (Lid.PinHookPointX, Lid.HomeY) as TargetXY - previously using (0, 0) and therefore not detecting bottles as highest obstacle. ' 2012-08-10 Version 03.04.0283 // ~ Refined flushing and loading rules. Remade with changes to XSolutiondList.ReadFromDB for XStep. ' 2012-08-07 Version 03.04.0282 // + Action Table for solution flushing and loading, visible in Administrator mode. ' 2012-08-03 Version 03.04.0281 // + Shield attach message positioned to avoid obscuring shield. ' 2012-08-03 Version 03.04.0280 // # TransferDropCommand - some feedback being lost (not displaying destination Y) and well highlighting improved to work with MB fast transfer. ' 2012-07-31 Version 03.04.0279 // # TWizardController.SelectButton(Index As Integer) + DoEvents to guaranty that PB(Index) responds to . ' 2012-07-31 Version 03.04.0278 // # wizTipAdjust: no longer requests a new plate when called from Install/Adjust and the shield is present. PlateLoader.SetEvaporationShield("ENSUREREMOVED") called prior to tests. ' 2012-07-31 Version 03.04.0277 // ~ XExecutor : Much improved the way that FP partitions the task of dispensing the reservoirs between the large and small tips ' 2012-07-27 Version 03.04.0276 // + wizTipInstall : Tip names stored for RHS and LHS, to verify that tip offsets should be restored. ' 2012-07-27 Version 03.04.0275 // + PlateLoader.GetTargetCoordinates.Z = P.CellGroup.Height - P.CellGroup.ShelfDepth + dZ + dPz when within cell, to avoid catching the shelf. ' 2012-07-27 Version 03.04.0274 // # XExecutor.LoadSolutions corrected for Microbatch (LVXDP not set in MB case now prevents large volume check for bottle overflow). Inhibited unecessary V tip waste well visits. ' 2012-07-26 Version 03.04.0273 // + EditMethods: Spinner control attached to Method Name for quick scrolling through records. Methods.xml DefaultFlowRate now loading. ' 2012-07-19 Version 03.04.0272 // + Wasp style PCR tube precious solution loading. ' 2012-07-16 Version 03.04.0271 // # LoadFromTable now uses LoadMethod.DefaultFlowRate ' 2012-07-12 Version 03.04.0270 // + Solution Depth Compensation in Panel.MoveToTipHeight (uses FPFlate CurrentVolume) ' 2012-07-10 Version 03.04.0269 // # Focus and tab indices corrected for wizTipInstall and others ' 2012-07-09 Version 03.04.0268 // # OilLoad backlash volume preserved - Wasp was modifying the original, not the copy. ' 2012-07-03 Version 03.04.0267 // # OilLoad backlash volume preserved. Most maximum flow rates increased to 8 ul/s (except under oil). Hence maximum viscosity in XStep (40) gives loading speed of 0.2 ul/s. ' 2012-07-02 Version 03.04.0266 // + RTFForm for viewing version records and general formatted text. Pause dialog menu MCCInhibit synched with FPshell menu. ' 2012-06-27 Version 03.04.0265 // + XExecutor for XStep dispensing uses evaporation shield. ' 2012-06-25 Version 03.04.0264 // # XExecutor: Point at which reservoir dispensing tested for STOP and marked as partially dispensed swapped to avoid double dispensing on resume. ' 2012-06-21 Version 03.04.0263 // + Suppression of use of Z tip for stock plate dispensing. ' 2012-06-15 Version 03.04.0262 // + Comprehensive optimization algorithm for XStep execution. New scoring and sorting of solutions in XSolutionList. ' 2012-06-11 Version 03.04.0261 // + LoadOil command for Wasp; Splash screen copyright date changed to 2012. Morp flexdble deliver command (with TipToWell) ' 2012-05-29 Version 03.04.0260 // + TLHMethod broadened to cover TipHeight.Height(HType) & TipHeight.DispensingFactor(HType) access for full range of control. ' 2012-05-25 Version 03.04.0259 // + XStep stock plate dispensing. + Administrator menu on Pause dialog. ' 2012-05-18 Version 03.04.0258 // # MCCControl.MCCMove clears QueuedMoves BEFORE call to Skip, so Pause tip adjustments are not appended to original commands. BearingPillar.Visible = dbg. ' 2012-05-17 Version 03.04.0257 // ~ MCCControl.ExecuteMCCInstruction changed to loop structure to allow mutiple instructions per feedback line. ' 2012-05-14 Version 03.04.0256 // + Storing BearingPillar and HookMargin values in MCC ADJUST.DAT, rather than registry. ' 2012-04-27 Version 03.04.0255 // # Corrected timing error in ExecuteMCCInstructions that resulted in decoding TipInAir after SPOS when TipInAir issued first. ' 2012-04-20 Version 03.04.0254 // + (03.03.0224R) Better detection of MCC invalid motor positions to prevent syringe damage. + New class TChannelStates for restoring Channel settings after forced rezero ' 2012-04-18 Version 03.04.0253 // # wizReposition.PB_AfterFocus() call to WizCon.Deactivate causes event race. + TBore.AqueousChannel property for proper tracking of V tip state (set in wizTipInstall). ' 2012-04-18 Version 03.04.0252 // + Compiler switches: OldIngredients = 1: FrontPanelApp = 1: FeedbackDbg = 0: ShieldDbg = 0 : TimingDbg = 0 ' 2012-04-10 Version 03.04.0251 // + Recompiled with PLObjects Version 01.00.0051 - More clever EtoN move to allow shield to remain in Home position when TargetY is sufficiently less than HomeY ' 2012-04-05 Version 03.04.0250 // + Logging and warning of Rezero results in Rezero.log, Debug.log and Tip Adjustments.log.+ Improvements to Log File Viewer, including Copy to Clipboard ' 2012-04-03 Version 03.04.0249 // + Repeated Shield homing supressed. Optimized execution time with QueuedMove to MCCControl.MCCMove (risky - could be Pause/Stop/Resume problems) ' 2012-03-29 Version 03.04.0248 // + Generalized syntax for application generated Dialog command - accepts '[ (with \[ escape exception) ]', ';'' '\t', tab and comma separated button text lists. ' 2012-03-09 Version 03.04.0247 // + Move and Dialog suppression for faster debugging. + MoveToOpenTable command for Wasp - syntax: FrontPanelCommand "MoveToOpenTable [Z | V] [Distance]" ' 2012-03-05 Version 03.04.0246 // ~ Wasp Prompt Dialog : text box widened to cater for Windows TextLength() API fault evaluating Tabs. ' 2012-03-02 Version 03.04.0245 // + Recompiled with PlateLoaderObjects V.1.00.0050. (Reduced sensitivity of test to see if tip must be raised. Now tolerates +/- 0.02mm in X,Y ) ' 2012-02-28 Version 03.04.0244 // ~ Prevented intermediate raising of Z tip when dispensing reservoirs (2D Grid). #Prevented roller crashing into pillar on PlateLoader Home. ' 2012-02-21 Version 03.04.0243 // ~ Recompiled with HView additions to Functions.bas ' 2012-02-17 Version 03.04.0242 // + Wait form for FTP transfer of AutoDump ' 2012-02-14 Version 03.04.0241 // + FTP transfer of AutoDump data to www.douglas.co.uk/web/f_ftp1/Diagnostics/Users/Dumps using FTP_VB6.dll ' 2012-02-07 Version 03.04.0240 // + Vastly improved MCC reconnection algorithm. ' 2012-02-06 Version 03.04.0239 // + AutoDumpLogs.zip on File menu ' 2012-01-25 Version 03.04.0238 // + Recompiled with PlateLoaderObjects V.1.00.0049. (Reduced sensitivity of test to see if a shield movement is really required. Now tolerates +/- 0.02mm in Y ) ' 2012-01-24 Version 03.04.0237 // + (03.03.0219R) Menu rearranged slightly (Calibrate Plate) + File.Display Terminal. Enhanced MCCControl.SendCommmand( ...., "@") control channel. ' 2012-01-24 Version 03.04.0236 // # (03.03.0218R) MCCControl.XYGoto - fixed bug driving both arms down due to not testing Z validity on return from FindClearancesForMove ' 2012-01-24 Version 03.04.0235 // ~ (03.03.0217R) Improved MoveToOpenTable for manual solution loading. (for Nano) ' 2012-01-24 Version 03.04.0234 // # (03.03.0215R) Oil Dumping rather than Solution Recovery when clicking on oil channel ' 2012-01-24 Version 03.04.0233 // + (03.03.0212R) wizInstallation TestAxes (fancy version) ' 2012-01-24 Version 03.04.0232 // + (03.03.0207R) Extra debug reporting for ZVGoto ' 2012-01-24 Version 03.04.0231 // + (03.03.0205R) Changed SendCommand timeout control - tolerates up to 30 seconds of no response from MCC, but reports cases taking longer than 5 seconds ' 2012-01-24 Version 03.04.0230 // # (03.03.0204R) Fix to CalibratePlate - "Cancel" dialog was losing position -> added Boolean Lowered=false to Nudge.Run argument list ' 2011-12-23 Version 03.04.0229 // + (03.03.0216R) Clever TestAxes for old XYZV and Nano ' 2011-12-23 Version 03.04.0228 // + (03.03.0197R) Refactoring of AlignArm into PlateLoader.frm, to remove multiple definitions of eg AlignToDowel ' 2011-12-22 Version 03.04.0227 // ~ Homes the plateloader before asking for shield to be attached, avoiding the need for user to hook roller style shields into the slot. ' 2011-12-21 Version 03.04.0226 // # Tip offsets and plate corrections now applied to shield positioning movements to avoid the double XY positioning inefficiency. ' 2011-12-20 Version 03.04.0225 // ~ Calls to rezero X or Y axes now request removal of shield. ' 2011-12-15 Version 03.04.0224 // ~ Compiled with PlateLoaderObjects Version 01.00.0048 FPShield was inhibiting raising of tip between wells. ' 2011-09-12 Version 03.04.0223 // ~ Compiled with PlateLoaderObjects Version 01.00.0047 Prevent some unecessary Y adjustments to the shield, and use Centroid calcs only for TipOperated shield. ' 2011-06-23 Version 03.04.0222 // # (03.214R/03.0206R) Manual solution loading re-enabled for XStep ' 2011-06-23 Version 03.04.0221 // # (03.211/213R) Shield.HookHeight used in FindClearancesForMove./ Max speed ensured in Debubble ' 2011-06-23 Version 03.04.0220 // # (03.209/210R) wizReposition.317 forced B.Syringe.SpeedChanged = True (Oil Channel slow?)/wizPrepare fully disabled. ' 2011-06-20 Version 03.04.0219 // # Large Volume Dispensing: STOP trapped properly . Solution dumped correctly. ' 2011-05-25 Version 03.04.0218 // ~ Recompiled with PlateloaderObjects Version 01.00.0046 (~ E-N-D Region analysis for safe hooking.) and TestAxes option in wizInstall ' 2011-05-18 Version 03.04.0217 // # [Accept] button was being enabled when not lowered. ' 2011-04-18 Version 03.04.0216 // ~ FPShield bearing pillar dimensions adjusted. ' 2011-04-15 Version 03.04.0215 // + Registry entry "Hardware\Evaporation Shield\"+Type="RollerOperated" or "TipOperated" for Wasp to decide on oiling possible ' 2011-04-07 Version 03.04.0214 // + FPShield reworked to do collision avoidance for new Universal roller shield (PlateLoaderObjects V.1.000.0043) ' 2010-12-10 Version 03.04.0213 // # RefreshOilCoordinates : LHControls.SaveToFile call, not OilControl.SaveToFile ' 2010-12-06 Version 03.04.0212 // - Removed obsolete Forth words. ' 2010-12-06 Version 03.04.0211 // # Responds correctly to "Shield REMOVE" command from Wasp. ' 2010-11-30 Version 03.04.0210 // ~ Resizing prevented when not minimized; mouse menu mapped to OilLoad/Dump on Oil channel ' 2010-11-29 Version 03.04.0209 // + (03.03.0198R) MCC Diagnostics on menu; repositioning of Help label in wizXXX; SweepV for Deliver ' 2010-11-17 Version 03.04.0208 // ~ (03.03.0200R) Default delays for home timeout and power-down changed to 5 mins and 2 mins respectively ' 2010-10-21 Version 03.04.0207 // + (03.03.0196R) Reading of XYZ.Variant from MCC to cater for new Nano dowel position. ' 2010-09-07 Version 03.04.0206 // ~ (03.03.0195R) Nudge - disable Accept and Cancel buttons whilst moving. ' 2010-08-09 Version 03.04.0205 // # Typo corrected in ChannelListEdit.mnuAddAlias (Calling AliasEdit.Run twice) ' 2010-08-07 Version 03.04.0204 // # Channels().xml now corrected if discrepancies with Hardware.fth ' 2010-08-06 Version 03.04.0203 // + Process priority raised to HIGH_PRIORITY_CLASS, to halve ChanApplication latency to 50ms. ' Outstanding V.23 fixes ' 2010-11-02 Version 03.03.0199R // # Fix to tile when minimized.??? Was this done?? ' ===================================================== Version 24 =============================================================== ' 2010-06-30 Version 03.04.0202 // # (03.03.0194R) Nudge.ShowOffset - Index v. MotorIndex. ' 2010-06-30 Version 03.04.0201 // # (03.03.0193R) Correction to Raise/Lower height calculation in Nudge form for Arm/Table alignment ' 2010-05-08 Version 03.04.0200 // + Version 23.96.0190R-0192R corrections and improvements entered. Fast Ctrl-Close. Redating of files downloaded from MCC. ' 2010-04-14 Version 03.04.0199 // + XDispensingParameters.UseXstepSettings, for old .xdb compatibility ' 2010-04-12 Version 03.04.0198 // + TTransferDropparameters.CalculateTransferCoordinates plate correction (using LocalX/Y) ' 2010-04-12 Version 03.04.0197 // # PlateLoader.GetTargetCoordinates correction to plate correction (use LocalX/Y) ' 2010-04-08 Version 03.04.0196 // ~ Changes to LargeVolume rinsing/dispensing/loading heights+speeds ' 2010-04-03 Version 03.04.0195 // + Renaming tOilSpec to TLHControl, TLHControlList, OilSpec.xml file replaced by LHControlList.xml ' 2010-03-31 Version 03.04.0194 // ~ Improvements to Large Volume rinsing and dumping. Panel.DumpSolution, Panel.RinseLargeVolume ' 2010-03-26 Version 03.04.0193 // + Manual pipetting of reservoirs for XStep ' 2010-03-21 Version 03.04.0192 // + Large Volume Dispensing for XStep using Gilson tip. ' 2010-03-17 Version 03.04.0191 // + MCC File Manager (Download and view, only) ' 2010-01-29 Version 03.04.0190 // ~ Full speed assertion for USDs in wizDebubble ammended to reprime Syringe.SetSpeed DataChanged bit, for safety. ' 2010-01-28 Version 03.04.0189 // + ScriptName application command, allows FP to use different algorithms, depending on how advanced the Wasp script is. ' 2010-01-21 Version 03.04.0188 // + PlateEditor now retains ShelfDepth, so TransferDrop now uses ShelfHeight. Also OilDrop. ' 2010-01-18 Version 03.04.0187 // ~ Splash screen updated to 2010. +Waste bottle prompt, when no plates. #Anomalous well highlighting delay in Align Tip in Well. ' Version 23.99 above ' 2010-06-25 Version 03.03.0194R // # Nudge.ShowOffset - Index v. MotorIndex ' 2010-06-22 Version 03.03.0193R // # Correction to Raise/Lower height calculation in Nudge form for Arm/Table alignment ' 2010-05-07 Version 03.03.0192R // + Suppression of all menu items when executing/wizard. F1 trapping on all wizards for help. Enhancement of automatic clearance calculations ' 2010-04-19 Version 03.03.0191R // + Logging of all tip installations, plate calibrations and Arm/Table alignments in TipAdustments.log. ' 2010-04-18 Version 03.03.0190R // ~ wizPlateCorrect general improvements, including retaining current measurements when *RE*calibrating. ' 2010-03-01 Version 03.03.0189R // ~ TransferDropParameters.OutputString : extra 1mm added to ShelfClearance ' 2010-02-17 Version 03.03.0188R // + wizTipInstall Suppressed double call of "MCCControl.GoHome msZV" command on case wzFinish. ' 2010-02-13 Version 03.03.0187R // + Intermediate remake to solve Syngenta problems. Based on .0188, but without TipOnRHS and ShelfHeight mods. ' Version 23.96/23.99 bifurcation ' 2009-12-07 Version 03.03.0186 // + Store LHS and RHS tip offsets independantly. ' 2009-12-02 Version 03.03.0185 // ~ wizPlateCorrect and wizTipTest now deal with plates to the right of Plate 1, and sets default subwell to smallest. +Plateloader rezeroes before all Calibration procedures. ' 2009-10-26 Version 03.03.0184 // ~ wizInstallation: Reordering of FindIndexPositions/TestAxes; wizPlateCorrect allows different plates, and traps inappropriate ones. ' 2009-10-06 Version 03.03.0183 // # Oil offset bug fixed : TWaspArray.WriteToDB/ReadFromDB now saving/restoring Offset.X,Y,Z ' 2009-10-01 Version 03.03.0182 // + Array form shows array (X,Y,Z) offsets. ' 2009-09-29 Version 03.03.0181 // # Stop on bad decimal separator, prevention of second instance. ' 2009-09-16 Version 03.03.0180 // # Fix to TransferDropCommand - TransferDP.DestinationArray was having its origin moved. ' 2009-09-15 Version 03.03.0179 // + SetTransferDropZ in TransferDrop to adjust height for Plate Correction. ' 2009-09-13 Version 03.03.0178 // ~ Suppressed warnings when X, Y, Z offsets exceed limits in Nudge form ' 2009-09-13 Version 03.03.0177 // + CalibrationPoints form to allow variation of coordinates (saved to registry) for 4-point plateloader calibration. Coordinate->TCoordinate globally ' 2009-09-12 Version 03.03.0176 // # Redefining oil channel as required, when previous experiment has used Gilson tip for aqueous solution. ' 2009-09-11 Version 03.03.0175 // # Menu disabling at startup, and complete disabling for wizards activated by non-LH menus. Repositioning of tip immediately after tip adjust in Pause dialog ' 2009-09-10 Version 03.03.0174 // # wizTipTest - check on subwell selection, after plate has been changed. ' 2009-09-08 Version 03.03.0173 // # Nudge.Run when used by old wizAlign - offset should NOT be subtracted from target position in case statement. ' 2009-08-26 Version 03.03.0172 // # wizTipTest fix when moving Z arm away from plate to allow plate change (Uses PlateloaderObjects Version 01.00.0043) ' 2009-08-19 Version 03.03.0171 // ~ Fixes to PlateLoader.MovementStrings, to correct errant evaporation shield movements. ' 2009-08-17 Version 03.03.0170 // + Path logging and 3-D viewer ' 2009-08-10 Version 03.03.0169 // + 4-Point correction added to Installation wizard. Fixes to Oiling (uses V axis again). SaveAdjustData command sent to MCC. ' 2009-07-10 Version 03.03.0168 // + Ability to do XYZV polynomial position correction. GotoXYZ enhanced to optionally not use tip offsets. ' 2009-07-10 Version 03.03.0167 // + Menus rearranged, Help extended to include Manual, and Installation wizard added. TestAxis improved significantly. ' 2009-06-27 Version 03.03.0166 // # MCCControl.ZVGoto - correction to vSlow Height to include tip offset ' 2009-06-27 Version 03.03.0165 // # Multibore.Flush - B.Flush "Water", 0 used for water flush, to show correct solution on grid. ' 2009-06-20 Version 03.03.0164 // + Debug reporting of anomalous VSlowUp heights and speeds. ' 2009-06-05 Version 03.03.0163 // + NextDebubbleCheckTime. DebubbleExtendedHours no longer used. ' 2009-04-23 Version 03.03.0162 // # wizDebubble : DebubbleExtendedHours set to zero when inheriting values > 168 hours, and when doing a debubble. ' 2009-03-17 Version 03.03.0161 // # MCCControl.XYGoto : LastWellArray.Vslow was being used by wrong arm when controlling tip raising speed. eg V speed being used for Z when doing TransferDrop after oiling. ' 2009-02-28 Version 03.03.0160 // # TTransferDropParameters.DischargeVolume now set in SetArrayData ' 2009-02-24 Version 03.03.0159 // # Shield crashing fixed with PlateloaderObjects Version 01.00.0041 + FPShield.Stategy, and extrended ShieldParameters dialog. ' 2009-02-20 Version 03.03.0158 // # VBJET bug resurfaced - Sometimes Arrays(PreciousLoad+RinseDip) not being read, having just been written to DB, even though Access can see them . Fix?: TWaspArrayList.WriteToDB writes twice. ' 2009-02-18 Version 03.03.0157 // + TransferDrop - SetTransferVz added to OutputString. (to slow raising out of reservoir). ' 2009-02-17 Version 03.03.0156 // ~ TransferDrop - jerk removed after nudgeless tip adjust. ' 2009-02-16 Version 03.03.0155 // ~ Tip Editor improved (more buttons, color picking, warning on not saving, message to say "Restart FP" and bug fix in bore renaming) ' 2009-01-30 Version 03.03.0154 // # FPShell Insert and Eject arms controls LHMenu state correctly. ' 2009-01-14 Version 03.03.0153 // # FPShell.ReturnPlateloader was not sending Raise=False in call to ZVGotoEx on returning tip to experiment interrupted position. (eg after Tip Adjust) ' 2008-12-22 Version 03.03.0152 // # FPShell.TransferDropCommand - updates PlateLoader.LastWellArray to TransferDP.Destination for single drop, to get correct Vz/VslowHeights when leaving drop. ' 2008-12-21 Version 03.03.0151 // ~ Changed to ALWAYS flush StockFlushed channels with water on lower valve (particularly for XStep) ' 2008-12-17 Version 03.03.0150 // + wizPlateCorrect, TPlateCorrectionList, TCorrectionList, TCorrectionRecord, alterations to MoveToArrayWell etc to use corrections. Nudge Up/Down slowed. ~TransferDrop calculates Sweep from Array. ' 2008-11-05 Version 03.03.0149 // + wizTipInstall : use LargeVolume property of 1st bore rather than Count in sorting which arm a tip is associated with, for UGA doubled up sytem compatibility ' 2008-09-03 Version 03.03.0148 // + Debugging code inserted into FPGlobal.Main to find error 481 caused by Windows updates (Mark van de Woerd) ' 2008-08-25 Version 03.03.0147 // # The additional AxisRezero calls introduced in 03.03.0142 were disabling the PowerDown timer. ' 2008-07-08 Version 03.03.0146 // # Correction to PlateLoader.ClearArrays, when no entries in database. ' 2008-06-27 Version 03.03.0145 // + Even more debugging information for UGA specific problem ' 2008-06-26 Version 03.03.0144 // + Debug Step-by-Step mode, and special UserProblem1/2 debug keys. ' 2008-06-25 Version 03.03.0143 // # ArrayList cleared when Wasp sets experiment. PlateLoader.Cleararrays now clears database tables Arrays and ArrayProperties as well. ' 2008-06-17 Version 03.03.0142 // + MCCControl now rezeros X/Y immediately after Home if X and Y now both in HOME position. ' 2008-06-17 Version 03.03.0141 // ~ XStep Execution - if 0ul of precious material required, loading suppressed totally. ' 2008-06-17 Version 03.03.0140 // ~ Plateloader automatic HOME on timeout disabled after Eject Arms. ' 2008-06-17 Version 03.03.0139 // + Loading from stage - (1/viscosity) of channel * bore maximum flow rate used to determine loading rate. Bore flow rates increased to 10ul - 30ul/s in 7-bore...2-bore tips. ' 2008-06-16 Version 03.03.0138 // + Stirring added to TransferDropCommand ' 2008-06-14 Version 03.03.0137 // # TWaspArray - corrections to .Copy, WriteToDb and ReadFromDB to include stirring information. ' 2008-06-09 Version 03.03.0136 // # FPShell.LoadExperiment now DOES load Plate+Array data, and hides any destination plates, to allow flushing when just starting FP solo. ' 2008-06-09 Version 03.03.0135 // # wizReposition for Nano - attempted flushing of lower valves with air now skipped. ' 2008-04-18 Version 03.03.0134 // ~ FPShell.Acknowledge Slight rearrangement of chanApplication reply and clearing of txtCommand and Sys.ApplicationService to prevent race condition with Wasp, when CPU heavily loaded. ' 2008-04-16 Version 03.03.0133 // # FPShell.TipToWell call to ArmGoto typo corrected . Uncorrected was being defined true because of missing default ',' ' 2008-03-27 Version 03.03.0132 // + Debug logging of call to ClipToPlates in wizReposition.Finish, to try and find transient error causing plate objects to hatch when running Microbatch Fast Microbatch. ' 2008-03-06 Version 03.03.0131 // # Application command during Wizard now returns busy again. Cleaned and emptied bores marked as Clean, to prevent multiple clean/empty attempts. ' 2008-03-06 Version 03.03.0130 // # XExecutor : XStep new solutions now loaded into PendingSolutionProperties, even when RecoverPreciousSolutions is cancelled. ' 2008-03-05 Version 03.03.0129 // # wizReposition : solution syringes shown for StockFlush operation. (Used to show air syringes, because ShowFlushing interlock logic failing due to focus problems) ' 2008-03-04 Version 03.03.0128 // # Popup menus reverted to VB, because of Vista problems on some machines. ' 2008-02-18 Version 03.03.0127 // + Better Cancel trapping of shield attach/remove responses. ' 2008-02-18 Version 03.03.0126 // # wizReposition : special case when all channels precious, but already flushed, but need moving to 0 : WaterFlushBits now includes RepositionRequired bits. ' 2008-02-15 Version 03.03.0125 // # Fixed bad plate display, when cancelling instruction to remove shield. FPShell.Acknowledge generalised to handle errors. ErrorAcknowledge removed. ' 2008-02-15 Version 03.03.0124 // ~ wizReposition : top valve water flushing diagrams/sequence corrected. ' 2008-02-08 Version 03.03.0123 // + Message for positioning of Evaporation Shield. Recompiled with PlateLoaderObjects Version 01.00.0040 ' 2008-02-08 Version 03.03.0122 // ~ Recompiled with PlateLoaderObjetcs Version 01.00.0039 ' 2008-01-16 Version 03.03.0121 // # RinseDip now offsets correctly when Rinse_1/Rinse_2 arrays defined. ' 2008-01-14 Version 03.03.0120 // ~ 2008 Splash Screen incorporated. ' 2008-01-14 Version 03.03.0119 // # "Oil" registered as bore solution in OilLoad. Recompiled with XStep alterations to XSolution/XSolutionList to account for Oryx6. ' 2008-01-14 Version 03.03.0118 // + wizTipTest takes additional switch "/CENTER" for setting default alignment well. ' 2008-01-09 Version 03.03.0117 // ~ Just raise arms after Tip Position Test, rather than returning PlateLoader Home. ' 2008-01-09 Version 03.03.0116 // # PlateLoader.SaveTipOffsets warning on >2mm : Conditional compilation dependant on #FrontPanelApp not taking place. Conditional expressions removed. ' 2008-01-09 Version 03.03.0115 // # [Cancel] button trapping on Splash screen fixed not to generate spurious error messages. ' 2008-01-08 Version 03.03.0114 // # Jumping of Z tip after adjustment of position in Pause dialog during TransferDrop sorted out. ' 2008-01-06 Version 03.03.0113 // + Automatic updating of MCC, if MCCWarn enabled, and version difference. (previously just warning) ' 2008-01-02 Version 03.03.0112 // ~ wizReposition : updated for Nano. ' 2007-12-31 Version 03.03.0111 // ~ wizReposition : improvement to valve indications in the case of flushing at end of XStep experiment. ' 2007-12-31 Version 03.03.0110 // # wizReposition was requiring 2 clicks on Flush Solution button - corrected fault with order of WizCon.Reactivate and WizCon.SelectButton. ' 2007-12-28 Version 03.03.0109 // + wizReposition completely revamped with complete analysis of flushing/repositioning requirements and new syringe animated gifs. ' 2007-12-18 Version 03.03.0108 // ~ MAXIMUM_DISCARD_VOLUME = 1# ' Changed from 0.4 by discussion 2007-12-18 ' 2007-12-12 Version 03.03.0107 // # FindClearancesForMove correction to use current TIP heights rather than current absolute heights to stop successive tip raising/lowering when no move required. ' 2007-12-07 Version 03.03.0106 // ~ Recompiled to use XStep changes to XSolution, XSolutionList etc. ' 2007-11-08 Version 03.03.0105 // # Resizing fault corrected - occurred when attempting to impose original form size (from registry) at startup, and user managed to click FPShell.[Maximize] before reacing this point. ' 2007-11-02 Version 03.03.0104 // + Panel.LoadFromPlate : Uses Syringe.Viscosity to limit loading speed. ' 2007-11-02 Version 03.03.0103 // # wizReposition : Small correction to valve turning diagrams when flushing stock solutions. ' 2007-11-02 Version 03.03.0102 // # Various calls to ArmGoto were not using revised/reordered parameter list. Also MCCControl.ArmGoto substitutes speed of 0 with speed of 5. ' 2007-10-29 Version 03.03.0101 // ~ XExecutor fixes for Nano XStep dispensing - water volume calculation used properly to determine flushing/valve setting. ' 2007-10-23 Version 03.03.0100 // + Dispenses XStep 3 and 4 channel experiments for Oryx4 and Nano - currently relies on user setting Precious correctly for tip loading - needs new technique for loading from bottles. ' 2007-10-22 Version 03.03.0099 // + PlateLoader.LastWellArray for retaining slow heights and speeds for tips leaving wells. +MCCControl ZVGoTo takes additional optional parameter Raise; now calls new MCC function ZVGotoEx ' 2007-10-16 Version 03.03.0098 // # TTransferDropParameters.CalculateTransferCoordinates - typo - was using mSourcePlate rather than mDestinationPlate for wellZ calculation ' 2007-10-16 Version 03.03.0097 // # PlateLoader.FindClearancesForMove tests Lid.CurrentCleance, and calculates temporary value if not already set. ' 2007-10-09 Version 03.03.0096 // # PlateLoader.SaveTipOffsets added TransferDP.MCCUpdated = False to ensure updating of MCC. ' 2007-10-05 Version 03.03.0095 // # Recompiled with PlateLoaderObjects Version 01.00.0038 // # FPShield.EngagePin correction Z,V indices mixed up in clearance calculation. ' 2007-10-05 Version 03.03.0094 // # Recompiled with PlateLoaderObjects Version 01.00.0037 typo in using Max(MOVE_RAISE+..)) ' 2007-10-04 Version 03.03.0093 // # Recompiled with PlateLoaderObjects Version 01.00.0036 (Nano shield not raising tip out of bottle due to miscalc of minimum) ' 2007-10-04 Version 03.03.0092 // # fix to MCCControl.ArmGoto calls everywhere - UseCorrected was not being specified, and SlowVz was substituting boolean. ' 2007-10-04 Version 03.03.0091 // ~ wizRecover wording changed to HANDHELD tube/PlateLoader Location. wizReposition flushes all StockFlushed channels, regardless of viscosity. ' 2007-10-02 Version 03.03.0090 // ~ Recompiled with PlateLoaderObjects Version 01.00.0035 // FPCompoundWell enhancements for XStep ' 2007-09-26 Version 03.03.0089 // ~ Recompiled with PlateLoaderObjects Version 1.00.0033 (FPCompoundWell # Correction to default well color rendering.) ' 2007-09-20 Version 03.03.0088 // ~ Recompiled with PlateLoaderObjects Version 1.00.0032 (nicer FPCompoundWell for XStep). ForceFore.bas integerated into WindowsFunctions.bas, and removed from project. ' 2007-09-14 Version 03.03.0087 // # FindClearancesForMove invoked for all shield moves; FPShield calls changed to accept ZMin and VMin heights for guaranteed clearance. ' 2007-09-13 Version 03.03.0086 // # FindClearancesForMove invoked in PlateLoader.LidExposeText(). Also, FindClearancesForMove now uses Lid.CurrentClearance for PNo=0 ' 2007-09-12 Version 03.03.0085 // # Debubble checking moved to BEFORE any repositioning calculation for XStep dispensing. -ve water volume checking in XSolution.RecalculateWater. ' 2007-09-11 Version 03.03.0084 // # Sign corrected for allowance in overcapacity calculation for XStep dispensing. ' 2007-09-11 Version 03.03.0083 // ~ Plateloader.SetEvaporationShield now converts "Default" to real shield name before comparing with current shield, and prompting for replacement. ' 2007-09-11 Version 03.03.0082 // ~ wizRecover - ensures that the same well is not used repeatedly by default. ' 2007-09-10 Version 03.03.0081 // # Chassis.Tip(1).InAir calls failing for Nano, as Tip(1)=Nothing. Replaced by new Chassis.TipsInAir property. ' 2007-08-30 Version 03.03.0080 // ~ Debubbling smallest volume limits increased from 1 to 16 * Syringe().Resolution. Nudge form suppresses PgUp/PgDn when in [Raised] position. ' 2007-08-24 Version 03.03.0079 // ~ Improved and more efficient SyringeProperties form (TipStatus). No flickering/freezing while refreshing. ' 2007-08-24 Version 03.03.0078 // + wizTipInstall now interprets switch /FINISH in command line. ' 2007-08-23 Version 03.03.0077 // ~ TTransferdropParameters.CalculateTransferCoordinates ammended to calculate nonzero rinse offset, when source and destination on separate plates. ' 2007-08-23 Version 03.03.0076 // ~ Panel.Debubble logic altered marginally to guaranty that all checked channels get marked as debubbled, regardless of movement. ' 2007-08-23 Version 03.03.0075 // + wizReposition demands that ALL valves be set to DISPENSE position, regardles of whether a tip is attached to any particular channel. ' 2007-08-23 Version 03.03.0074 // + Debubble "snooze" now has memory : DebubbleExtendedHours maintained in Registry. ' 2007-08-22 Version 03.03.0073 // # XStockSolutionList now calls Recalculate at end of ReadFromDB - sets mIngredientBits ' 2007-08-22 Version 03.03.0072 // # TBore.Viscosity corrections - in line with using Syringe.Viscosity for buffer of viscosity value after LoadSolutionsFromDB, Let TBore.Viscosity no longer sets Syringe.Viscosity. ' 2007-08-22 Version 03.03.0071 // # MoreSolutionRequired sets WATER_FLUSH_REQUIRED if setting STOCK_FLUSH_REQUIRED, or if B.VolumeValid=false. This trapped by XExecutor.Run to cause reloading of solution for XStep. ' 2007-08-22 Version 03.03.0070 // # Water calculation corrected when some ingredients deselected. XSolution.RecalculateWater takes bit pattern of selected ingredients, supplied from XStockSolutionList. + XStockSolutionList.IngredientBits as Long ' 2007-08-21 Version 03.03.0069 // # Panel.ExecuteDroplet - Stock solution viscosity used, as opposed to Syringe().Viscosity, to calculate syringe flow rate. Implies that ExecuteSmallVolumes is not setting up viscosities correctly any more. ' 2007-08-21 Version 03.03.0068 // # MCCControl.XYGoto calls PlateLoader.FindClearancesForMove+ZVGoto (after possibly moving shield), to avoid V axis hitting bottles/high plates. ' 2007-08-20 Version 03.03.0067 // # Pause.Run : TransferDP.MCCUpdate NOT set false if only an "instant offset adjustment" has been performed. (wizTipTest DOES nullify TransferDP.MCCCupdate) ' 2007-08-20 Version 03.03.0066 // ~ wizDebubble.CheckIfnecessary forces foreground window if debubbling recommended. ' 2007-08-17 Version 03.03.0065 // + wizRecover extra msgBox inserted to ask user to remove tube after recovering precious to handheld tube. ' 2007-08-17 Version 03.03.0064 // ~ FPShell startup position set to manual (was center screen) so that ForceForegroundWindow call does NOT centre FP ' 2007-08-07 Version 03.03.0063 // ~ Changes to LoadSolutionsFromDB, and TBore.Flush such that bore viscosities (and solution names) are only applied after StockFlush operation. Hence original viscosities used to determine flushing sequence. ' 2007-08-07 Version 03.03.0062 // + PlateLoader.GetRinseArray/GetOilArray/GetRinseDipArray/GetWasteDumpArray and testing properties RinseValid/RinseDipValid etc to prevent flushing/dumping when no arrays defined. ' 2007-08-07 Version 03.03.0061 // # STOP button trapping in XStep ExecuteSheet improved. MCCControl.SyringeMove now returns true if move not interrupted. ' 2007-08-06 Version 03.03.0060 // + PlateLoader.ClearPlates now requests removal of shield, if present. ' 2007-08-06 Version 03.03.0059 // + XStep flushing procedure now includes water flushing via lower valve for viscous channels. ' 2007-08-02 Version 03.03.0058 // ~ ShieldSpecify now restores original (or no) shield if [Cancel] is clicked. ' 2007-08-02 Version 03.03.0057 // ~ QueryCollets restricted to asking if 5-bore short available ONLY for 6 channel systems. (used to deal with 5-bore for Oryx8). ' 2007-08-02 Version 03.03.0056 // + MCCControl : Form tidied up, frames removed. Annotation of actions restored. MCCMove disables LHMenu, to prevent mouse clicking of plates. ' 2007-08-01 Version 03.03.0055 // + Panel.ExecuteSmallVolumes calls PlateLoader.ClipToPlates to enlarge plateloader image during XStep dispensing. ' 2007-08-01 Version 03.03.0054 // + Snooze extra 8 hours when choosing NOT to debubble at prompt. ' 2007-08-01 Version 03.03.0053 // + MCCControl.QuerySTOPState to allow consistent handling of [STOP] during moves and delays. (XStep pause problem) ' 2007-07-31 Version 03.03.0052 // ~ TransferDropParameters.SetArrayDetails: Current well location X,Y within array used to calculate offsets. If plates are different, then clearance set to maximum of plate heihgts. ' 2007-07-31 Version 03.03.0051 // + WaspArray data saved to database. ' 2007-07-30 Version 03.03.0050 // + ArrayData layout improved, to debug problem with syringe speeds. ' 2007-07-30 Version 03.03.0049 // # MCCControl.MoveToLocation now calls ExecuteMovementStrings("Repositioning Evaporation Shield", PlateLoader.LidExposeText(Location)). ' 2007-07-19 Version 03.03.0048 // ~ Recompiled for PlateloaderObjects.ocx Version 1.00.0028 (FillArray fix). ' 2007-07-13 Version 03.03.0047 // + Panel.LoadSolutions calls wizRecover if precious solutions are going to be lost. ' 2007-07-12 Version 03.03.0046 // ~ Recompiled for PlateloaderObjects.ocx Version 1.00.0027 ' 2007-07-06 Version 03.03.0045 // + Automatic shield selection, according to system type. Corrections to SetArrayProperty ' 2007-06-27 Version 03.03.0044 // ~ Removed automatic deletion of arrays, when using same wells as new one. ' 2007-06-27 Version 03.03.0043 // + AllArrayForm ' 2007-06-27 Version 03.03.0042 // + Changes to TipStatus form modeless, to show InAir, and refresh every 500 ms ' 2007-06-26 Version 03.03.0041 // + TMultiboreTip.InAir, TBore.Tip members together with ExecuteMCCInstruction TipZ Up/Down for correctly tracking air moves. ' 2007-06-25 Version 03.03.0040 // ~ TransferDrop altered to stop over source well if not doing dispensing with protein. ' 2007-06-25 Version 03.03.0039 // + TransferDrop moved to FPShell, and udated in same way as new dispense command, to accept Col, Row and perform complete operation. ' 2007-06-22 Version 03.03.0038 // + Dispense, DispenseCommand for higher level execution of Wasp commands. ' 2007-06-22 Version 03.03.0037 // + PlateLoader.GetTargetCoordinates/MCCControl.MoveToLocation suppresses vertical (clearance) move if within 1mm of last X, Y position. ' 2007-06-21 Version 03.03.0036 // + TTransferDropParameters.SetArrayData to allow TransferDrop between different plates, or differently positioned arrays on same plate. ' 2007-06-21 Version 03.03.0035 // + Wasp TipToWell, SetArrayProperty commands for high level positioning, and optimized delay reduction. Also Stamped altered to add time since FP start, in milliseconds. ' 2007-06-16 Version 03.03.0034 // + WindowsFunctions::FindWindowList, FindFirstWindow, LaunchApplication. Now launches single copies of XStep and WaspRun. Small changes to menu and SyringeRezero annotation. ' 2007-06-11 Version 03.03.0033 // + cf V.22 Version 03.02.0077 OilLip fixed for 4 or 8 channel. New properties MCCControl.OilSyr and MCCControl.OilAxis which conditionally update MCC default values. ' 2007-06-11 Version 03.03.0032 // # cf V.22 Version 03.02.0076 GotoXYZForm.UpdatePositions to reload form with current TIP positions (not absolute positions) at end of each move. ' 2007-05-31 Version 03.03.0031 // ~ Recompiled with PlateLoaderObjects V. 1.00.0024 ' 2007-04-17 Version 03.03.0030 // ~ wizReposition RinseDip called only AFTER valves have been repositioned to dispense position. ' 2007-04-16 Version 03.03.0029 // # Panel.RinseDip made to raise both arms before moving to rinse well. ' 2007-04-13 Version 03.03.0028 // # QueryCollet check moved in Main, so as not to overlap with forced Rezero (timDispatch event while modal form showing) ' 2007-04-12 Version 03.03.0027 // + TWizardController : improved instruction display, including flashing and bold. wizReposition : improved instructions. ' 2007-04-10 Version 03.03.0026 // + Panel.RinseDip looks for "Rinse_1" and "Rinse_2" in addition to "Rinse" array, for JS script compatibility. ' 2007-04-10 Version 03.03.0025 // ~ SyringeRezeroSmall.gif looping/delays altered. ' 2007-04-06 Version 03.03.0024 // # .exe wouldn't run - shut down immediately on starting up. // + DebugMsg. Changing compiler options to ' 2007-04-05 Version 03.03.0023 // + RezeroDiagram ' 2007-04-05 Version 03.03.0022 // ~ EditShield aesthetic improvements for XP. ' 2007-04-04 Version 03.03.0021 // + Prompting on all manual operations involving precious solution loading/recovery. ' 2007-04-04 Version 03.03.0020 // + FPGlobal.FrontPanelApp=-1 for conditional compilation (PlateLoader form removed from XStep) ' 2007-04-03 Version 03.03.0019 // + wizRezero : SyringeRezero reworked in Forth, and STOP activated by feedback from MCC. ' 2007-03-29 Version 03.03.0018 // + Collet diagrams and querying, // + FiveBoreShortCollet global boolean. ' 2007-03-29 Version 03.03.0017 // ~ Updated splash screen - Oryx8/4/Nano labelling changed. ' 2007-03-28 Version 03.03.0016 // + wizTipTest.SetDefaultAlignmentWell now intelligent ' 2007-03-27 Version 03.03.0015 // + TPlateLoaderPosition.WellLocation for restoring highlit well. // ~ Plateloader.GetCurrentWellLocation changed to Property Get CurrentWellLocation ' 2007-03-27 Version 03.03.0014 // ~ Remaining controls not showing correctly with XP themes have been mounted in Picture boxes. ' 2007-03-27 Version 03.03.0013 // + MCCControl.SendCommand performs comms (originally in Skip). // + PlateLoader.PositionStack replaces Command stacking for Pause/Stop/Action at any time. ' 2007-03-23 Version 03.03.0012 // # SupplyPlate sniffs out the Protein_Strip/RinseBlock combination, and modifies PlateStateRequest accordingly, so appears to be single plate. ' 2007-03-23 Version 03.03.0011 // # SupplyPlate.Left not limited to >=0, but to >= MainForm.Left ' 2007-03-23 Version 03.03.0010 // ~ Valve turning sequences and highlighting modified using FPValve.AlwaysHighLight=false, except in checking cases. ' 2007-03-23 Version 03.03.0009 // + Debubble instigated by Now()-Channel.TimeLastDebubbled > DebubbleHours (registry setting, default = 10 hrs) ' 2007-03-22 Version 03.03.0008 // + Panel.RinseDip - called at various points, including wizReposition after flush. ' 2007-03-22 Version 03.03.0007 // + Closing Front Panel invokes Flush, which in turn invokes wizRecover if precious solutions loaded. ' 2007-03-21 Version 03.03.0006 // + wizInstallTip clears tip offsets when a new tip is installed. (Only offsets for the changed tip) ' 2007-03-21 Version 03.03.0005 // + Flush invokes wizRecover when precious solutions still loaded. ' 2007-03-13 Version 03.03.0004 // !! wizRecover - workaraound for misbehaving radiobuttons Method(), which was arbitrarily setting either radio button on setting Enabled=false ' 2007-03-13 Version 03.03.0003 // ~ PlateLoader - improved resizing, to show Tip() objects correctly. ClipToPlates, SetVisibleArea use TableWidth, TableHeight for correct Nano display ' 2007-03-13 Version 03.03.0002 // + wizRecover automatic selection of Plate/Tube according to original loading conditions ' 2007-03-06 Version 03.03.0001 // + XExecutor class, with LoadFromPlate for multiple precious solutions, to separate XStep execution from Panel.ExecuteSheet. ' 2007-03-02 Version 03.03.0000 // + Handling of Precious in XStep files. New 32x32 icon (Valvemod32.ico) ' ======================================== Version 3.03.xxxx XP style, with V.23 improvements =========================================== ' 2007-03-15 Version 03.02.0075 + Panel.MoveToOilWell broadened to also look for array "OilWell" as well as "Oil" ' 2007-03-15 Version 03.02.0074 + Panel.MoveToArrayWell/PlateLoader.RefreshOilCoordinates improvements to log FindWaspArray results. + TWaspArrayList.ArrayNames function. ' 2007-03-13 Version 03.02.0073 # Correction to MCCControl.ExecuteMCCInstruction, to decode SSPEED and SMAXSPEED values from MCC during GetMotorData. ' 2007-03-09 Version 03.02.0072 ~ Pause dialogue - X/Y target hatched in pink outside recommended 1mm radius from centre, to discourage large adjustments+new icon (valve) ' 2007-03-06 Version 03.02.0071 # FPShell.LoadExperiment now resets the StockFlushed bits for existing tips. ' 2007-03-06 Version 03.02.0070 # PlateLoader.DeselectAll corrected to set SelectedPlate=-1 ' 2007-02-28 Version 03.02.0069 # PlateLoader.FindClearancesForMove corrected to set V as well as Z. (Was setting Z twice, and not V) ' 2007-02-22 Version 03.02.0068 # Again (see 3.02.0048) SelectShield.Run returns shield name unmodified if OK - was returning ESC. ' 2007-02-16 Version 03.02.0067 # Pause dialog - mouse clicking Z offset now explicitly sets DataChanged bit. ' 2007-02-13 Version 03.02.0066 ~ Menu items {Disconnect Application Link} and {Collect XStep Barcodes} only visible in Advanced mode ' 2007-02-13 Version 03.02.0065 # SupplyPlate : PPosTop initialized in Run ' 2007-02-05 Version 03.02.0064 # Nudge.frm : prevention of double clicking of [Raise]/[Lower] button, which caused tip height to be adjusted wrongly by 5mm. ' 2007-01-24 Version 03.02.0063 ~ Startup size explicitly restricted to 15300 x 10950 twips on clean install (no registry settings) ' 2007-01-24 Version 03.02.0062 ~ SupplyPlate improvements - shows sliding plate in different circumstances. RedArrow problem is function of RemoteDeskTop. ' 2007-01-24 Version 03.02.0061 ~ wizTipInstall - plate reinstated if [Cancel] pressed on "Remove Plate" request. ' 2007-01-23 Version 03.02.0060 ~ SupplyPlate.AutoLocate ensures that dialog is not left of screen edge. ' 2007-01-23 Version 03.02.0059 # wizTipInstall now always looks for, and removes, destination plate. ' 2007-01-23 Version 03.02.0058 ~ Nudge form updated with NudgeKeys4.bmp to show / keys for [Raise]/[Lower] ' 2007-01-22 Version 03.02.0057 + FP forced to close if wizRezero exited without all motor positions valid. ' 2007-01-22 Version 03.02.0056 + App title now has 3 possibilities : FP_CAPTION_STARTING, FP_CAPTION_MAINTENANCE and FP_CAPTION_RUNNING. ' 2007-01-22 Version 03.02.0055 + TWizardController now traps all form events, so autofocusing now handled centrally. Modified to not grab focus if FP does not have focus. ' 2007-01-19 Version 03.02.0054 + SupplyPlate dialog now automatically located, and shows red arrow. Also used to indicate plate removal. ' 2007-01-19 Version 03.02.0053 ~ wizTipTest : Prevented from selecting different plate, if plate specified by experiment. Selecting different plate automatically performs ' 2007-01-19 Version 03.02.0052 ~ wizTipInstall : Transmits RequiredPlate to wizTipInstall in the case of experiment running. ' 2007-01-19 Version 03.02.0051 ~ wizTipInstall : not obvious that means "Yes, I have removed the plate" - explicit prompt added. ' 2007-01-19 Version 03.02.0050 ~ TWizardController cmdBack scans for first VISIBLE button in Back sequence, and causes no change if not found. ' 2007-01-19 Version 03.02.0049 ~ wizTipInstall [Diagram] button only shows for Z Tip ' 2007-01-19 Version 03.02.0048 # SelectShield.Run returns shield name unmodified if OK - was returning ESC. ' 2007-01-18 Version 03.02.0047 ~ Second instance of FP prevented by testing App.PrevInstance<>0 in FPGlobal.Main ' 2007-01-18 Version 03.02.0046 + SelectShield dialog to test/replace shields if incorrectly specified from Wasp/WaspRun ' 2007-01-17 Version 03.02.0045 # Now prevented from quitting when Wizard showing, or FP executing an experiment. ' 2007-01-17 Version 03.02.0044 # new Pause dialog incorporated into MCCControl.MilliSeconds routine. ' 2007-01-17 Version 03.02.0043 # PlateLoader.AlignPlates now fills in Plate1(i).XLeft/YTop correctly. RefreshOilCoordinates suppressed when Axes=3 ' 2007-01-15 Version 03.02.0042 + Nudge / keys do [Raise]/[Lower] button action. (Not shown in diagram yet) ' 2007-01-15 Version 03.02.0041 ~ Change to message when Wasp is interrupted, giving instructions on continuing experiment after stopping. ' 2007-01-15 Version 03.02.0040 ~ Pause dialog - out of range warning : change to wording of suggestion to use {Actions | Tip Test or Adjust} ' 2007-01-15 Version 03.02.0039 # wizTipTest PB(0).AfterFocus fix to loop repeatedly attempting to move Z tip out of way of plate, because of UseZ/UseAbsolute discrepancy. ' 2006-12-29 Version 03.02.0038 # Recompilation due to Windows collapse + wizRecover (Protein.Recover) now traps situation when no bore attached. ' 2006-12-19 Version 03.02.0037 # Due to generalization of function GetImageFile(), require removal of all explicit ImagesDir + "ImageFile" ' 2006-12-18 Version 03.02.0036 + Writing to registry of LastDetectedSytemName in addition to SystemName, to allow installer to write correct system name in future ' 2006-12-18 Version 03.02.0035 + Chassis.WriteToRegistry save LargeVolumeCount, SmallVolumeCount. ' 2006-12-18 Version 03.02.0034 # wizTipInstall - [Cancel] recognized on request to replace destination palte after setting tip heights. ' 2006-12-15 Version 03.02.0033 + wizTipInstall : [Diagram] for dynamic .gif for tip installation, enhancements to PictureMessageBox ' 2006-12-15 Version 03.02.0032 + Cursor key control and diagram added to Nudge form. ' 2006-12-14 Version 03.02.0031 + New Pause form, with target/cursor key tip adjustment, and some consequent changes to PlateLoader.frm ' 2006-11-30 Version 03.02.0030 # wizTipTest - Test V Tip inhibited on [Next]/[Back] for Nano ' 2006-11-29 Version 03.02.0029 + From V.21 Version 03.01.0380 ~ SetExperiment : WindowState forced to normal only if currently minimized ' 2006-11-29 Version 03.02.0028 + From V.21 Version 03.01.0379 # fix to wizReposition. PB(5) always disabled on Run. ' 2006-11-29 Version 03.02.0027 + From V.21 Version 03.01.0378 # fix to wizLoad, wizRecover automatic refocusing (faulting when ActiveControl=Nothing.) ' 2006-11-29 Version 03.02.0026 + From V.21 Version 03.01.0377 ~ Panel MouseMenu (Load/Set/Recover) disabled during wizards and application commands ' 2006-11-29 Version 03.02.0025 + From V.21 Version 03.01.0376 ~ wizLoad, wizRecover automatic refocusing on mouse move over form inhibited when TypeOf ActiveControl is textbox. ' 2006-11-29 Version 03.02.0024 + From V.21 Version 03.01.0375 # Panel.TipGrid - explicit column selection by both left AND right clicking. ' 2006-11-29 Version 03.02.0023 + From V.21 Version 03.01.0374 ~ wizReposition - if no oil in bore, then oil syringe moves at full speed to empty position. ' 2006-11-29 Version 03.02.0022 + From V.21 Version 03.01.0373 # About Box : Disk version was being reported in hex - corrected. ' 2006-11-29 Version 03.02.0021 + From V.21 Version 03.01.0372 ~ Protein submenus Set and Load enabled, whith checking of tip connection. ' 2006-11-24 Version 03.02.0019 ~ Recompiled with updated PlateLoaderObjects from WaspRun development. ' 2006-10-30 Version 03.02.0018 ~ TBore.Flush modified to set solution name, even when only flushing with water, if it is a nonwater channel. (For continuity of Wasp screens between FP sessions) ' 2006-10-30 Version 03.02.0017 # TChassis/TMultiboreTip now clear registry entries for nonexistent bores+tips. Force VTip=Nothing for Nano. ' 2006-10-27 Version 03.02.0016 -- Module cmSyringeSpeed removed. ' 2006-10-27 Version 03.02.0015 ~ Project : all references to V Arm validated/error trapped for Nano. ' 2006-10-26 Version 03.02.0014 ~ PlateLoader : Calculation of effective Lid.PinHookPointY overides value stored in MCC, to cater for misalignment in construction ' 2006-10-17 Version 03.02.0013 ~ Calls to Skip in PlateLoader moved to FP for XStep compatibility. ' 2006-10-17 Version 03.02.0012 ~ MCCControl.GotoHome adjusted to update hsPinHook shield correctly, and return to home position. ' 2006-10-16 Version 03.02.0011 + TCategorizedString, TCategorizedStringList for enhanced movement command sequences for FPShield ' 2006-10-14 Version 03.02.0010 + TRectangle for collision calculation ' 2006-10-13 Version 03.02.0009 ~ V Tip references suppressed for Nano ' 2006-10-13 Version 03.02.0008 + FPShield.Homed property (Y=0) and PositionValid. GetHomeVectorList implemented for hsPinHook type. ' 2006-10-13 Version 03.02.0007 ~ Version record moved to this file ' 2006-10-12 Version 03.02.0006 + FPGlobal.MovementStrings() takes optional Boolean UseAbsolute to make MCC commands absolute as opposed to for V tip. Nano now working!! ' 2006-10-12 Version 03.02.0005 ~ Many adjustments to FPShield to obtain correct behaviour. ' 2006-10-12 Version 03.02.0004 ~ FP adjusted to deal with Nano's lack of "Black" channel for Oil/LargeVolumes. WASP call SetWellCoordinates now does NOT reference Oil channel. ' 2006-10-11 Version 03.02.0003 + GetExposeVectorList refactored to call EngagePin ' 2006-10-10 Version 03.02.0002 + FPShield.HookStyle, TableY, PinX, PinY, PinWidth. EditShield redesigned to accomodate above additions. Shields.xml format expanded, SBSNano added. ' 2006-10-10 Version 03.02.0001 ~ SystemName IMPAX4 changed to "OryxNano". wizRezero.FullyOpto redefined to include Nano. RezeroY moved before RezeroX for FullyOpto systems ' 2006-10-10 Version 03.02.0000 ~ Oryx Nano bifurcation - recompiled (runs fine as Oryx8) ' 2006-10-10 ===================================== Oryx Nano bifurcation point = V.22 ================================================================================================= ' 2006-10-10 Version 03.01.0367 ~ Panel.AxisRezero : Home command used for raising Z+V, to get full speed raising if arms below Zslow. ' 2006-10-05 Version 03.01.0366 # Nudge : arrow key movements disabled while z/v arms moving. ' 2006-09-11 Version 03.01.0365 + RegTabbedView for clarity. ' 2006-09-11 Version 03.01.0364 # wizReposition.MoveToOilWell was reactivating the wizard on completion, so could not be nested. Reactivation removed. ' 2006-09-11 Version 03.01.0363 + About form now displays installation disk version number (obtained from registry installation value) ' 2006-09-01 Version 03.01.0362 ~ XStep : ExecuteSheet no longer dumps oil when reloading solutions for the Z tip. ' 2006-08-24 Version 03.01.0361 + ExecuteSmallVolumes : Suppression of deselected channels, and explicit rezeroing of suppressed component before writing back as dispensed. ' 2006-08-23 Version 03.01.0360 ~ Recompile to accomodate changes to XSolution/XSolutionList required by XStep. ' 2006-08-23 Version 03.01.0359 ~ XSolutionList now contains XStockSolutionList, and reads and writes it to DB, to simplify calcs eg VolumeRequired() when Stocks deselected ' 2006-08-23 Version 03.01.0358 + Menu item {File | ResetApplicationLink} also resets [STOP] button state. ' 2006-08-23 Version 03.01.0357 # XSolutionList.VolumeRequired corrected for SubWell="" (All) ' 2006-08-23 Version 03.01.0356 # Panel.ExecuteDrop now iterates through channels, not solution components. ' 2006-08-23 Version 03.01.0355 # V.20 Fix : XSolutionList.ReadFromDB must call XS.RecalculateWater - missed line using FolderMatch. ' 2006-08-08 Version 03.01.0354 # V.20 Fix : ExecuteSheet : Insufficient Solution now stops expt properly ' 2006-08-08 Version 03.01.0353 + V.20 Fix : ExecuteSheet : Detection of attempt to overfill syringes, and mechanism to reduce # wells dispensed. ' 2006-08-08 Version 03.01.0352 ~ V.20 Fix : More rigorous writing of solutions to registry, and clearing of solutions when tip is changed. ' 2006-08-04 Version 03.01.0351 ~ Common improvement : Recompiled with changes to XSolution/XSolutionList and redefinition of XSolution.Water to use mWater + XSolution.RecalculateWater. ' 2006-07-27 Version 03.01.0350 # V.20 Fix : wizAlign oversight : Exit Sub inserted before error handler at end of .PB_Click() ' 2006-07-27 Version 03.01.0349 # V.20 Fix : wizReposition PB_AfterFocus() event race now stopped with expicit local flag (not solely by WizCon.ReActivating) ' 2006-07-26 Version 03.01.1348 ~ Recompiled with changes to DispensingParameters.cls (many members removed while streamlining XStep) ' 2006-07-24 Version 03.01.0348 + Oryx and Oryx6 compatibility; Channels(Oryx) and Channels(Oryx6) brought up to date. ' 2006-07-24 Version 03.01.Xxxx ========================== Oryx/Oryx6 bifurcation point .X... = V.21 minor, ..xxx = V.20 minor ============================================================ ' 2006-07-21 Version 03.00.0348 + STOP button handling rewritten, and also done for Wasp functions. ' 2006-07-20 Version 03.00.0347 + MCC STOP button trapped and handled in all wizards and ExecuteSheet ' 2006-07-19 Version 03.00.0346 ~ Message changed in wizLoad to instruct tip insertion into solution. ' 2006-07-18 Version 03.00.0345 + MCC Stop button trapping reenabled. ' 2006-07-18 Version 03.00.0344 # LoadOil - Discharge distance corrected (previously overemptying) + Algorithm for speeds for discharging oil improved. ' 2006-07-18 Version 03.00.0343 + Original system name check reinstated to prevent confusion when installing Oryx8 after Oryx4 ' 2006-07-13 Version 03.00.0342 + wizDebubble : more positive directions to reset valve positions to DISPENSE on Finish ' 2006-07-11 Version 03.00.0341 ~ ExecuteSheet - Oil syringe NOT repositioned if oil not used ' 2006-07-11 Version 03.00.0340 + wizDebubble : , buttons; Panel.Debubble(Fill as Boolean) to control direction. ' 2006-07-11 Version 03.00.0339 + OryxChassis.ocx : FPSyringe.MaxVol added for convenience ' 2006-07-11 Version 03.00.0338 + wizDebubble : ALL syringes have checkboxes visible in simple and advanced menu modes. ' 2006-07-11 Version 03.00.0337 # wizDebubble : STOP button behaviour fixed for (STOP) as opposed to (Pause) use. ' 2006-07-11 Version 03.00.0336 ~ Menu item {PlateLoader | Force find Shield Position} renamed to "Invalidate Shield Position" ' 2006-07-07 Version 03.00.0335 + Barcode requests suppressed for Project=WASP.xdb ' 2006-07-07 Version 03.00.0334 + Syringe MaxSpeeds asserted at startup and start of wizReposition. ' 2006-06-30 Version 03.00.0333 ~ Changes for situation where there is NO Z tip. (Large volume on V tip) ' 2006-06-29 Version 03.00.0332 ~ PlateLoader .ShowPlate : focus forced to [OK] on SupplyPlate form. ' 2006-06-29 Version 03.00.0331 # wizReposition : Deactivate order changed to prevent clicking [OK] during syringe repositioning. ' 2006-06-29 Version 03.00.0330 + ActionFlush menu ' 2006-06-29 Version 03.00.0329 - Panel mouse clicks on syringes inhibited when executing. ' 2006-06-29 Version 03.00.0328 + Menu item Solutions.Flush reenabled and reworked. ' 2006-06-29 Version 03.00.0327 # After speed changes, calls to SelectSyringe and SyringeDeselect are clearing checkboxes. ' 2006-06-28 Version 03.00.0326 + All syringe speed controls unified using Panel.Syringe.FlowRate/Speed/SpeedChanged ' 2006-06-27 Version 03.00.0325 ~ wizTipInstall jumps to Test Tips as soon as both tips are correct. ' 2006-06-27 Version 03.00.0324 # PlateLoader.ShowPlate - freshly added plates now marked as "Present" ' 2006-06-27 Version 03.00.0323 ~ Panel.ExecuteDrop/ExecuteSmallVolumes\ExecuteSheet now returns string which is description of result and should normally be "Done" ' 2006-06-27 Version 03.00.0322 + Checking for insufficient volume in Panel.ExecuteDrop - stops execution of ExecuteSheet ' 2006-06-26 Version 03.00.0321 ~ wizLoad adjusted : omits "Place Tip in Solution" prompt; displays both volume required and volume to load; knows when MoveToOpenTable is necessary. ' 2006-06-26 Version 03.00.0320 # MCCControl.MoveToOpenTable now always raises BOTH arms to max height. ' 2006-06-23 Version 03.00.0319 ~ Better calculation of when to reposition/flush protein channel - prevents attempt to overfill syringe. ' 2006-06-23 Version 03.00.0318 # XSolution.Water calculation revised ' 2006-06-23 Version 03.00.0317 # ExecuteSheet does LoadSolutions before volume check. ' 2006-06-07 Version 03.00.0316 + Accepts IMPAX4 as SystemName + Channels(IMPAX4).xml ' 2006-06-06 Version 03.00.0315 + Caters for IMPAX4 rezeroing. ' 2006-06-02 Version 03.00.0314 ~ FPShell form size - no change applied if registry contains no settings. ' 2006-06-02 Version 03.00.0313 ~ FPShell form size increased for default startup. ' 2006-05-15 Version 03.00.0312 ~ wizTipTest -> "Ensure plate present"->[Cancel] no longer removes original plate. ' 2006-05-15 Version 03.00.0311 # Not getting focus from XStep, if shield needs removing. WindowState = vbNormal added to PlateLoader. ' 2006-05-12 Version 03.00.0310 # PlateLoader.GetCurrentWellCoordinate was not adding XLeft, YTop to coords for Plates other than Plate(0) ' 2006-05-12 Version 03.00.0309 # wizTipTest was setting OriginalPlate to DestinationPlate, and overwriting PLList entry for another plate if other plate chosen for test. ' 2006-05-12 Version 03.00.0308 ~ Shield removal now more intelligent, and explicit request to user to remove shield is made when a clean/different plate required. ' 2006-05-11 Version 03.00.0307 + TimeLastDebubbled applied to bores in Panel.Debubble ' 2006-05-11 Version 03.00.0306 # wizTipTest : ensure Nudge movements always apply to Plate(SelectedplateIndex) and not explicitly to Plate(0) ' 2006-05-11 Version 03.00.0305 + LargeVolume written to grid in TipStatus. ' 2006-05-11 Version 03.00.0304 # bfTreated bit declared as Long, as it was being sign-extended in Enum BoreFlags and causing loss of Treated and LargeVolume data. ' 2006-05-10 Version 03.00.0303 # Bug in XML class - not reading entities (&...;) correctly, although has been writing for some time. Could be ramifications for recent installations. ' 2006-05-10 Version 03.00.0302 + TipStatus form - very useful. ' 2006-05-10 Version 03.00.0301 ~ wizTipInstall buttons renamed, and [Skip] button disabled when operations obligatory. ' 2006-05-10 Version 03.00.0300 + ModalFormCount automatically incremented/decremented by new property ModalFormOpen(State) ' 2006-05-10 Version 03.00.0299 + FPPlate.ModalForm event for detecting when modal form open. ' 2006-05-08 Version 03.00.0298 ~ wizTipTest : allows well selection (and validation) for all but button 0 ' 2006-05-08 Version 03.00.0297 # ExecuteSheet uses CurrentDP.Vair for protein air volume. ' 2006-05-08 Version 03.00.0296 # If loading FrontPanelDefault.xdb, then obliges LastExperiment=1 ' 2006-05-08 Version 03.00.0295 ~ PlateLoaderObjects : FPPlate colors preserved after selection/deselection folllowing ClearSubWells/Clean ' 2006-05-08 Version 03.00.0294 + PlateLoaderObjects : FPPlate.CellGroupName/SubWellName properties + SubWellText function ' 2006-04-27 Version 03.00.0293 # PlateLoader - fixed AlignPlates. ' 2006-04-27 Version 03.00.0292 + wizTipTest: cann select any plate (dependant on parameters in call to Run). "/DESTINATION" now a parameter - destination plate selected by default. ' 2006-04-26 Version 03.00.0291 # Channel annotation being lost for V tip - wizTipInstall ammended to refresh solution names (including oil) ' 2006-04-25 Version 03.00.0290 + Prevention of use of large subwell for tip alignment. ~SelectWell event in FPPlate. wizTipTest uses WithEvents PL as PlateLoader. ' 2006-04-25 Version 03.00.0289 + wizReposition, new method for recording current position of tips, to ensure placing over correct bottle when clicking [Back] ' 2006-04-25 Version 03.00.0288 ~ wizReposition : Tip lowered 2mm below top of waste bottle for flushing ' 2006-04-25 Version 03.00.0287 ~ wizReposition : ValveController(vsFlushSolution ) changed to show top valve returned to DISPENSE ' 2006-04-25 Version 03.00.0286 # wizRezero now correctly interprets requests to rezero a single vertical axis (as supplied by AxisTest dialog) ' 2006-04-24 Version 03.00.0285 # Solutions reloaded from database on tip change in wizReposition. ' 2006-04-21 Version 03.00.0284 ~ All selected wells deselected on SetExperiment, and setting well annotation made "silent" (SetWell without SelectWell). ' 2006-04-21 Version 03.00.0283 # ExecuteSheet - was allowing a syringe to be selected with mouse while executing - SelectedSyringe=-1 before each dispense. ' 2006-04-18 Version 03.00.0282 # ExecuteSheet - XSolution corrected to return true Water volume for XSolutionList.VolumeRequired() ' 2006-04-18 Version 03.00.0281 # SetSweep used in ExecuteDroplet ' 2006-04-18 Version 03.00.0280 + Only channels short of solution are flushed in ExecuteSheet. ' 2006-04-18 Version 03.00.0279 ~ Water volume of channel set to syringe volume (not bore capacity) on flush. ' 2006-04-18 Version 03.00.0278 + Oil dump speed used in wizReposition to limit oil channel dumping flow. ' 2006-04-13 Version 03.00.0277 # Guaranteed parallel dispensing of all channels for ExecuteDroplet ' 2006-04-13 Version 03.00.0276 + Registry value error trapping for impossible channels when changing from Oryx8 to Oryx4. ' 2006-04-13 Version 03.00.0275 # Prevention of out of range setting of Progressbar on Splash form. ' 2006-04-13 Version 03.00.0274 + Error trapping in Panel.Form_Load to prevent hang if various files missing/bad format on startup. ' 2006-04-13 Version 03.00.0273 ~ Clearing plate contents is now more rigorous. ' 2006-04-13 Version 03.00.0272 ~ Changes to wizLoad sequence, and Bore.Solution NOT set to "Water" on flushing with water ' 2006-04-12 Version 03.00.0271 # OilDropSubWell : heights recalculated (were in wrong order) ' 2006-04-12 Version 03.00.0270 ~ Minor changes to parameter passing defaults for Plateloader.ClearPlates. ' 2006-04-12 Version 03.00.0269 ~ Additional ForceForegroundWindow call in wizTipInstall.Run to force FP over top of WASP in some cases. ' 2006-04-10 Version 03.00.0268 ~ TabStops reasserted in wizLoad ' 2006-04-10 Version 03.00.0267 + Improved oil loading ' 2006-04-10 Version 03.00.0266 # FPPlate recognizes subwell "Default" as subwell 1. Recompiled PlateLoaderObjects. ' 2006-04-11 Version 03.00.0265 # oil Bore marked as flushed in wizReposition, so discharging of oil happens on "Home" eg at end of MB screen. ' 2006-04-10 Version 03.00.0264 ~ PlateLoader Shield : ZOrder corrected (shield was being covered by plate in SelectPlate) ' 2006-04-10 Version 03.00.0263 ~ Updated splash screen ' 2006-04-10 Version 03.00.0262 + TTransferDP object now calls SetTransferDischargeDistance, with distance calculated from .SyringeResolution (=resolution of Syringe(RED) by default) ' 2006-04-10 Version 03.00.0261 - All references to ROPU removed (MCC looks after itself, Version 3.35 onwards) ' 2006-04-06 Version 03.00.0260 ~ STOP button behaviour improved slightly. ' 2006-04-06 Version 03.00.0259 + [Find] button in frmOutputList for easy finding of debugging output phrase. ' 2006-04-06 Version 03.00.0258 + Application of viscosities in ExecuteSheet. ' 2006-04-06 Version 03.00.0257 + Forth : SetSyringeSpeed, SetSyringeSpeeds for more efficient transfer of multiple speeds in one line. ' 2006-04-06 Version 03.00.0256 + FPSyringe.SpeedChanged for more efficient updating of drive speeds in SyringeMove ' 2006-04-06 Version 03.00.0255 + FlowRate added to FPSyringe, for easy calculation of drive speed (used in SyringeMove) ' 2006-04-04 Version 03.00.0254 + TLHMethod.BoreCount introduced for ease of selection in XStep. ' 2006-04-04 Version 03.00.0253 ~ wizTipInstall - does not now Home PlateLoader (although it does return Plateloader to starting position if this was a mid expt adjust) ' 2006-04-03 Version 03.00.0252 # wizLoad : SolutionName written to Bore.Solution on Load click ' 2006-04-03 Version 03.00.0251 ~ Dynamic sizing of SupplyPlates instructions window for aesthetics. ' 2006-04-03 Version 03.00.0250 + TWaspArray.Caption member - SetWaspArray now only applies caption to FPPlate annotation. ' 2006-03-31 Version 03.00.0249 + ExecuteSmallVolumes serpentine scanning added. ' 2006-03-30 Version 03.00.0248 - BottleArray() removed from PlateLoader and replaced by WaspArrayList. ' 2006-03-30 Version 03.00.0247 + TWaspArrayList introduced, to accept array definitions from wasp ' 2006-03-28 Version 03.00.0246 + TWizardController.SetInstructionText :Instructions starting "!" now highlit. Colors : Normal (from Wizard.Instructions), HighLit (from Wizard.InstructionBox) ' 2006-03-28 Version 03.00.0245 + Further standardization of wizards. TWizardController is now initialized by passing the form - controls now have standard names, and WizCon writes directly to form. ' 2006-03-28 Version 03.00.0244 + Automated listing of Wizard PointerButton Text and Instructions. ' 2006-03-18 Version 03.00.0243 - Timing dialogs removed from MCCControl.OilDrop ' 2006-03-18 Version 03.00.0242 ~ ReadRegistryStartupConditions - default ExptNo for FrontPanelDefault.xdb changed from 0 to 1. ' 2006-03-18 Version 03.00.0241 + New field in OilControl = DropSpeed : rate at which to oil drop - gives constant oiling rate regardless of syringe size ' 2006-03-18 Version 03.00.0240 ~ wizRecover looks up Arm to use in ChannelList. ' 2006-03-18 Version 03.00.0239 + wizLoad : liquid handling backlash added = Vair/2 ' 2006-03-18 Version 03.00.0238 + wizLoad : Extra message in to remind user to remove drop from tip before loading air. ' 2006-03-16 Version 03.00.0237 + wizReposition message now says to flush with air before flushing with solution. ' 2006-03-16 Version 03.00.0236 + ExecuteSheet uses /TEST switch in call to wizTipInstall.Run ' 2006-03-16 Version 03.00.0235 # Robot.PositionsValid and Sys.MCC_Valid set true after full rezero. ' 2006-03-15 Version 03.00.0234 + Div100 scaling of .xdb solutions controlled by .xdb version number. ' 2006-03-14 Version 03.00.0233 + Panel.MouseMenu - for Load Solution Via Tip, now gioves warning, and changes bore properties to UseAirGap etc., allowing manual loading of precious materials ' 2006-03-14 Version 03.00.0232 ~ wizLoad reworked - improved sequence including flushing if required (for protein etc loads), and more reliable moving to waste well. ' 2006-03-14 Version 03.00.0231 + Functions.bas : .xdb Version checking functions (XDBItemExists, ReadXDBVersion) - refuse to open pre Version. 6.0 .xdb files ' 2006-03-13 Version 03.00.0230 ~ wizTipInstall : oversight - PB(wzRemovePlate).RadioButton = false (previously = true - caused inexplicable lossof enble with XStep) ' 2006-03-12 Version 03.00.0229 ~ wizTipTest : PlateLoader moved to y=10.0 mm absolute, to provide space to add/remove plate. ' 2006-03-10 Version 03.00.0228 + SupplyPlate form - plus barcode fields, CollectDestinationPlateBarcode menu item ' 2006-03-09 Version 03.00.0227 + wizLoad : Prompt displayed before loading protein (as plateloader may need to move to free table area). ' 2006-03-09 Version 03.00.0226 ~ ExecuteSheet : Volumes rechecked after running wizTipInstall, in case tip needs flushing. ' 2006-03-09 Version 03.00.0225 ~ Visibility of {File | Log Comment} and {MCC | Show Status Bar} changed. ' 2006-03-09 Version 03.00.0224 + Message in wizTipInstall to warn against replacing current tip, if of same type. ' 2006-03-09 Version 03.00.0223 + Modal form counting/detection using FPGlobal.ShowModalForm and HideModalForm, to prevent XStep etc interrupting menu item/dialog. ' 2006-03-09 Version 03.00.0222 - {File | Abort Experiment} and{File | Resume Experiment} suppressed, while script interpreting not yet functional ' 2006-03-08 Version 03.00.0221 ~ Recompiled with recent changes (via XStep) to XML class. ' 2006-03-03 Version 03.00.0220 + PlateLoader mouse menues hidden, and only enabled in Administrator mode. ' 2006-03-02 Version 03.00.0219 + Recompiled with new TPlates - and PlateLoaderObjects.ocx with FormatVersion number in Plates.dat. ' 2006-03-02 Version 03.00.0218 + Recompiled with new TPlates - and PlateLoaderObjects.ocx with independant WellOffsetX/Y. ' 2006-03-01 Version 03.00.0217 + Prevented crash on trying to calculate volumes of empty XSolutions. Recompiled with new TPlates - and PlateLoaderObjects.ocx to tag reservoirs in plates as IsReservoir. ' 2006-02-27 Version 03.00.0216 + LogComment form : User Comments into Log Files. ' 2006-02-24 Version 03.00.0215 + TMultiboreTip.Flush - WriteToRegistry call repositioned for better efficiency ' 2006-02-22 Version 03.00.0214 + Preservation of solution names in registry, for persistence between sessions. ' 2006-02-22 Version 03.00.0213 + Applying ingredient names to channels in Panel.TipGrid ' 2006-02-22 Version 03.00.0212 + Improvement of Plate clearing and prompting. ' 2006-02-21 Version 03.00.0211 - Removal of obsolete code. ' 2006-02-21 Version 03.00.0210 + SetExperiment - separate procedure ' 2006-02-21 Version 03.00.0209 + ExecuteSheet raises tips at end of execution. ' 2006-02-20 Version 03.00.0208 # Correction to PlateLoader.GetTargetCoordinates ' 2006-02-20 Version 03.00.0207 # VolumeLeft corrected to return 0 if VolumesValid=false ' 2006-02-20 Version 03.00.0206 # PlateLoader Tip ocx positioning returned to original mechanism (ie subtracting offset from reported positions) ' 2006-02-20 Version 03.00.0205 + MCCControl.StopPressed property - for XStep STOP button trapping ' 2006-02-18 Version 03.00.0204 # Fixed bad dispensing offset (X, Y) calculation in MoveToLocation() ' 2006-02-17 Version 03.00.0203 ~ Multiple recompiles due to problem - crashing while doing GetMotorData on startup - turns out to be when error in reading file such as Tips.xml etc. No error trapping. ' 2006-02-16 Version 03.00.0182 # Corrections to OilDrop and ExecuteSmallVolume tip positioning. ' 2006-02-16 Version 03.00.0181 ~ ExecuteSmallVolumes - improved to load oil before dispensing solution. ' 2006-02-16 Version 03.00.0180 ~ New LHMethods inherit current parameters in EditMethods dialog (except description). Standard set of methods completed (Methods.xml) ' 2006-02-15 Version 03.00.0179 ~ TTipPosition(List) renamed to TLHMethod(List), and file TipPositions.xml renamed to Methods.xml. EditHeights renamed EditMethods, and redesigned to include Arm, TipType. ' 2006-02-15 Version 03.00.0178 - TipType removed from XDispensingParameters and incorporated into TTipPosition. Arm added to TTipPosition. ' 2006-02-06 Version 03.00.0177 - Debugging removed from wizTipInstall ' 2006-02-06 Version 03.00.0176 # Fix to PowerDownTimeOut. + wizReposition - always locates tip over waste when valves in flushing position. ' 2006-02-06 Version 03.00.0175 ~ Improvements to STOP button trapping. ' 2006-02-03 Version 03.00.0174 ~ Aesthetic improvements to EdiTLHMethods ' 2006-02-02 Version 03.00.0173 ~ PlateLoader altered to use new mechanism of tip heights/positions ' 2006-02-01 Version 03.00.0172 ~ PlateLoader TPlateLocationList fixed to index using Format(PlateNumber) to prevent mis-ordering of plates (gaps etc) ' 2006-02-01 Version 03.00.0171 + TipPositions.xml, OilControl.xml in GlobalDataDir, + new frmDroppingSpec. ' 2006-02-01 Version 03.00.0170 + TLHMethod, TLHMethodList classes, TLHControl class.+EdiTLHMethods form ' 2006-01-31 Version 03.00.0169 + Introducing concept of Global Dispensing Parameters - universal set of tip heights and oiling mechanism. + TipHeightList ' 2006-01-30 Version 03.00.0168 - Many redundant variables and much redundant code removed. ' 2006-01-30 Version 03.00.0167 ~ Alterations fed through from XStep - principally OilDropping/TipHeights now in FP domain, not .xdb project domain. ' 2006-01-30 Version 03.00.0166 - StateMachine finally removed. ' 2006-01-19 Version 03.00.0165 + Mouse menus for syringes limited to Set and Recover. Images added to Actions menu and Mouse syringe menu. ' 2006-01-19 Version 03.00.0164 ~ {Actions | Adjust Tip} renamed to {Action | Install or Adjust Tip} ' 2006-01-18 Version 03.00.0163 ~ wizRecover - recovery limited to only one channel at a time. ' 2006-01-18 Version 03.00.0162 + Several functions added to PlateLoader to allow detection of last well (if any) selected, and clearing all selected wells, for proper function of wizRecover. ' 2006-01-18 Version 03.00.0161 ~ wizInstallTip traps Cancel from call to PlateLoader.ShowPlate, so wizTipTest does not start if you press Cancel. ' 2006-01-18 Version 03.00.0160 ~ wizRecover - crashes on second call - wizRecover.Run must start with Show. ' 2006-01-18 Version 03.00.0159 + wizReposition : checks for Tip(n)=Nothing + WizardController.Deactivate/Reactivate calls. ' 2006-01-18 Version 03.00.0158 ~ "Can't oil" message suppressed on Home call, if oilVolume=0 ' 2006-01-18 Version 03.00.0157 + wizRezero : WizardController.Deactivate/Reactivate calls made either side of all Plateloader movements to prevent premature event reactions. ' 2006-01-18 Version 03.00.0156 # Fault due to changes to new Plate object (CellGroups) caused crashing in wizRecover TO PLATE - corrected and improved to dump to bottom of well(tube) and move up slowly. ' 2006-01-17 Version 03.00.0155 ~ FrontPanelDefault.xdb updated to include Shield info, and avoid "no oil axis specified" message. ' 2006-01-17 Version 03.00.0154 ~ TransferDrop suppresses "Mixing with Protein" annotation, when no protein mixing. FrontPanelDefault.xdb updated to include Shield info, and avoid "no oil axis specified" message. ' 2006-01-17 Version 03.00.0153 ~ wizRezero now always checks ALL syringe drives. ' 2006-01-17 Version 03.00.0152 ~ wizDebubble allows checking of all syringes (esp. Oil syringe) in administrator mode ' 2006-01-17 Version 03.00.0151 ~ wizAlign has extra button to call wizRezero ' 2006-01-17 Version 03.00.0150 ~ wizTipInstall uses absolute (not tip offset corrected) position for height ' 2006-01-16 Version 03.00.0149 + wizReposition does not demand valve turning for a tip, if all channels for that tip are specified as IGNORE ' 2006-01-16 Version 03.00.0148 ~ wizTipInstall accepts as a tip name on command line ' 2006-01-16 Version 03.00.0147 ~ wizReposition made to exit with PlateLoader large ' 2006-01-11 Version 03.00.0146 + Continuous logging of DebugList, AppCommande and MCCCommand to disk. ' 2006-01-10 Version 03.00.0145 ~ SysInfo code moved to Functions.bas, and call made via new menu item under Debugging. [Sys Info] button removed from About box. ' 2006-01-09 Version 03.00.0144 ~ Startup altered to prevent continous display of splash screen if motors must be rezeroed. ' 2005-12-29 Version 03.00.0143 ~ WaitForDone allows correction to AdjustTip on interrupting experiment - this can be further improved (simplified), but in next edition?? ' 2005-12-28 Version 03.00.0142 + FPGlobal.WaitForDone = DoEvents loop allowing Wizard.Run() to be called as if modal. All wizards and wizard calls modified (big job) ' 2005-12-28 Version 03.00.0141 ~ V arm now moved with nudge dialog (changes to nudge distance in V 3.00.0111 bracketed out Arm parameter) ' 2005-12-22 Version 03.00.0140 ~ Home on timeout inhibits ForceForegroundWindow when ExecuteInBackground=true ' 2005-12-20 Version 03.00.0139 ~ Recompiled with PlateLoaderObjects to get XStep running ' 2005-12-19 Version 03.00.0138 + FPPlate.PitchX and .PitchY added analagous to DispenseX, DispenseY ' 2005-12-09 Version 03.00.0137 ~ Home on timeout reenabled. ' 2005-12-09 Version 03.00.0136 + Tile function suppresses grabbing focus in ExecuteInBackGround mode, and SetFocus enhanced for use in Wasp scripts. ' 2005-12-05 Version 03.00.0135 + wizTipInstall prompts for replacement plate before exit. ' 2005-12-05 Version 03.00.0134 ~ FPPlate.Clean corrected in PlateLoaderObjects.ocx ' 2005-12-05 Version 03.00.0133 ~ On interrupting experiment, Tip Adjust defaults to specifying current plate, and starting at second item in wizard="Select Well", to discourage changing plate. ' 2005-12-05 Version 03.00.0132 ~ Typo in loading ExecuteInBackground bit from registry - corrected. ' 2005-12-05 Version 03.00.0131 ~ CDeliver command unchecks syringes whith VolChange=0 to solve problem of Air tracking. Plates cleared by default in Wasp call to SetExperiment. ' 2005-12-05 Version 03.00.0130 + CGotoWell -> Tile 2 to enlarge plateloader view during Wasp experiments ' 2005-12-03 Version 03.00.0129 + Air volume removed from volume tracking - temp fix. Timer to reenable LHMenu - all movement items in timDispatch invoke EnableLHMenu function. ' 2005-12-02 Version 03.00.0128 + OilLoad rewritten to prevent dripping and bubbling. wizReposition was losing focus, and not responding to or ' 2005-12-02 Version 03.00.0127 + wizAlign for "Align table and Arm" ' 2005-12-02 Version 03.00.0126 ~ Corrections to valve settings in Debubble and Rezero wizards. ' 2005-12-01 Version 03.00.0125 ~ wizTipTest : Inserted a home command for Z/V if arms must be moved to allow plate to be placed. ' 2005-12-01 Version 03.00.0124 ~ wizReposition message changed to : "Flush the highlit channels with stock solution using disposable syringes in the bottom valves." ' 2005-12-01 Version 03.00.0123 ~ PointerButton ActiveX focus/highlight coloring changed to orange + other small changes. ' 2005-12-01 Version 03.00.0122 + Unimplemented menu items hidden or disabled. ' 2005-12-01 Version 03.00.0121 + FPGlobal.Status ="Editing"/"Wizard" to prevent Wasp sending commands in the middle of user interactions. ' 2005-11-30 Version 03.00.0120 ~ ExecuteInBackGround and StealFocus bits loaded from registry properly on startup. ' 2005-11-30 Version 03.00.0119 ~ IMPAX reference removed from About form ' 2005-11-30 Version 03.00.0118 + All wizards now suppress main menu, so wizards cannot be interrupted. ' 2005-11-30 Version 03.00.0117 + Action menu items defined. Selected well color changed to orange!! ' 2005-11-29 Version 03.00.0116 + DumpSolution checks for no bore/empty bore ' 2005-11-29 Version 03.00.0115 + Debugging in OilLoad, DumpSolution to confirm success/ report failure ' 2005-11-29 Version 03.00.0114 + ShieldExpose raises tips, if not on same plate ' 2005-11-29 Version 03.00.0113 ~ wizTipInstall rewritten. ' 2005-11-28 Version 03.00.0112 ~ Panel.Setup - typo in consulting ChannelList for type of lower valve -> drawing lower valve for oil channel. Corrected. ' 2005-11-28 Version 03.00.0111 ~ Nudge : BigMove changed from 1.0 to 0.4 mm, and SmallMove changed to BigMove/8=0.05mm ' 2005-10-26 Version 03.00.0108 ~ FPPlate recompiled to use TPlate - not yet original full version, but cmPlate dropped. ' 2005-10-20 Version 03.00.0107 + SetClearance command for Wasp. ' 2005-10-20 Version 03.00.0106 # StealFocusMode set properly on startup. ' 2005-10-20 Version 03.00.0105 ~ PLMenu form removed, and shield functions raised as events in PlateLoader for XStep compatibility. wizReposition raises arms before moving to bottles. ' 2005-10-20 Version 03.00.0104 # TBore.Loaded now sets TBore.VolumesValid=true - to deal with "forgetting" that oil is loaded. ' 2005-10-20 Version 03.00.0103 # All syringes checked and checkboxes visible on Rezero ALL. Menu naming corrected to Debugging | Exit Administrator Mode ' 2005-10-19 Version 03.00.0102 + XYGoto now incorporates PlateLoader.GetNoCrashVectorText ' 2005-10-19 Version 03.00.0101 + MCCControl.HomeShield - called first before dumping oil etc. Constants PROTEIN, PRECIPITANT, OIL etc removed. +Chassis.CurrentOilChannel ' 2005-10-18 Version 03.00.0100 # Corrections to text in TipTest wizard. Arms now clear Plate1(0) area to allow replacement of plate. Plateloader resized to fully exposed on exit. ' 2005-10-18 Version 03.00.0099 ~ Menu cleaned up, and redundant code stripped from Panel.frm -> cmdFunctions.bas for reference. ' 2005-10-18 Version 03.00.0098 # wizRecover - well selection mechanism fixed. ' 2005-10-18 Version 03.00.0097 - All State Machine references removed from Panel and FPGlobal. WriteMDB removed. ' 2005-10-18 Version 03.00.0096 + TShieldList revised to contain its own XML file + FileName property + LoadFromFile() and SaveToFile() methods. ' 2005-10-18 Version 03.00.0095 + ShieldForm to give integrated shield editor. ' 2005-10-18 Version 03.00.0094 - Recompiled with reorganized PlateLoaderObjects ' 2005-10-18 Version 03.00.0093 - TShield, TShieldList, PlateLoaderObjects project moved to DI\PlateLoader folder ' 2005-10-18 Version 03.00.0092 - Recompiled without old RVahrman forms for Machine, Machine_Switch, IMPAX and DataGrid etc. ' 2005-10-18 Version 03.00.0091 ~ Shield moved into PlateloaderObjects.ocx - renamed FPShield ' 2005-10-17 Version 03.00.0090 # Oil Dumping and Shield repositioning fixed. ' 2005-10-17 Version 03.00.0089 # TipInstall raises arm after setting tip height ' 2005-10-17 Version 03.00.0088 # Fixed typo in MoveToOilWell; + InstallTips /TEST parameter to put focus on "Test Tips" by default ' 2005-10-14 Version 03.00.0087 ~ PushButton altered to use delay on disable ' 2005-10-14 Version 03.00.0086 # wizRezero AllPositionsValid fixed ' 2005-10-14 Version 03.00.0085 # wizTipTest TipValid() corrected for case where no tip installed ' 2005-10-14 Version 03.00.0084 # wizDebubble PointerButton focus corrected. ' 2005-10-13 Version 03.00.0083 ~ Recompiled .ocxs ' 2005-10-13 Version 03.00.0082 ~ wizTipInstall, wizTipTest, wizRecover rewritten to use TWizardController. ' 2005-10-13 Version 03.00.0081 + PushButton responds to and as if a mouse click. ' 2005-10-13 Version 03.00.0080 ~ wizReposition rewritten to use TWizardController. LoadOil tests if only dumping before issuing "no oil channel" warning. ' 2005-10-12 Version 03.00.0079 + PointerButton.Radio, AlwaysShow, BackTarget properties. ' 2005-10-12 Version 03.00.0078 + TWizardController to unify wizards. wizDebubble, wizRezero rewritten to use TWizardController. ' 2005-10-07 Version 03.00.0077 # Focus problems resolved for wizTipTest ' 2005-10-07 Version 03.00.0076 # Row/Col confusion in moving shield for Tiptest corrected. ' 2005-10-07 Version 03.00.0075 ~ Improvements to TipTest wizard. ' 2005-10-07 Version 03.00.0074 + FindBestAlignmentWell() in cmPlate/Plate.ocx ' 2005-10-06 Version 03.00.0073 ~ CSetWellCoordinates uses channels. ' 2005-10-06 Version 03.00.0072 + wizTipInstall button enabling improved. ' 2005-10-06 Version 03.00.0071 + Better error reporting in timDispatch ' 2005-10-06 Version 03.00.0070 + All wizards return "Cancelled" message, which is now correctly interpreted by Wasp. Splash screen has 4 or 8 value updated in MCCConnect. ' 2005-10-05 Version 03.00.0069 - nPanels value determines hiding of image FrontCover(i) for Oryx4/Oryx8 ' 2005-10-05 Version 03.00.0068 # PlateLoaderObjects corrected NOT to use SSubTimer.dll (generating incorrect message when absent re Licence required) ' 2005-10-05 Version 03.00.0067 ~ Debugging compilation to find problem with licences - dependency on SSubTimer.dll generating incorrect message when absent re Licence required ' 2005-10-05 Version 03.00.0066 ~ Debugging compilation to find problem with licences - problem onl;y when wizards show. ' 2005-10-05 Version 03.00.0065 ~ Debugging compilation to find problem with licences ' 2005-10-04 Version 03.00.0064 # Errors with impossible channel numbers trapped when changing from Oryx8 to Oryx4. ' 2005-10-03 Version 03.00.0063 + Authority value for PushButton, to enable persistence. ' 2005-10-02 Version 03.00.0062 + SolutionRecover ' 2005-09-30 Version 03.00.0061 # Menu corrections - drag/drop ' 2005-09-29 Version 03.00.0060 # TransferDrop fixed to use channels ' 2005-09-26 Version 03.00.0059 ~ LoadOil renamed "OilLoad", and rewritten to use TBore. ' 2005-09-25 Version 03.00.0058 # wizRezero functioning corrected, including selecting of syringes and enabling of buttons/setting focus, and MCCControl annotation during rezero. ' 2005-09-24 Version 03.00.0057 + Nearly all icons added to MenuImageList. 16*16, 256 color are best. Menu colors improved to be XP similar. ' 2005-09-24 Version 03.00.0056 # MouseMenu active on Syringes and TipGrid, ONLY if bore connected. MouseMenu inhibited on TipGrid column 0. ' 2005-09-23 Version 03.00.0055 + Tips write to registry on exit. ' 2005-09-23 Version 03.00.0054 ~ ProgressBar updating improved on startup. ' 2005-09-23 Version 03.00.0053 + SetSolutionVolume using TipGrid and Mousemenu ' 2005-09-22 Version 03.00.0052 + MouseMenu active on Syringes and TipGrid, if bore connected. ' 2005-09-08 Version 03.00.0051 # StatusBar and sizing fixed on MCCControl. ' 2005-09-07 Version 03.00.0050 + Menu reorganized slightly - Action menu. Extra functions for Registry<->MenuCheckBox synchronization ' 2005-09-06 Version 03.00.0049 ~ All menus changed to SmartMenuXP - much better code layout. ' 2005-09-02 Version 03.00.0048 ~ All menus moved to FPShell, and associated code moved. Big job! ' 2005-09-02 Version 03.00.0047 + form PLMenu added to contain PlateLoader.frm menu (Mouse popup etc) ' 2005-09-02 Version 03.00.0046 + TDebugController -> FPGlobal.Debugger for access by all forms to debugging state. ' 2005-08-25 Version 03.00.0045 + TSyringe and TSyringeList to simplify move to XML and ease user selection of syringe drives, to allow 2.5ml syringe in place of 10ml etc. ' 2005-08-24 Version 03.00.0044 + TChannelList.DriveToChannel function to replace (Human Syringe Number = Sno+1). Now Channel = ChannelList.DriveToChannel(Sno) ' 2005-08-23 Version 03.00.0043 + WriteToRegistry method added to TMotor. (Exposed as FPSyringe.MotorWriteToRegistry). "Channel" references changed to "MotorNumber" ' 2005-08-23 Version 03.00.0042 + SetChannelAttributes (eg bfOil, bfUseAirGap etc). + LoadAir command for WASP. ' 2005-08-22 Version 03.00.0041 + DriveToBore and ChannelToBore functions in TChassis. Corrected linking of TBore/Tip/TChassis on TChassis.setup from Registry. ' 2005-08-19 Version 03.00.0040 + WithEvents Syringe member of ValveGroup changed to ordinary member, as inconsistent results using deindexed array Panel.Syringes(Sno) ' 2005-08-16 Version 03.00.0039 + Channel Data written to registry, so WASP etc can use logical naming - TChannelList/TChannel/TAliasList.WriteToRegistry() ' ================================ New functionality ========================================================================== ' 2005-08-16 Version 03.00.0038 (Version 2.03.0042 ExecuteWellEx - corrected typo (StartPoint -> StartFrom), also made Oiling -> 100% complete.) ' 2005-08-16 Version 03.00.0037 (Version 2.03.0038 PlateLoader.DebugSuspend menu item added for XS compatibility (so PlateLoader doesn't reference FP explicitly)) : done ' 2005-08-16 Version 03.00.0037 (Version 2.03.0047 New menu item in PlateLoader.frm : UseWellCentroids controls method to choose position for Shield.) : done ' 2005-08-16 Version 03.00.0036 (Version 2.03.0047 FPGlobal.GetMenuCheckedState improved. ) : and again ' 2005-08-16 Version 03.00.0036 (Version 2.03.0048 VBPlate.ocx (also corrected CurrentWellY() ) : ignored, as now using FPPlate ' 2005-08-16 Version 03.00.0036 (Version 2.03.0051 PlateLoader.frm.GetExposeVectorText - row/column order corrected in call to Plate1.WellCentroid() : done ' 2005-08-16 Version 03.00.0036 (Version 2.03.0044 LoadOil function - modified to always raise tip before exiting.) : Done ' 2005-08-16 Version 03.00.0036 (Version 2.03.0041 ValveSet - added ShowMCCControl True - although ForceForeground Window already in code.) : OBSOLETE ' 2005-08-16 Version 03.00.0035 (Version 2.03.0053/54 Automatic date checking on Plates.dat, with user choice to update (backup made). FPGlobal.CheckPlateFileDate ' 2005-08-16 Version 03.00.0034 (Version 2.03.0053 Functions : + CopyHardwareFile, RenameFileAsBackup.) ' 2005-08-16 Version 03.00.0033 (Version 2.03.0033/34) + TransferDP object + mods to use TPlate (SubPlates) : TransferDrop brought up to date (3 hrs) ' ================================ More Version 18 changes now implemented ========================================================================== ' 2005-08-15 Version 03.00.0032 + TBore.Syringe added, so TBore knows syinge volume available etc, So now, TValveGroup.AttachTip sets TBore.Syringe ' 2005-08-15 Version 03.00.0031 + TMultiboreTip.Flush using GIF ' 2005-08-15 Version 03.00.0030 + Animated GIFs added for syringe flushing and debubbling. ' ================================ New functionality ========================================================================== ' 2005-08-04 Version 03.00.0029 (Version 2.03.0046) WellEnvelope(), WellCentroid added to VBPlate and cmPlate : Unnecessary - already in dev version ' 2005-08-04 Version 03.00.0029 (Version 2.03.0045 Maximum Home time out increased to 6 minutes.) : Done ' 2005-08-04 Version 03.00.0028 (Version 2.03.0036 SelectedPlate specified on Resume from Adjust Tip) : Different? ExitMove? ' 2005-08-04 Version 03.00.0028 (Version 2.03.0036 SetSweep called on SetExperiment, to cancel any pending sweep.) : Done ' 2005-08-04 Version 03.00.0027 ~ Changes brought in from release version 2.03.0031/39/43 Nudge : disable just the lowering buttons, when DownState=false ' 2005-08-04 Version 03.00.0027 (' 2005-06-08 Version 2.03.0040 Test/Adjust Tip : default focus moved from [Exit] to [Continue]) : OBSOLETE due to wizard ' 2005-08-04 Version 03.00.0027 (Version 2.03.0032 Test/Adjust Tip - tabbing works to allow skipping of V Tip Test - default set to Exit) : OBSOLETE due to wizard ' 2005-08-04 Version 03.00.0027 (Version 2.03.0049 cmdGoToXY changed to avoid using obsolete forth command 'z' for zero) : OBSOLETE due to rewrite of GotoXYZForm ' ================================ Version 18 changes now implemented ========================================================================== ' 2005-06-07 Version 2.03.0035 # Current well stacked, in addition to LastLidLocation, for Suspend/TipAdjust/Resume ' 2005-05-31 Version 2.03.0030 # CShield command prevented from forcing focus on EXPOSE/HOME ' 2005-05-13 Version 2.03.0029 ~ Message suppressed when no shield field in dBase ' 2005-05-13 Version 2.03.0027 # Bug fixed : XStep was locking dBase by PlateLoader.SetShieldInUse() calling DP.Writeparams, without subsequent Commit, so FP couldn't read/write Disparams Table ' ============================== Version 18 changes (bifurcation) - not yet implemented =================================================================== ' 2005-08-03 Version 03.00.0026 + wizTipInstall ' 2005-08-02 Version 03.00.0025 + ZVTip ActiveX - format for offset display widened to show +/- ' 2005-08-01 Version 03.00.0024 + ZVTip - blue square changed to blue bar for changing display mode ' 2005-08-01 Version 03.00.0023 + ZVTip + Click event -> zorder in PlateLoader.frm ' 2005-07-29 Version 03.00.0020 + wizTipTest ' 2005-07-28 Version 03.00.0019 + wizReposition - not complete ' 2005-07-27 Version 03.00.0017 + wizFlush rewritten ' 2005-07-26 Version 03.00.0016 + TMultiboreTip, TChassis ' 2005-07-25 Version 03.00.0015 + wizFlush ' 2005-07-24 Version 03.00.0010 + wizRezero, wizDebubble ' 2005-07-21 Version 03.00.0009 + wizards ' 2005-04-29 Version 2.04.0003 + Addition of ChassisForm.frm for valve control. ' 2005-04-28 Version 2.04.0002 + Addition of Channel/ChannelList modules with EditChannel.frm etc. for flexible channel control ' 2005-04-28 Version 2.04.0001 + Incorporation of OryxChassis components, and removal of individual Valve, Motor and Syringe ' 2005-05-08 Version 2.03.0026 ~ Improvements to RegView, including dumping to file. ' 2005-05-05 Version 2.03.0025 ~ TimeOut values - if -ve, imply operation disabled (but time still preserved as magnitude of value) ' 2005-05-05 Version 2.03.0024 ~ PowerDown achievedby specifiying a HomeTimeOut. ' 2005-05-05 Version 2.03.0023 ~ PowerDown only happens when in HOME postion, if evaporation shield in use. ' 2005-05-05 Version 2.03.0022 # PlateLoader.Lid homed when PlateLoader homed, to avoid crash. ' 2005-04-27 Version 2.03.0021 + Trivial change - Mouse position display on PlateLoader ' 2005-04-26 Version 2.03.0020 + cmdReposition : Forces flushing message for all channels (bar oil) not marked as "(unused)" from Version 2.02.0056 ' 2005-04-13 Version 2.03.0019 + PlateLoader stores last well exposed by shield. This is stacked for TipTest, and reinstated when resuming. ' 2005-04-05 Version 2.03.0017 ~ Workspace reference stored in PlateLoader, default=Nothing means no rollback (FP situation). XStep sets this reference, allowing rollback. ' 2005-03-31 Version 2.03.0010 ~ Gettting evaporation shield working. Recompiled with EvaporationShield Version 1.01.0029 ' 2005-03-31 Version 2.03.0005 + Dispensing suppressed for TransferDrop with ProtChannel=-1 ' 2005-03-30 Version 2.03.0004 # PlateLoader.MovementStrings handles special case of n=0. timDispatch.CShield suppresses output when no moves to make ' 2005-03-15 Version 2.03.0003 + CShield command added. Shield now operating in PlateLoader. ' 2005-03-22 Version 2.03.0002 ~ Renaming of forms - dropping "frm" prefix - archiving of old forms. This form renamed "Panel" ' 2005-03-16 to 2005-03-21 Machennes ' 2005-03-15 Version 2.03.0001 ~ New versioning of PlateLoader.frm ' 2005-04-26 Version 2.02.0056 cmdReposition : Forces flushing message for all channels (bar oil) not marked as "(unused)" ' 2005-03-10 Version 2.02.0055 Ensures existence of "C:\Crystallization Experiments\Logs" folder, and creates if necessary. All syringes checked on "Rezero All" ' 2005-02-21 Version 2.02.0054 MoveToOpenTable added in several places in cmdSyringeLoad ' 2005-02-10 Version 2.02.0053 Tip Offset Adjustments logged Crystallization Experiments\TipAdjustments.log ' 2005-02-10 Version 2.02.0052 ExecuteWellEx progress incrementing improved. ' 2005-02-10 Version 2.02.0051 cmdSyringeLoad - moves to open space BEFORE doing air intake, so drop can be removed from tip. ' 2005-02-10 Version 2.02.0050 MCCControl::Skip() - extra warning and wording when attempting Align Tip in mid experiment. ' 2005-02-09 Version 2.02.0049 cmdTipTest - forced rezero repositioned to apply only to menu request, not mid expt request ' 2005-01-27 Version 2.02.0048 mnuFileAssociations - Access Denied message for limited users ' 2005-01-27 Version 2.02.0047 SetExperiment command now forces RezeroIfBeltDrive; ShowPlate now uses ForceForegroundWindow ' 2005-01-27 Version 2.02.0046 Waste bottle tip crash workaround (dialog in .0043) removed, as not correct diagnosis of crash. ' 2005-01-27 Version 2.02.0045 ExecuteWellEx - additional valve check and reminder ' 2005-01-27 Version 2.02.0044 mnuFileAssociations informs user about paths being set ' 2005-01-26 Version 2.02.0043 ~ cmdSyringeLoad - dialog if Waste not specified ' 2005-01-26 Version 2.02.0042 ~ mmnuExecuteWell_Click warns if no target plate. ' 2005-01-26 Version 2.02.0041 ~ cmdTipTest now says "Returning to original coordinates" if doing TipAdjust during interrupted execution ' 2005-01-26 Version 2.02.0040 + TimeOut form introduced for mnuPlateLoaderTimeOut_Click() ' 2005-01-24 Version 2.02.39 + STOP button trapped in calls to OilDrop ' 2005-01-24 Version 2.02.38 ~ Menu wording change : Test Tip and Plate Positions -> Adjust Tip Position ' 2005-01-17 Version 2.02.37 ~ PlateLoaderObjects9.ocx reference removed again. ' 2005-01-17 Version 2.02.36 + Debug control read/written from/to registry. ' 2005-01-15 Version 2.02.35 ~ ForceForegroundWindow applied to MCCControl in Panel::cmdRezero - still cannot give MCCControl the FOCUS. ' 2005-01-15 Version 2.02.34 ~ MCCDialog::OilDrop uses TipZOffset(Arm) ' 2005-01-12 Version 2.02.33 ~ SysFlags.ApplicationCommandCount redefined as Long to prevent overflow after 10 screens ' 2005-01-12 Version 2.02.32 = recompiled referenceing PlaterLoaderObjects.ocx, not PlaterrloaderObjects**9**.ocx ' 2004-12-10 Version 2.02.31 ~ cmdGotoXYZ now uses V arm tip offsets - (due to new method of tip offsets with vertical adjust, V offsets not being applied) ' 2004-12-08 Version 2.02.30 ~ OilDrop - incorrect error reporting to WASP on pressing MCC STOP (not FP STOP) ' 2004-12-02 Version 2.02.29 + Debug timer/Stamped, Command State debugging, improved WASP command interface (for TelAviv U. problem) (look for WASP/FP) ' 2004-11-16 Version 2.02.28 ~ About box cleaned up and updated. ' 2004-11-15 Version 2.02.27 + WarnMCCUpdate. Made dependent on initial setting of mnuWarnMCCUpdate.checked; default = true. ' 2004-11-11 Version 2.02.26 + ZVTip.ocx/ ShowTips. Improved manual protein loading with automatic waste/rinse, if Arrays defined. ' 2004-11-10 Version 2.02.25 - Old RV functions ripped out. ' 2004-11-10 Version 2.02.24 ~ cmdTipTest + RezeroIfBeltDrive (renamed) added for better security in adjusting position ' 2004-11-09 Version 2.02.23 ~ Nudge form - cmdStep() was causing resumption of experiment when doing Pause/Align Tip. Fixed by suppressing calls to Panel.Acknowledge. ' 2004-11-07 Version 2.02.22 ~ SetTransferParameters stores subwell (in TargetSubWell) for subsequent use by TransferDrop to highlight correct well. ' 2004-11-05 Version 2.02.20 ~ cmdTipTest : sbStop replaced by sbPause or sbNone. Also Pause/STOP trapped properly to go directly to Home/Abort state. ' 2004-11-04 Version 2.02.19 + Option to pause and align tip. Plates always reenabled for AlignTip. ' 2004-10-29 Version 2.02.18 + Reads OptoAxes and does opto rezero on Z+V as appropriate. ' 2004-10-15 Version 2.02.16 ~ Invalid Help and Oil Flush menu items suppressed. ' 2004-10-04 Version 2.02.11 + Double rezero stopped by issuing "0 [pfa] ROPU? !" in various places. ' 2004-10-04 Version 2.02.12 + MCC Version checking ' 2004-10-01 Version 2.02.11 ~ Suppression of double rezero for rezeroing commands ' 2004-09-29 Version 2.02.10 ~ Change to use new version 1.2 Channel.ocx, to conditionally shutdown MCCTerminal on exit. ' 2004-09-22 Version 2.02.08 ~ Oil Well Color corrected to blue. ' 2004-09-21 Version 2.02.07 + TransferDischargeVolume ' 2004-09-07 Version 2.02.02 + ExecuteWellEx for resumption of XStep well dispensing after interruption. ' 2004-09-07 Version 2.01.95 + StatusW for Wasp checking of when FP running properly ' 2004-08-12 Version 2.01.08 + (Allan D'Arcy) Correction in CalculateTransferCoordinates to incorporate TipZOffset(Zarm) for new height adjustment ' 2004-08-12 Version 2.01.07 + GetPlateLoaderPosition for WASP/LASTCOM.POS; changed NOT to insert commas between coordinates ' 2004-08-10 Version 2.01.01 ~ TransferDrop now passes AirVol instead of BackLashVol ' 2004-08-02 Version 2.00.05 + new Nudge form incorporated into cmdAlign and cmdTipInstall ' TextFile class added to project, ScriptFile holds file to be interpreted. ExecuteNextScriptInstruction() does job ' 2004-06-11 Version 2.00.01 + Script Interpreter for file execution : ' 2004-05-27 Version 1.84.22 + LoadExperiment() PlateLoader.ClearArrays to fix XStepOil/Waste annotation showing in WASP expts. ' 2004-05-18 Version 1.84.19 Sweep implemented in Deliver and TransferDrop ' 2003-05-29 Version 1.83.01 Powerdown/Powerdown delay + corrections to HomeTimeOut ' ShelfHeight added to CompoundWell/TSubWell for SetTransferParameters ' 2003-04-14 Version 1.82.01 SetTransfer for Wasp to automatically deal with different protein transfers for sitting drop ' 2002-09-23 Version 1.70.xx = change to MCC active feedback - no polling of MCC stepping state in moves. Instead use ExecuteMCCInstruction() driven by RxData event ' 2002-01-22 Version 1.52.10 - removal of all amCable references in actuate() call. ' large values of Top and Left into Panel, when Panel is minimized, so subsequent calcs for eg position of MCCControl put MCCControl off screen ' 2001-12-13 Version 1.52.09 ~ correction to SetFocus to bring up Panel, and protection against using Top/Left properties when form is minimized - VB stuffs stupidly ' 08-12-2000 Version 1.50.xx + Nudging of tip positions, and saving of offsets in registry. Also oil dispensing offset changed to X direction ' 18-08-2000 Version 1.45.04 wellStr(Row,Col) changed to use PlateLoader.PLList(1).Plate.WellLegend(Row, Col) instead old chr(Asc("A")+Row)+.. etc ' 26-04-2000 Version 1.43.03 Including backlash compensation in SyringeMove()for WASP deliver() ' 07-04-2000 Version 1.42.14 Restoring frmPanel when MCCControl made visible made more thorough ' 05-04-2000 Version 1.42.12 Control over grabbing foreground set on mnuViewBackground ' 05-04-2000 Version 1.42.11 Better messaging for "oil pot present" ' 04-04-2000 Version 1.42.09 Oil syringe slowed, and oil backlash set to 15ul. ' Warnings issued if no plate associated with experiment for InstallTip+TipTest+Supply Plates ' 31-03-2000 Version 1.42.08 V axis raised before rezeroing X and Y axes. ' 12-08-99 Execute Well Loading oil - 600ul + extra 50ul margin ' 30-11-98 Valve positions for Debubble, Flush, Dispense, recover