You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The automated algorithm for choosing the step size with the minimum error does not account for the requested amplitude; it only uses the existing stimuli. This means that if there are no amplitudes stored in the Stimuli array, there are a number of cases where the step size that is chosen does not minimize the error.
As a concrete example, when opening a new configuration window the default step size is Rhs2116StepSize.Step5000nA (5 µA), and the stimuli array is empty. If the user then requests 0.12 µA, the algorithm will determine that there are no differences between any of the possible step sizes, and chooses the one closest to the original step size to minimize error. This leads to Rhs2116StepSize.Step100nA (0.1 µA) being chosen as the new step size. However, this means that there is an error of 0.02 µA between the requested amplitude and the actual value that will be used for stimulation.
There is a current workaround for this, but it requires the user to write 0.01 as the requested amplitude and apply it to a random channel so that it sets the current step size as 0.01 µA before they can then write in 0.12 and have it applied correctly.
To solve:
Add the requested amplitude as an input to the internal method that algorithmically determines the new step size. This will ensure that even if there are no stimuli saved, it will use this amplitude as a reference to minimize the error.
Addendum: Should we change the default step size to be Rhs2116StepSize.Step10nA for new objects? This does not solve the current problem, but it might make more sense to start at the highest resolution step size and then go up if the user requires a higher amplitude than this can achieve.
The text was updated successfully, but these errors were encountered:
The automated algorithm for choosing the step size with the minimum error does not account for the requested amplitude; it only uses the existing stimuli. This means that if there are no amplitudes stored in the
Stimuli
array, there are a number of cases where the step size that is chosen does not minimize the error.As a concrete example, when opening a new configuration window the default step size is
Rhs2116StepSize.Step5000nA
(5 µA), and the stimuli array is empty. If the user then requests 0.12 µA, the algorithm will determine that there are no differences between any of the possible step sizes, and chooses the one closest to the original step size to minimize error. This leads toRhs2116StepSize.Step100nA
(0.1 µA) being chosen as the new step size. However, this means that there is an error of 0.02 µA between the requested amplitude and the actual value that will be used for stimulation.There is a current workaround for this, but it requires the user to write 0.01 as the requested amplitude and apply it to a random channel so that it sets the current step size as
0.01 µA
before they can then write in 0.12 and have it applied correctly.To solve:
Add the requested amplitude as an input to the internal method that algorithmically determines the new step size. This will ensure that even if there are no stimuli saved, it will use this amplitude as a reference to minimize the error.
Addendum: Should we change the default step size to be
Rhs2116StepSize.Step10nA
for new objects? This does not solve the current problem, but it might make more sense to start at the highest resolution step size and then go up if the user requires a higher amplitude than this can achieve.The text was updated successfully, but these errors were encountered: