public GamepadService(ISteeringConfig config, int controllerIndex, int updateFrequency) { if (updateFrequency <= 0) { throw new ArgumentException("Update frequency should be positive"); } _config = config; //divide by 128 to get -255 <=> 255 range on thumbstick _rangeConverter = new RangeConverter(128f, 255); _gamepadModel = new GamepadModel(); var controller = XboxController.RetrieveController(controllerIndex); controller.StateChanged += StateChanged; XboxController.UpdateFrequency = updateFrequency; _lowPassFilterTimer = new Timer(10); _lowPassFilterTimer.Elapsed += LowPassFilterTimerOnElapsed; }
public OutputMixer(ISteeringConfig config) { _config = config; }