<?xml version="1.0"?>
<Experiment xmlns:dt="urn:schemas-microsoft-com:datatypes"><General><Version><Major>2</Major><Minor>0</Minor><Internal>10</Internal><Build>252</Build><_VersionPersist dt:dt="int">200</_VersionPersist></Version></General><ExperimentObject><Guid dt:dt="string">{A570FCFE-A711-405A-9A67-0E7005D5536F}</Guid><Root dt:dt="string">SessionProc</Root><Name dt:dt="string">ChronosSliderEP2</Name><Author dt:dt="string">Andrew Sobotka (PST)</Author><Abstract dt:dt="string"></Abstract><Notes dt:dt="string"></Notes><ClockGuid dt:dt="string">{10343DBD-55BE-45C7-AA62-A5239F6918AB}</ClockGuid><ClockIndex dt:dt="int">0</ClockIndex><ClockScale dt:dt="r8">1</ClockScale><VersionMajor dt:dt="int">1</VersionMajor><VersionMinor dt:dt="int">0</VersionMinor><VersionInternal dt:dt="int">0</VersionInternal><VersionBuild dt:dt="int">15</VersionBuild><VersionAutoIncrement dt:dt="boolean">1</VersionAutoIncrement><CreationDateUtc dt:dt="dateTime">2017-08-29T12:41:51.000</CreationDateUtc><Features dt:dt="int">536870912</Features><Devices><Device><Name dt:dt="string">Display</Name><Class dt:dt="string">Display</Class><DeviceObject><_VersionPersist dt:dt="int">1</_VersionPersist><OpenDevice dt:dt="int">-1</OpenDevice><RTAdjustment dt:dt="int">0</RTAdjustment><Width dt:dt="int">1680</Width><Height dt:dt="int">1050</Height><BitsPerPixel dt:dt="int">32</BitsPerPixel><DefaultColor dt:dt="string">white</DefaultColor><DisplayIndex dt:dt="int">1</DisplayIndex><RefreshRateRequested dt:dt="int">0</RefreshRateRequested><MinAcceptableRefreshRate dt:dt="int">39</MinAcceptableRefreshRate><MaxAcceptableRefreshRate dt:dt="int">201</MaxAcceptableRefreshRate><DefaultSettingsUsed dt:dt="string">Yes</DefaultSettingsUsed><BadRefreshErrorUsed dt:dt="string">Yes</BadRefreshErrorUsed><FlippingEnabled dt:dt="boolean">1</FlippingEnabled><RefreshAlignment dt:dt="string">25%</RefreshAlignment></DeviceObject></Device><Device><Name dt:dt="string">Keyboard</Name><Class dt:dt="string">Keyboard</Class><DeviceObject><_VersionPersist dt:dt="int">1</_VersionPersist><OpenDevice dt:dt="int">-1</OpenDevice><CollectionMode dt:dt="int">1</CollectionMode><EmulateDeviceName dt:dt="string"></EmulateDeviceName><SystemAbortWatchSequence dt:dt="string"></SystemAbortWatchSequence><UserBreakStateSequence dt:dt="string"></UserBreakStateSequence><ConditionalExitSequence dt:dt="string"></ConditionalExitSequence><RTAdjustment dt:dt="int">0</RTAdjustment><CapsLock dt:dt="boolean">0</CapsLock><NumLock dt:dt="boolean">1</NumLock></DeviceObject></Device><Device><Name dt:dt="string">Mouse</Name><Class dt:dt="string">Mouse</Class><DeviceObject><_VersionPersist dt:dt="int">1</_VersionPersist><OpenDevice dt:dt="int">-1</OpenDevice><CollectionMode dt:dt="int">1</CollectionMode><EmulateDeviceName dt:dt="string"></EmulateDeviceName><SystemAbortWatchSequence dt:dt="string"></SystemAbortWatchSequence><UserBreakStateSequence dt:dt="string"></UserBreakStateSequence><ConditionalExitSequence dt:dt="string"></ConditionalExitSequence><RTAdjustment dt:dt="int">0</RTAdjustment><OpenMode dt:dt="int">0</OpenMode><ShowCursor dt:dt="boolean">0</ShowCursor></DeviceObject></Device><Device><Name dt:dt="string">Sound</Name><Class dt:dt="string">Sound</Class><DeviceObject><_VersionPersist dt:dt="int">1</_VersionPersist><OpenDevice dt:dt="int">-1</OpenDevice><RTAdjustment dt:dt="int">0</RTAdjustment><API dt:dt="string">DirectSound</API></DeviceObject></Device><Device><Name dt:dt="string">Chronos</Name><Class dt:dt="string">Chronos</Class><DeviceObject><_VersionPersist dt:dt="int">101</_VersionPersist><OpenDevice dt:dt="int">-1</OpenDevice><CollectionMode dt:dt="int">1</CollectionMode><EmulateDeviceName dt:dt="string"></EmulateDeviceName><SystemAbortWatchSequence dt:dt="string"></SystemAbortWatchSequence><UserBreakStateSequence dt:dt="string"></UserBreakStateSequence><ConditionalExitSequence dt:dt="string"></ConditionalExitSequence><RTAdjustment dt:dt="int">0</RTAdjustment><DeviceIndex dt:dt="int">0</DeviceIndex><StartupSequenceEnabled dt:dt="boolean">0</StartupSequenceEnabled><AudioInAutoDefinition dt:dt="string">[DataFile.BaseName]-@Device-@LogLevel-@Increment.wav</AudioInAutoDefinition><AudioInDuration dt:dt="int">-1</AudioInDuration><AudioInFilename dt:dt="string">@Auto</AudioInFilename><AudioInLogName dt:dt="string">@Device.Filename</AudioInLogName><AudioInOffsetThreshold dt:dt="string">10%</AudioInOffsetThreshold><AudioInOnsetThreshold dt:dt="string">10%</AudioInOnsetThreshold><AudioInPostOffsetInterval dt:dt="int">500</AudioInPostOffsetInterval><AudioInPreAmpGain dt:dt="string">auto</AudioInPreAmpGain><AudioInDigitalGain dt:dt="int">0</AudioInDigitalGain><AudioInPreOnsetInterval dt:dt="int">250</AudioInPreOnsetInterval><AudioInStartMode dt:dt="string">immediate</AudioInStartMode><AudioInStopMode dt:dt="string">normal</AudioInStopMode><AudioInRecordingFormat dt:dt="int">1</AudioInRecordingFormat><AudioInStopAfterLog dt:dt="boolean">1</AudioInStopAfterLog><AudioOutBufferSize dt:dt="r8">6</AudioOutBufferSize><AudioOutMixMode dt:dt="int">1</AudioOutMixMode><AudioOutMixSize dt:dt="r8">120</AudioOutMixSize><AudioOutDigitalGain dt:dt="int">-20</AudioOutDigitalGain><AudioOutOffsetThresholdLeft dt:dt="string">0%</AudioOutOffsetThresholdLeft><AudioOutOffsetThresholdRight dt:dt="string">0%</AudioOutOffsetThresholdRight><AudioOutOnsetThresholdLeft dt:dt="string">0%</AudioOutOnsetThresholdLeft><AudioOutOnsetThresholdRight dt:dt="string">0%</AudioOutOnsetThresholdRight><AudioOutPostOffsetIntervalLeft dt:dt="r8">3</AudioOutPostOffsetIntervalLeft><AudioOutPostOffsetIntervalRight dt:dt="r8">3</AudioOutPostOffsetIntervalRight><AudioOutSyncEnabled dt:dt="boolean">1</AudioOutSyncEnabled><DigitalOutInit dt:dt="int">0</DigitalOutInit><DigitalOutFinish dt:dt="int">0</DigitalOutFinish><LED1Color dt:dt="string">white</LED1Color><LED1State dt:dt="boolean">0</LED1State><LED2Color dt:dt="string">white</LED2Color><LED2State dt:dt="boolean">0</LED2State><LED3Color dt:dt="string">white</LED3Color><LED3State dt:dt="boolean">0</LED3State><LED4Color dt:dt="string">white</LED4Color><LED4State dt:dt="boolean">0</LED4State><LED5Color dt:dt="string">white</LED5Color><LED5State dt:dt="boolean">0</LED5State><LEDResetAtFinish dt:dt="boolean">1</LEDResetAtFinish><PhotosensorGain dt:dt="r8">0.95</PhotosensorGain><AutoSyncEnabled dt:dt="boolean">1</AutoSyncEnabled><PulseGeneratorPlaybackRate dt:dt="r8">1000</PulseGeneratorPlaybackRate><PulseGeneratorIdleValue dt:dt="boolean">0</PulseGeneratorIdleValue><Debounce1 dt:dt="int">20</Debounce1><ResponseEnabled1 dt:dt="boolean">1</ResponseEnabled1><Debounce2 dt:dt="int">20</Debounce2><ResponseEnabled2 dt:dt="boolean">1</ResponseEnabled2><Debounce3 dt:dt="int">20</Debounce3><ResponseEnabled3 dt:dt="boolean">1</ResponseEnabled3><Debounce4 dt:dt="int">20</Debounce4><ResponseEnabled4 dt:dt="boolean">1</ResponseEnabled4><Debounce5 dt:dt="int">20</Debounce5><ResponseEnabled5 dt:dt="boolean">1</ResponseEnabled5><Debounce6 dt:dt="int">0</Debounce6><ResponseEnabled6 dt:dt="boolean">1</ResponseEnabled6><Debounce7 dt:dt="int">0</Debounce7><ResponseEnabled7 dt:dt="boolean">1</ResponseEnabled7><Debounce8 dt:dt="int">0</Debounce8><ResponseEnabled8 dt:dt="boolean">1</ResponseEnabled8><Debounce9 dt:dt="int">0</Debounce9><ResponseEnabled9 dt:dt="boolean">1</ResponseEnabled9><Debounce10 dt:dt="int">0</Debounce10><ResponseEnabled10 dt:dt="boolean">1</ResponseEnabled10><Debounce11 dt:dt="int">0</Debounce11><ResponseEnabled11 dt:dt="boolean">1</ResponseEnabled11><Debounce12 dt:dt="int">0</Debounce12><ResponseEnabled12 dt:dt="boolean">1</ResponseEnabled12><Debounce13 dt:dt="int">0</Debounce13><ResponseEnabled13 dt:dt="boolean">0</ResponseEnabled13><Debounce14 dt:dt="int">0</Debounce14><ResponseEnabled14 dt:dt="boolean">0</ResponseEnabled14><Debounce15 dt:dt="int">20</Debounce15><ResponseEnabled15 dt:dt="boolean">1</ResponseEnabled15><Debounce16 dt:dt="int">20</Debounce16><ResponseEnabled16 dt:dt="boolean">1</ResponseEnabled16><AnalogIn><AnalogInUnicode dt:dt="boolean">1</AnalogInUnicode><AnalogInStreamPumpInterval dt:dt="int">8</AnalogInStreamPumpInterval><Channel><SampleRate dt:dt="r8">0</SampleRate><ScaledMin dt:dt="r8">0</ScaledMin><ScaledMax dt:dt="r8">1</ScaledMax><HistoryMaxCount dt:dt="int">100000</HistoryMaxCount><Aggregate dt:dt="boolean">1</Aggregate><OnsetThreshold dt:dt="r8">0.55</OnsetThreshold><OffsetThreshold dt:dt="r8">0.45</OffsetThreshold><Filename dt:dt="string">@Auto</Filename><AutoDefinition dt:dt="string">[DataFile.BaseName]-@Device-@Channel-@LogLevel-@Increment.txt</AutoDefinition><ColumnHeadings dt:dt="string">RTTime\tRTTimeMicro\tSAMPLE\tSEQUENCE\tCHANNEL\t@Experiment\t@SessionDate\t@SessionTime</ColumnHeadings><RowDefinition dt:dt="string">@RTTime\t@RTTimeMicro\t@Sample\t@SEQH\t@Channel</RowDefinition><StopAfterLog dt:dt="boolean">1</StopAfterLog><LogName dt:dt="string">@Device@Channel.Filename</LogName></Channel><Channel><SampleRate dt:dt="r8">0</SampleRate><ScaledMin dt:dt="r8">0</ScaledMin><ScaledMax dt:dt="r8">1</ScaledMax><HistoryMaxCount dt:dt="int">100000</HistoryMaxCount><Aggregate dt:dt="boolean">1</Aggregate><OnsetThreshold dt:dt="r8">0.55</OnsetThreshold><OffsetThreshold dt:dt="r8">0.45</OffsetThreshold><Filename dt:dt="string">@Auto</Filename><AutoDefinition dt:dt="string">[DataFile.BaseName]-@Device-@Channel-@LogLevel-@Increment.txt</AutoDefinition><ColumnHeadings dt:dt="string">RTTime\tRTTimeMicro\tSAMPLE\tSEQUENCE\tCHANNEL\t@Experiment\t@SessionDate\t@SessionTime</ColumnHeadings><RowDefinition dt:dt="string">@RTTime\t@RTTimeMicro\t@Sample\t@SEQH\t@Channel</RowDefinition><StopAfterLog dt:dt="boolean">1</StopAfterLog><LogName dt:dt="string">@Device@Channel.Filename</LogName></Channel><Channel><SampleRate dt:dt="r8">0</SampleRate><ScaledMin dt:dt="r8">0</ScaledMin><ScaledMax dt:dt="r8">1</ScaledMax><HistoryMaxCount dt:dt="int">100000</HistoryMaxCount><Aggregate dt:dt="boolean">1</Aggregate><OnsetThreshold dt:dt="r8">0.55</OnsetThreshold><OffsetThreshold dt:dt="r8">0.45</OffsetThreshold><Filename dt:dt="string">@Auto</Filename><AutoDefinition dt:dt="string">[DataFile.BaseName]-@Device-@Channel-@LogLevel-@Increment.txt</AutoDefinition><ColumnHeadings dt:dt="string">RTTime\tRTTimeMicro\tSAMPLE\tSEQUENCE\tCHANNEL\t@Experiment\t@SessionDate\t@SessionTime</ColumnHeadings><RowDefinition dt:dt="string">@RTTime\t@RTTimeMicro\t@Sample\t@SEQH\t@Channel</RowDefinition><StopAfterLog dt:dt="boolean">1</StopAfterLog><LogName dt:dt="string">@Device@Channel.Filename</LogName></Channel><Channel><SampleRate dt:dt="r8">4000</SampleRate><ScaledMin dt:dt="r8">0</ScaledMin><ScaledMax dt:dt="r8">1</ScaledMax><HistoryMaxCount dt:dt="int">100000</HistoryMaxCount><Aggregate dt:dt="boolean">1</Aggregate><OnsetThreshold dt:dt="r8">0.8</OnsetThreshold><OffsetThreshold dt:dt="r8">0.4</OffsetThreshold><Filename dt:dt="string">@Auto</Filename><AutoDefinition dt:dt="string">[DataFile.BaseName]-@Device-@Channel-@LogLevel-@Increment.txt</AutoDefinition><ColumnHeadings dt:dt="string">RTTime\tRTTimeMicro\tSAMPLE\tSEQUENCE\tCHANNEL\t@Experiment\t@SessionDate\t@SessionTime</ColumnHeadings><RowDefinition dt:dt="string">@RTTime\t@RTTimeMicro\t@Sample\t@SEQH\t@Channel</RowDefinition><StopAfterLog dt:dt="boolean">1</StopAfterLog><LogName dt:dt="string">@Device@Channel.Filename</LogName></Channel><Channel><SampleRate dt:dt="r8">0</SampleRate><ScaledMin dt:dt="r8">0</ScaledMin><ScaledMax dt:dt="r8">0</ScaledMax><HistoryMaxCount dt:dt="int">100000</HistoryMaxCount><Aggregate dt:dt="boolean">0</Aggregate><OnsetThreshold dt:dt="r8">0</OnsetThreshold><OffsetThreshold dt:dt="r8">0</OffsetThreshold><Filename dt:dt="string">@Auto</Filename><AutoDefinition dt:dt="string">[DataFile.BaseName]-@Device-Aggregate-@LogLevel-@Increment.txt</AutoDefinition><ColumnHeadings dt:dt="string">RTTime\tRTTimeMicro\tSAMPLE\tSEQUENCE\tCHANNEL\t@Experiment\t@SessionDate\t@SessionTime</ColumnHeadings><RowDefinition dt:dt="string">@RTTime\t@RTTimeMicro\t@Sample\t@SEQH\t@Channel</RowDefinition><StopAfterLog dt:dt="boolean">1</StopAfterLog><LogName dt:dt="string">@Device@Channel.Filename</LogName></Channel></AnalogIn><AnalogOut><Channel><Frequency dt:dt="r8">1000</Frequency><Waveform dt:dt="int">0</Waveform><Fidelity dt:dt="int">0</Fidelity><Offset dt:dt="r8">0.5</Offset><Amplitude dt:dt="r8">0.5</Amplitude><Duration dt:dt="int">-1</Duration><StopAfterLog dt:dt="boolean">1</StopAfterLog></Channel><Channel><Frequency dt:dt="r8">1000</Frequency><Waveform dt:dt="int">0</Waveform><Fidelity dt:dt="int">0</Fidelity><Offset dt:dt="r8">0.5</Offset><Amplitude dt:dt="r8">0.5</Amplitude><Duration dt:dt="int">-1</Duration><StopAfterLog dt:dt="boolean">1</StopAfterLog></Channel><Channel><Frequency dt:dt="r8">1000</Frequency><Waveform dt:dt="int">0</Waveform><Fidelity dt:dt="int">0</Fidelity><Offset dt:dt="r8">0.5</Offset><Amplitude dt:dt="r8">0.5</Amplitude><Duration dt:dt="int">-1</Duration><StopAfterLog dt:dt="boolean">1</StopAfterLog></Channel><Channel><Frequency dt:dt="r8">1000</Frequency><Waveform dt:dt="int">0</Waveform><Fidelity dt:dt="int">0</Fidelity><Offset dt:dt="r8">0.5</Offset><Amplitude dt:dt="r8">0.5</Amplitude><Duration dt:dt="int">-1</Duration><StopAfterLog dt:dt="boolean">1</StopAfterLog></Channel></AnalogOut></DeviceObject></Device></Devices><Packages/><DataFile><WarnBeforeOverwrite dt:dt="int">-1</WarnBeforeOverwrite><WarnIfConvertFailed dt:dt="int">-1</WarnIfConvertFailed><RemoveERecoveryFile dt:dt="int">0</RemoveERecoveryFile><ReceiveFeedbackDuringDataFileConversion dt:dt="int">-1</ReceiveFeedbackDuringDataFileConversion><DataFileName dt:dt="string"></DataFileName><LogLevels><LogLevel dt:dt="string">Block</LogLevel><LogLevel dt:dt="string">Trial</LogLevel><LogLevel dt:dt="string">SubTrial</LogLevel><LogLevel dt:dt="string">LogLevel5</LogLevel><LogLevel dt:dt="string">LogLevel6</LogLevel><LogLevel dt:dt="string">LogLevel7</LogLevel><LogLevel dt:dt="string">LogLevel8</LogLevel><LogLevel dt:dt="string">LogLevel9</LogLevel><LogLevel dt:dt="string">LogLevel10</LogLevel></LogLevels></DataFile><StartupInfo><DisplaySummary dt:dt="boolean">1</DisplaySummary><UseDefaults dt:dt="boolean">0</UseDefaults><LoadStartupInfo dt:dt="boolean">1</LoadStartupInfo><StartupInfoItems><StartupInfoItem><Name dt:dt="string">Subject</Name><Prompt dt:dt="string">Please enter the Subject Number (0=No Data Logging):</Prompt><DataType dt:dt="int">0</DataType><Enabled dt:dt="int">-1</Enabled><PromptEnabled dt:dt="int">-1</PromptEnabled><Default dt:dt="string">1</Default><Min dt:dt="int">0</Min><Max dt:dt="int">2147483647</Max></StartupInfoItem><StartupInfoItem><Name dt:dt="string">Session</Name><Prompt dt:dt="string">Please enter the Session Number (1-32767):</Prompt><DataType dt:dt="int">0</DataType><Enabled dt:dt="int">-1</Enabled><PromptEnabled dt:dt="int">-1</PromptEnabled><Default dt:dt="string">1</Default><Min dt:dt="int">1</Min><Max dt:dt="int">32767</Max></StartupInfoItem><StartupInfoItem><Name dt:dt="string">Group</Name><Prompt dt:dt="string">Please enter Subject's Group (0-32767):</Prompt><DataType dt:dt="int">0</DataType><Enabled dt:dt="int">0</Enabled><PromptEnabled dt:dt="int">0</PromptEnabled><Default dt:dt="string">1</Default><Min dt:dt="int">0</Min><Max dt:dt="int">32767</Max></StartupInfoItem><StartupInfoItem><Name dt:dt="string">Name</Name><Prompt dt:dt="string">Please enter Subject's Name:</Prompt><DataType dt:dt="int">1</DataType><Enabled dt:dt="int">0</Enabled><PromptEnabled dt:dt="int">0</PromptEnabled><Default dt:dt="string"></Default><MaxLength dt:dt="int">255</MaxLength></StartupInfoItem><StartupInfoItem><Name dt:dt="string">Age</Name><Prompt dt:dt="string">Please enter Subject's Age (0-150):</Prompt><DataType dt:dt="int">0</DataType><Enabled dt:dt="int">0</Enabled><PromptEnabled dt:dt="int">0</PromptEnabled><Default dt:dt="string">0</Default><Min dt:dt="int">0</Min><Max dt:dt="int">150</Max></StartupInfoItem><StartupInfoItem><Name dt:dt="string">Sex</Name><Prompt dt:dt="string">Please enter Subject's Sex:</Prompt><DataType dt:dt="int">2</DataType><Enabled dt:dt="int">0</Enabled><PromptEnabled dt:dt="int">0</PromptEnabled><Default dt:dt="string">male</Default><Choices><Choice dt:dt="string">male</Choice><Choice dt:dt="string">female</Choice></Choices></StartupInfoItem><StartupInfoItem><Name dt:dt="string">Handedness</Name><Prompt dt:dt="string">Enter Subject's Handedness:</Prompt><DataType dt:dt="int">2</DataType><Enabled dt:dt="int">0</Enabled><PromptEnabled dt:dt="int">0</PromptEnabled><Default dt:dt="string">left</Default><Choices><Choice dt:dt="string">left</Choice><Choice dt:dt="string">right</Choice></Choices></StartupInfoItem><StartupInfoItem><Name dt:dt="string">ResearcherID</Name><Prompt dt:dt="string">Please enter Researcher's ID:</Prompt><DataType dt:dt="int">0</DataType><Enabled dt:dt="int">0</Enabled><PromptEnabled dt:dt="int">0</PromptEnabled><Default dt:dt="string">1</Default><Min dt:dt="int">0</Min><Max dt:dt="int">32767</Max></StartupInfoItem></StartupInfoItems></StartupInfo></ExperimentObject><StudioItems><StudioItem><Name dt:dt="string">SessionProc</Name><TypeName dt:dt="string">Procedure</TypeName><Tag dt:dt="string"></Tag><Notes dt:dt="string"></Notes><ObjectData><Guid dt:dt="string">{5E491511-898E-4A85-AACD-6F2E402EBB83}</Guid><Version><Major>2</Major><Minor>0</Minor><Internal>10</Internal><Build>254</Build><_VersionPersist dt:dt="int">201</_VersionPersist></Version><LoggingItems/><ItemList><Item dt:dt="string">ValueDisplay</Item><Item dt:dt="string">StartLoop</Item></ItemList><DeviceList/><LogData dt:dt="boolean">1</LogData><FlushDataLog dt:dt="boolean">0</FlushDataLog><GenerateLabels dt:dt="boolean">1</GenerateLabels><ProcessPendingInputMasks dt:dt="int">0</ProcessPendingInputMasks><GeneratePreRun dt:dt="int">2</GeneratePreRun><GeneratePostRun dt:dt="int">2</GeneratePostRun><FlowItems><FlowItem><Name dt:dt="string">ValueDisplay</Name><TypeName dt:dt="string">TextDisplay</TypeName></FlowItem><FlowItem><Name dt:dt="string">StartLoop</Name><TypeName dt:dt="string">InLine</TypeName></FlowItem></FlowItems></ObjectData></StudioItem><StudioItem><Name dt:dt="string">ValueDisplay</Name><TypeName dt:dt="string">TextDisplay</TypeName><Tag dt:dt="string"></Tag><Notes dt:dt="string"></Notes><ObjectData><Guid dt:dt="string">{563F25BC-F1A3-4FE5-9ED1-AF75EE78E9FE}</Guid><Version><Major>2</Major><Minor>0</Minor><Internal>10</Internal><Build>263</Build><_VersionPersist dt:dt="int">100</_VersionPersist></Version><LoggingItems><LoggingItem><Name dt:dt="string">OnsetDelay</Name><Log dt:dt="boolean">0</Log></LoggingItem><LoggingItem><Name dt:dt="string">OnsetTime</Name><Log dt:dt="boolean">0</Log></LoggingItem><LoggingItem><Name dt:dt="string">DurationError</Name><Log dt:dt="boolean">0</Log></LoggingItem><LoggingItem><Name dt:dt="string">PreRelease</Name><Log dt:dt="boolean">0</Log></LoggingItem><LoggingItem><Name dt:dt="string">Duration</Name><Log dt:dt="boolean">0</Log></LoggingItem><LoggingItem><Name dt:dt="string">StartTime</Name><Log dt:dt="boolean">0</Log></LoggingItem><LoggingItem><Name dt:dt="string">OffsetTime</Name><Log dt:dt="boolean">0</Log></LoggingItem><LoggingItem><Name dt:dt="string">FinishTime</Name><Log dt:dt="boolean">0</Log></LoggingItem><LoggingItem><Name dt:dt="string">TimingMode</Name><Log dt:dt="boolean">0</Log></LoggingItem><LoggingItem><Name dt:dt="string">CustomOnsetTime</Name><Log dt:dt="boolean">0</Log></LoggingItem><LoggingItem><Name dt:dt="string">CustomOffsetTime</Name><Log dt:dt="boolean">0</Log></LoggingItem><LoggingItem><Name dt:dt="string">ActionDelay</Name><Log dt:dt="boolean">0</Log></LoggingItem><LoggingItem><Name dt:dt="string">ActionTime</Name><Log dt:dt="boolean">0</Log></LoggingItem><LoggingItem><Name dt:dt="string">TargetOffsetTime</Name><Log dt:dt="boolean">0</Log></LoggingItem><LoggingItem><Name dt:dt="string">TargetOnsetTime</Name><Log dt:dt="boolean">0</Log></LoggingItem><LoggingItem><Name dt:dt="string">PendingInputMasks</Name><Log dt:dt="boolean">0</Log></LoggingItem><LoggingItem><Name dt:dt="string">OffsetDelay</Name><Log dt:dt="boolean">0</Log></LoggingItem><LoggingItem><Name dt:dt="string">RTTime</Name><Log dt:dt="boolean">0</Log></LoggingItem><LoggingItem><Name dt:dt="string">ACC</Name><Log dt:dt="boolean">0</Log></LoggingItem><LoggingItem><Name dt:dt="string">RT</Name><Log dt:dt="boolean">0</Log></LoggingItem><LoggingItem><Name dt:dt="string">RESP</Name><Log dt:dt="boolean">0</Log></LoggingItem><LoggingItem><Name dt:dt="string">CRESP</Name><Log dt:dt="boolean">0</Log></LoggingItem><LoggingItem><Name dt:dt="string">Tag</Name><Log dt:dt="boolean">0</Log></LoggingItem><LoggingItem><Name dt:dt="string">OnsetToOnsetTime</Name><Log dt:dt="boolean">0</Log></LoggingItem></LoggingItems><DeviceList><Device dt:dt="string">Keyboard</Device></DeviceList><InputMasks><InputMask><DeviceName dt:dt="string">Keyboard</DeviceName><DeviceClass dt:dt="string">Keyboard</DeviceClass><AllowableInput dt:dt="string">{ANY}</AllowableInput><CorrectInput dt:dt="string"></CorrectInput><TimeLimit dt:dt="string">-1</TimeLimit><MaxCount dt:dt="string">1</MaxCount><InputAction dt:dt="int">1</InputAction><SyncOwnerDuration dt:dt="boolean">0</SyncOwnerDuration><Enabled dt:dt="boolean">1</Enabled><FlushInputBuffer dt:dt="string">Yes</FlushInputBuffer><TerminationInput dt:dt="string"></TerminationInput><UserTag dt:dt="string"></UserTag><EchoClients/><ResponseMode dt:dt="string">All</ResponseMode><ProcessBackspace dt:dt="string">Yes</ProcessBackspace></InputMask></InputMasks><Tasks/><Duration dt:dt="string">0</Duration><JumpLabel dt:dt="string"></JumpLabel><TimingMode dt:dt="int">0</TimingMode><PreRelease dt:dt="string">-1</PreRelease><OnsetSync dt:dt="int">1</OnsetSync><OffsetSync dt:dt="int">0</OffsetSync><ForeColor dt:dt="string">black</ForeColor><BackColor dt:dt="string">white</BackColor><BackStyle dt:dt="string">opaque</BackStyle><BorderColor dt:dt="string">black</BorderColor><BorderWidth dt:dt="string">0</BorderWidth><X dt:dt="string">center</X><Y dt:dt="string">center</Y><Width dt:dt="string">100%</Width><Height dt:dt="string">75%</Height><XAlign dt:dt="string">center</XAlign><YAlign dt:dt="string">center</YAlign><AlignHorizontal dt:dt="string">left</AlignHorizontal><AlignVertical dt:dt="string">top</AlignVertical><ClearAfter dt:dt="string">No</ClearAfter><FontName dt:dt="string">Courier New</FontName><FontSize dt:dt="string">18</FontSize><FontBold dt:dt="string">Yes</FontBold><FontItalic dt:dt="string">No</FontItalic><FontUnderline dt:dt="string">No</FontUnderline><FontStrikeout dt:dt="string">No</FontStrikeout><Text dt:dt="string">This text will change based off the StartLoop script.</Text><WordWrap dt:dt="int">-1</WordWrap><GeneratePreRun dt:dt="int">0</GeneratePreRun><GeneratePostRun dt:dt="int">0</GeneratePostRun><ResetLoggingProperties dt:dt="boolean">1</ResetLoggingProperties></ObjectData></StudioItem><StudioItem><Name dt:dt="string">StartLoop</Name><TypeName dt:dt="string">InLine</TypeName><Tag dt:dt="string"></Tag><Notes dt:dt="string"></Notes><ObjectData><Guid dt:dt="string">{F707F2F0-D287-47F4-A3F6-3A6DA61166CB}</Guid><Version><Major>2</Major><Minor>0</Minor><Internal>10</Internal><Build>262</Build><_VersionPersist dt:dt="int">1</_VersionPersist></Version><LoggingItems/><DeviceList/><Code dt:dt="string">'This experiment uses the Chronos Slider found here: http://www.psychology-software-tools.mybigcommerce.com/chronos-slide-potentiometer-slider/

