99from device .focstim .constants_pb2 import AxisType
1010from stim_math import limits
1111
12- FOC_MIN_FREQUENCY = 500
13- FOC_MAX_FREQUENCY = 2000
14-
1512
1613class FOCStimFourphaseAlgorithm (RemoteGenerationAlgorithm ):
1714 def __init__ (self , media : AbstractMediaSync , params : FourphaseFOCStimParams , safety_limits : SafetyParamsFOC ):
@@ -42,10 +39,10 @@ def remap(value, min_value, max_value):
4239 np .clip (self .params .volume .inactivity .last_value (), 0 , 1 ) * \
4340 np .clip (self .params .volume .external .last_value (), 0 , 1 )
4441
45- maximum_frequency = np .clip (FOC_MAX_FREQUENCY ,
42+ maximum_frequency = np .clip (limits . CarrierFrequencyFOC . max ,
4643 self .safety_limits .minimum_carrier_frequency ,
4744 self .safety_limits .maximum_carrier_frequency )
48- minimum_frequency = np .clip (FOC_MIN_FREQUENCY ,
45+ minimum_frequency = np .clip (limits . CarrierFrequencyFOC . min ,
4946 self .safety_limits .minimum_carrier_frequency ,
5047 self .safety_limits .maximum_carrier_frequency )
5148 tau = self .params .tau .last_value () * 1e-6
@@ -65,7 +62,7 @@ def remap(value, min_value, max_value):
6562 AxisType .AXIS_POSITION_BETA : beta ,
6663 AxisType .AXIS_POSITION_GAMMA : gamma ,
6764 AxisType .AXIS_WAVEFORM_AMPLITUDE_AMPS : volume * volume * self .safety_limits .waveform_amplitude_amps ,
68- AxisType .AXIS_CARRIER_FREQUENCY_HZ : self . params . carrier_frequency . interpolate ( t ) ,
65+ AxisType .AXIS_CARRIER_FREQUENCY_HZ : carrier_frequency ,
6966 AxisType .AXIS_PULSE_FREQUENCY_HZ : self .params .pulse_frequency .interpolate (t ),
7067 AxisType .AXIS_PULSE_WIDTH_IN_CYCLES : self .params .pulse_width .interpolate (t ),
7168 AxisType .AXIS_PULSE_RISE_TIME_CYCLES : self .params .pulse_rise_time .interpolate (t ),
0 commit comments