/**
    This file is autogenerated
*/

{
  py::class_<CANifier> cls(m, "CANifier");
  cls.def(py::init<>())
    .def("_create1", &CANifier::_create1, py::arg("deviceNumber"), release_gil())
    .def("setLEDOutput", &CANifier::setLEDOutput, py::arg("dutyCycle"), py::arg("ledChannel"), release_gil())
    .def("setGeneralOutputs", &CANifier::setGeneralOutputs, py::arg("outputsBits"), py::arg("isOutputBits"), release_gil())
    .def("setGeneralOutput", &CANifier::setGeneralOutput, py::arg("outputPin"), py::arg("outputValue"), py::arg("outputEnable"), release_gil())
    .def("setPWMOutput", &CANifier::setPWMOutput, py::arg("pwmChannel"), py::arg("dutyCycle"), release_gil())
    .def("enablePWMOutput", &CANifier::enablePWMOutput, py::arg("pwmChannel"), py::arg("bEnable"), release_gil())
    .def("getGeneralInput", &CANifier::getGeneralInput, py::arg("inputPin"), release_gil())
    .def("getPWMInput", &CANifier::getPWMInput, py::arg("pwmChannel"), release_gil())
    .def("getLastError", &CANifier::getLastError, release_gil())
    .def("getBusVoltage", &CANifier::getBusVoltage, release_gil())
    .def("getQuadraturePosition", &CANifier::getQuadraturePosition, release_gil())
    .def("setQuadraturePosition", &CANifier::setQuadraturePosition, py::arg("pos"), py::arg("timeoutMs"), release_gil())
    .def("getQuadratureVelocity", &CANifier::getQuadratureVelocity, release_gil())
    .def("getQuadratureSensor", &CANifier::getQuadratureSensor, release_gil())
    .def("configVelocityMeasurementPeriod", &CANifier::configVelocityMeasurementPeriod, py::arg("period"), py::arg("timeoutMs"), release_gil())
    .def("configVelocityMeasurementWindow", &CANifier::configVelocityMeasurementWindow, py::arg("window"), py::arg("timeoutMs"), release_gil())
    .def("setLastError", &CANifier::setLastError, py::arg("error"), release_gil())
    .def("configSetParameter", &CANifier::configSetParameter, py::arg("param"), py::arg("value"), py::arg("subValue"), py::arg("ordinal"), py::arg("timeoutMs"), release_gil())
    .def("configGetParameter", &CANifier::configGetParameter, py::arg("param"), py::arg("ordinal"), py::arg("timeoutMs"), release_gil())
    .def("configSetCustomParam", &CANifier::configSetCustomParam, py::arg("newValue"), py::arg("paramIndex"), py::arg("timeoutMs"), release_gil())
    .def("configGetCustomParam", &CANifier::configGetCustomParam, py::arg("paramIndex"), py::arg("timoutMs"), release_gil())
    .def("getFaults", &CANifier::getFaults, release_gil())
    .def("getStickyFaults", &CANifier::getStickyFaults, release_gil())
    .def("clearStickyFaults", &CANifier::clearStickyFaults, py::arg("timeoutMs"), release_gil())
    .def("getFirmwareVersion", &CANifier::getFirmwareVersion, release_gil())
    .def("hasResetOccurred", &CANifier::hasResetOccurred, release_gil())
    .def("setStatusFramePeriod", &CANifier::setStatusFramePeriod, py::arg("frame"), py::arg("periodMs"), py::arg("timeoutMs"), release_gil())
    .def("getStatusFramePeriod", &CANifier::getStatusFramePeriod, py::arg("frame"), py::arg("timeoutMs"), release_gil())
    .def("setControlFramePeriod", &CANifier::setControlFramePeriod, py::arg("frame"), py::arg("periodMs"), release_gil())
  ;
}