' Which channel are we sampling?
Const ADChan As Long = 1

' Because AD1 is accessible via Auxiliary IO, and Aux only provides a 5V source,
' there is a diode which protects the hardware in the event of an accidental connection to 5V

' The protection diode does have two side effects
' The most significant is that, in order to provide full protection to 3.3V,
' it will begin conducting around 3V; values under 3V are unaffected
' The second effect is a marginal increase in noise, but the value is always within 0.5%

' If noise or values above 3V are a concern, use AD2 or AD3
' The ScaledMax can be set to 1.1 so that 3V will map to 1.0


'	The Filter property of a ChronosAnalogInChannel (e.g. Chronos.AnalogIn(1)) is a Double
'	Filter is implemented in hardware as a weighted moving average filter where the Double describes the alpha/weight
'	This filter will smooth out noise, at the expense of reacting more slowly to a step change in the input
'	Higher values of alpha are smoother/slower
'	Lower values of alpha are sharper/faster
'	0.7 is a good "fast" value, 0.9 is a good medium value, 0.98 is a good "slow" value, a practical limit is 0.999

'	For "speed" consider a rule of thumb where it takes 1/(1-a) samples for a step change to take full effect
'	So 0.9 would be 1/(1-0.9)=10 samples, 0.98 would take 50 samples, etc
'	This can be compensated for by increasing the sampling rate of the channel
'	So if the SampleRate was 1000, and you set Filter to 0.9, you can increase SampleRate to 10000 to limit the impact of the filter
'	Very large steps can take longer to settle, up to 3x longer than this rule of thumb

