/**
    This file is autogenerated
*/

{
  py::class_<MotController> cls(m, "MotController");
  cls.def(py::init<>())
    .def("create1", &MotController::create1, release_gil())
    .def("getDeviceNumber", &MotController::getDeviceNumber, release_gil())
    .def("setDemand", &MotController::setDemand, release_gil())
    .def("setNeutralMode", &MotController::setNeutralMode, release_gil())
    .def("setSensorPhase", &MotController::setSensorPhase, release_gil())
    .def("setInverted", &MotController::setInverted, release_gil())
    .def("configOpenLoopRamp", &MotController::configOpenLoopRamp, release_gil())
    .def("configClosedLoopRamp", &MotController::configClosedLoopRamp, release_gil())
    .def("configPeakOutputForward", &MotController::configPeakOutputForward, release_gil())
    .def("configPeakOutputReverse", &MotController::configPeakOutputReverse, release_gil())
    .def("configNominalOutputForward", &MotController::configNominalOutputForward, release_gil())
    .def("configNominalOutputReverse", &MotController::configNominalOutputReverse, release_gil())
    .def("configNeutralDeadband", &MotController::configNeutralDeadband, release_gil())
    .def("configVoltageCompSaturation", &MotController::configVoltageCompSaturation, release_gil())
    .def("configVoltageMeasurementFilter", &MotController::configVoltageMeasurementFilter, release_gil())
    .def("enableVoltageCompensation", &MotController::enableVoltageCompensation, release_gil())
    .def("getBusVoltage", &MotController::getBusVoltage, release_gil())
    .def("getMotorOutputPercent", &MotController::getMotorOutputPercent, release_gil())
    .def("getOutputCurrent", &MotController::getOutputCurrent, release_gil())
    .def("getTemperature", &MotController::getTemperature, release_gil())
    .def("configSelectedFeedbackSensor", &MotController::configSelectedFeedbackSensor, release_gil())
    .def("configRemoteFeedbackFilter", &MotController::configRemoteFeedbackFilter, release_gil())
    .def("configSensorTerm", &MotController::configSensorTerm, release_gil())
    .def("getSelectedSensorPosition", &MotController::getSelectedSensorPosition, release_gil())
    .def("getSelectedSensorVelocity", &MotController::getSelectedSensorVelocity, release_gil())
    .def("setSelectedSensorPosition", &MotController::setSelectedSensorPosition, release_gil())
    .def("setControlFramePeriod", &MotController::setControlFramePeriod, release_gil())
    .def("setStatusFramePeriod", &MotController::setStatusFramePeriod, release_gil())
    .def("getStatusFramePeriod", &MotController::getStatusFramePeriod, release_gil())
    .def("configVelocityMeasurementPeriod", &MotController::configVelocityMeasurementPeriod, release_gil())
    .def("configVelocityMeasurementWindow", &MotController::configVelocityMeasurementWindow, release_gil())
    .def("configForwardLimitSwitchSource", &MotController::configForwardLimitSwitchSource, release_gil())
    .def("configReverseLimitSwitchSource", &MotController::configReverseLimitSwitchSource, release_gil())
    .def("overrideLimitSwitchesEnable", &MotController::overrideLimitSwitchesEnable, release_gil())
    .def("configForwardSoftLimitThreshold", &MotController::configForwardSoftLimitThreshold, release_gil())
    .def("configReverseSoftLimitThreshold", &MotController::configReverseSoftLimitThreshold, release_gil())
    .def("configForwardSoftLimitEnable", &MotController::configForwardSoftLimitEnable, release_gil())
    .def("configReverseSoftLimitEnable", &MotController::configReverseSoftLimitEnable, release_gil())
    .def("overrideSoftLimitsEnable", &MotController::overrideSoftLimitsEnable, release_gil())
    .def("config_kP", &MotController::config_kP, release_gil())
    .def("config_kI", &MotController::config_kI, release_gil())
    .def("config_kD", &MotController::config_kD, release_gil())
    .def("config_kF", &MotController::config_kF, release_gil())
    .def("config_IntegralZone", &MotController::config_IntegralZone, release_gil())
    .def("configAllowableClosedloopError", &MotController::configAllowableClosedloopError, release_gil())
    .def("configMaxIntegralAccumulator", &MotController::configMaxIntegralAccumulator, release_gil())
    .def("setIntegralAccumulator", &MotController::setIntegralAccumulator, release_gil())
    .def("getClosedLoopError", &MotController::getClosedLoopError, release_gil())
    .def("getIntegralAccumulator", &MotController::getIntegralAccumulator, release_gil())
    .def("getErrorDerivative", &MotController::getErrorDerivative, release_gil())
    .def("selectProfileSlot", &MotController::selectProfileSlot, release_gil())
    .def("getActiveTrajectoryPosition", &MotController::getActiveTrajectoryPosition, release_gil())
    .def("getActiveTrajectoryVelocity", &MotController::getActiveTrajectoryVelocity, release_gil())
    .def("getActiveTrajectoryHeading", &MotController::getActiveTrajectoryHeading, release_gil())
    .def("getActiveTrajectoryAll", &MotController::getActiveTrajectoryAll, release_gil())
    .def("configMotionCruiseVelocity", &MotController::configMotionCruiseVelocity, release_gil())
    .def("configMotionAcceleration", &MotController::configMotionAcceleration, release_gil())
    .def("clearMotionProfileTrajectories", &MotController::clearMotionProfileTrajectories, release_gil())
    .def("getMotionProfileTopLevelBufferCount", &MotController::getMotionProfileTopLevelBufferCount, release_gil())
    .def("pushMotionProfileTrajectory", &MotController::pushMotionProfileTrajectory, release_gil())
    .def("isMotionProfileTopLevelBufferFull", &MotController::isMotionProfileTopLevelBufferFull, release_gil())
    .def("processMotionProfileBuffer", &MotController::processMotionProfileBuffer, release_gil())
    .def("getMotionProfileStatus", &MotController::getMotionProfileStatus, release_gil())
    .def("clearMotionProfileHasUnderrun", &MotController::clearMotionProfileHasUnderrun, release_gil())
    .def("changeMotionControlFramePeriod", &MotController::changeMotionControlFramePeriod, release_gil())
    .def("getLastError", &MotController::getLastError, release_gil())
    .def("getFirmwareVersion", &MotController::getFirmwareVersion, release_gil())
    .def("hasResetOccurred", &MotController::hasResetOccurred, release_gil())
    .def("configSetCustomParam", &MotController::configSetCustomParam, release_gil())
    .def("configGetCustomParam", &MotController::configGetCustomParam, release_gil())
    .def("configSetParameter", &MotController::configSetParameter, release_gil())
    .def("configGetParameter", &MotController::configGetParameter, release_gil())
    .def("configPeakCurrentLimit", &MotController::configPeakCurrentLimit, release_gil())
    .def("configPeakCurrentDuration", &MotController::configPeakCurrentDuration, release_gil())
    .def("configContinuousCurrentLimit", &MotController::configContinuousCurrentLimit, release_gil())
    .def("enableCurrentLimit", &MotController::enableCurrentLimit, release_gil())
    .def("setLastError", &MotController::setLastError, release_gil())
    .def("getAnalogIn", &MotController::getAnalogIn, release_gil())
    .def("setAnalogPosition", &MotController::setAnalogPosition, release_gil())
    .def("getAnalogInRaw", &MotController::getAnalogInRaw, release_gil())
    .def("getAnalogInVel", &MotController::getAnalogInVel, release_gil())
    .def("getQuadraturePosition", &MotController::getQuadraturePosition, release_gil())
    .def("setQuadraturePosition", &MotController::setQuadraturePosition, release_gil())
    .def("getQuadratureVelocity", &MotController::getQuadratureVelocity, release_gil())
    .def("getPulseWidthPosition", &MotController::getPulseWidthPosition, release_gil())
    .def("setPulseWidthPosition", &MotController::setPulseWidthPosition, release_gil())
    .def("getPulseWidthVelocity", &MotController::getPulseWidthVelocity, release_gil())
    .def("getPulseWidthRiseToFallUs", &MotController::getPulseWidthRiseToFallUs, release_gil())
    .def("getPulseWidthRiseToRiseUs", &MotController::getPulseWidthRiseToRiseUs, release_gil())
    .def("getPinStateQuadA", &MotController::getPinStateQuadA, release_gil())
    .def("getPinStateQuadB", &MotController::getPinStateQuadB, release_gil())
    .def("getPinStateQuadIdx", &MotController::getPinStateQuadIdx, release_gil())
    .def("isFwdLimitSwitchClosed", &MotController::isFwdLimitSwitchClosed, release_gil())
    .def("isRevLimitSwitchClosed", &MotController::isRevLimitSwitchClosed, release_gil())
    .def("getFaults", &MotController::getFaults, release_gil())
    .def("getStickyFaults", &MotController::getStickyFaults, release_gil())
    .def("clearStickyFaults", &MotController::clearStickyFaults, release_gil())
    .def("selectDemandType", &MotController::selectDemandType, release_gil())
    .def("setMPEOutput", &MotController::setMPEOutput, release_gil())
    .def("enableHeadingHold", &MotController::enableHeadingHold, release_gil())
    .def("getAnalogInAll", &MotController::getAnalogInAll, release_gil())
    .def("getQuadratureSensor", &MotController::getQuadratureSensor, release_gil())
    .def("getPulseWidthAll", &MotController::getPulseWidthAll, release_gil())
    .def("getQuadPinStates", &MotController::getQuadPinStates, release_gil())
    .def("getLimitSwitchState", &MotController::getLimitSwitchState, release_gil())
  ;
}