/**
    This file is autogenerated
*/

{
  py::class_<PigeonIMU> cls(m, "PigeonIMU");
  cls.def(py::init<>())
    .def("_create2", &PigeonIMU::_create2, py::arg("talonDeviceID"), release_gil())
    .def("_create1", &PigeonIMU::_create1, py::arg("deviceNumber"), release_gil())
    .def("configSetParameter", &PigeonIMU::configSetParameter, py::arg("param"), py::arg("value"), py::arg("subValue"), py::arg("ordinal"), py::arg("timeoutMs")=0, release_gil())
    .def("configGetParameter", &PigeonIMU::configGetParameter, py::arg("param"), py::arg("ordinal"), py::arg("timeoutMs")=0, release_gil())
    .def("configGetParameter_6", &PigeonIMU::configGetParameter_6, py::arg("param"), py::arg("valueToSend"), py::arg("ordinal"), py::arg("timeoutMs")=0, release_gil())
    .def("configSetCustomParam", &PigeonIMU::configSetCustomParam, py::arg("newValue"), py::arg("paramIndex"), py::arg("timeoutMs")=0, release_gil())
    .def("configGetCustomParam", &PigeonIMU::configGetCustomParam, py::arg("paramIndex"), py::arg("timoutMs"), release_gil())
    .def("configFactoryDefault", &PigeonIMU::configFactoryDefault, py::arg("timeoutMs")=0, release_gil())
    .def("setYaw", &PigeonIMU::setYaw, py::arg("angleDeg"), py::arg("timeoutMs")=0, release_gil())
    .def("addYaw", &PigeonIMU::addYaw, py::arg("angleDeg"), py::arg("timeoutMs")=0, release_gil())
    .def("setYawToCompass", &PigeonIMU::setYawToCompass, py::arg("timeoutMs")=0, release_gil())
    .def("setFusedHeading", &PigeonIMU::setFusedHeading, py::arg("angleDeg"), py::arg("timeoutMs")=0, release_gil())
    .def("addFusedHeading", &PigeonIMU::addFusedHeading, py::arg("angleDeg"), py::arg("timeoutMs")=0, release_gil())
    .def("setFusedHeadingToCompass", &PigeonIMU::setFusedHeadingToCompass, py::arg("timeoutMs")=0, release_gil())
    .def("setAccumZAngle", &PigeonIMU::setAccumZAngle, py::arg("angleDeg"), py::arg("timeoutMs")=0, release_gil())
    .def("setTemperatureCompensationDisable", &PigeonIMU::setTemperatureCompensationDisable, py::arg("bTempCompDisable"), py::arg("timeoutMs")=0, release_gil())
    .def("setCompassDeclination", &PigeonIMU::setCompassDeclination, py::arg("angleDegOffset"), py::arg("timeoutMs")=0, release_gil())
    .def("setCompassAngle", &PigeonIMU::setCompassAngle, py::arg("angleDeg"), py::arg("timeoutMs")=0, release_gil())
    .def("enterCalibrationMode", &PigeonIMU::enterCalibrationMode, py::arg("calMode"), py::arg("timeoutMs")=0, release_gil())
    .def("_getGeneralStatus", &PigeonIMU::_getGeneralStatus, release_gil())
    .def("getLastError", &PigeonIMU::getLastError, release_gil())
    .def("get6dQuaternion", &PigeonIMU::get6dQuaternion, release_gil())
    .def("getYawPitchRoll", &PigeonIMU::getYawPitchRoll, release_gil())
    .def("getAccumGyro", &PigeonIMU::getAccumGyro, release_gil())
    .def("getAbsoluteCompassHeading", &PigeonIMU::getAbsoluteCompassHeading, release_gil())
    .def("getCompassHeading", &PigeonIMU::getCompassHeading, release_gil())
    .def("getCompassFieldStrength", &PigeonIMU::getCompassFieldStrength, release_gil())
    .def("getTemp", &PigeonIMU::getTemp, release_gil())
    .def("getState", &PigeonIMU::getState, release_gil())
    .def("getUpTime", &PigeonIMU::getUpTime, release_gil())
    .def("getRawMagnetometer", &PigeonIMU::getRawMagnetometer, release_gil())
    .def("getBiasedMagnetometer", &PigeonIMU::getBiasedMagnetometer, release_gil())
    .def("getBiasedAccelerometer", &PigeonIMU::getBiasedAccelerometer, release_gil())
    .def("getRawGyro", &PigeonIMU::getRawGyro, release_gil())
    .def("getAccelerometerAngles", &PigeonIMU::getAccelerometerAngles, release_gil())
    .def("_getFusedHeading2", &PigeonIMU::_getFusedHeading2, release_gil())
    .def("_getFusedHeading1", &PigeonIMU::_getFusedHeading1, release_gil())
    .def("getResetCount", &PigeonIMU::getResetCount, release_gil())
    .def("getResetFlags", &PigeonIMU::getResetFlags, release_gil())
    .def("getFirmwareVersion", &PigeonIMU::getFirmwareVersion, release_gil())
    .def("hasResetOccurred", &PigeonIMU::hasResetOccurred, release_gil())
    .def("setLastError", &PigeonIMU::setLastError, py::arg("value"), release_gil())
    .def("_getFaults", &PigeonIMU::_getFaults, release_gil())
    .def("_getStickyFaults", &PigeonIMU::_getStickyFaults, release_gil())
    .def("clearStickyFaults", &PigeonIMU::clearStickyFaults, py::arg("timeoutMs")=0, release_gil())
    .def("setStatusFramePeriod", &PigeonIMU::setStatusFramePeriod, py::arg("frame"), py::arg("periodMs"), py::arg("timeoutMs")=0, release_gil())
    .def("getStatusFramePeriod", &PigeonIMU::getStatusFramePeriod, py::arg("frame"), py::arg("timeoutMs")=0, release_gil())
    .def("setControlFramePeriod", &PigeonIMU::setControlFramePeriod, py::arg("frame"), py::arg("periodMs"), release_gil())
  ;
}