'	For "smooth" consider a rule of thumb where noise is reduced by a factor of (1-a)
'	So if the there is peak-to-peak noise of 20 in the ValueInteger and alpha is 0.9, the noise will be reduced to about 2
'	Most noise will be reduced by more than this

'	These rules of thumb are meant to be guidelines
'	A full explanation of the transfer function for this filter is beyond the scope of this document

'	The general formula for the filter is
'		y(n) = a*x(n-1) + (1-a)*x(n)
'	where
'		y(n) is the filtered value
'		x(n) is the current sample
'		x(n-1) is the previous sample
'		a is the alpha/weight of the filter

'	Even if using GetCurrentSampleValue, as below, the Analog Input should still be sampling in the background
'	If not Recording, this background sampling remains constrained to the hardware, having no impact on software performance

Chronos.AnalogIn(ADChan).SampleRate = 50000
Chronos.AnalogIn(ADChan).Filter = 0.98


'	If calling Record after increasing the sampling rate in this manner,
'	the extra samples from the higher sampling rate can be discarded by using the SubSamplingRate property
'	Only 1 of every SubSamplingRate samples will be streamed to the Recording
'	So if SampleRate was 1000 the Recording would have one sample every millisecond
'	If SampleRate was increased to 10000 after setting Filter to 0.9, SubSamplingRate 10 will again provide one sample every millisecond

'	If using GetCurrentSample as below, there is no need for SubSamplingRate

' Chronos.AnalogIn(ADChan).SubSamplingRate = 50
' Chronos.AnalogIn(ADChan).Record

' ===============================================================

' Set a min and max scale for the input
Chronos.AnalogIn(ADChan).ScaledMin = 1
Chronos.AnalogIn(ADChan).ScaledMax = 10

' Set output voltage to max 3.3V
Chronos.AnalogOut(1).WriteValue 1.0
	
Do
	' Show current slider value in scaled form (default) and raw form (2)
	ValueDisplay.Text = "Scaled: " &amp; Chronos.AnalogIn(ADChan).GetCurrentSampleValue() &amp; ebTab &amp; "(Raw: " &amp; Chronos.AnalogIn(ADChan).GetCurrentSampleValue(2) &amp; ")"
	ValueDisplay.Draw
	
    ' If conditional exit or the Input Mask has terminated, exit
	' NOTE: Input Mask has infinite time limit so that it lives beyond the lifetime of ValueDisplay
    If GetConditionalExitState() &lt;&gt; 0 Or Not ValueDisplay.InputMasks(1).IsPending() Then
        Exit Do
    End If

Loop	</Code></ObjectData></StudioItem></StudioItems><UserScript dt:dt="string"></UserScript></Experiment>
