
 

// This file is autogenerated. DO NOT EDIT

#pragma once
#include <robotpy_build.h>


#include <../../build/temp.linux-armv7l-3.10/dlstatic/revlib/include/rev/CANSparkMax.h>




#include <rpygen/rev__CANSparkMaxLowLevel.hpp>

namespace rpygen {

using namespace rev;


template <typename CfgBase>
using PyTrampolineCfgBase_rev__CANSparkMax =
    PyTrampolineCfg_rev__CANSparkMaxLowLevel<
CfgBase
>;

template <typename CfgBase = EmptyTrampolineCfg>
struct PyTrampolineCfg_rev__CANSparkMax :
    PyTrampolineCfgBase_rev__CANSparkMax< CfgBase>
{
    using Base = rev::CANSparkMax;

    using override_base_Set_d = rev::CANSparkMax;
    using override_base_SetVoltage_Tvolt_t = rev::CANSparkMax;
    using override_base_KGet_v = rev::CANSparkMax;
    using override_base_SetInverted_b = rev::CANSparkMax;
    using override_base_KGetInverted_v = rev::CANSparkMax;
    using override_base_Disable_v = rev::CANSparkMax;
    using override_base_StopMotor_v = rev::CANSparkMax;
};


template <typename PyTrampolineBase, typename PyTrampolineCfg>
using PyTrampolineBase_rev__CANSparkMax =
    PyTrampoline_rev__CANSparkMaxLowLevel<
        PyTrampolineBase
        
        , PyTrampolineCfg
    >
;

template <typename PyTrampolineBase, typename PyTrampolineCfg>
struct PyTrampoline_rev__CANSparkMax : PyTrampolineBase_rev__CANSparkMax<PyTrampolineBase, PyTrampolineCfg> {
    using PyTrampolineBase_rev__CANSparkMax<PyTrampolineBase, PyTrampolineCfg>::PyTrampolineBase_rev__CANSparkMax;


using MotorType = rev::CANSparkMaxLowLevel::MotorType;
#ifndef RPYGEN_DISABLE_Set_d
    void Set(double speed) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_Set_d;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "set", speed);
        return CxxCallBase::Set(speed);
    }
#endif

#ifndef RPYGEN_DISABLE_SetVoltage_Tvolt_t
    void SetVoltage(units::volt_t output) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_SetVoltage_Tvolt_t;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "setVoltage", output);
        return CxxCallBase::SetVoltage(output);
    }
#endif

#ifndef RPYGEN_DISABLE_KGet_v
    double Get() const override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_KGet_v;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(double), LookupBase,
            "get", );
        return CxxCallBase::Get();
    }
#endif

#ifndef RPYGEN_DISABLE_SetInverted_b
    void SetInverted(bool isInverted) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_SetInverted_b;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "setInverted", isInverted);
        return CxxCallBase::SetInverted(isInverted);
    }
#endif

#ifndef RPYGEN_DISABLE_KGetInverted_v
    bool GetInverted() const override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_KGetInverted_v;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(bool), LookupBase,
            "getInverted", );
        return CxxCallBase::GetInverted();
    }
#endif

#ifndef RPYGEN_DISABLE_Disable_v
    void Disable() override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_Disable_v;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "disable", );
        return CxxCallBase::Disable();
    }
#endif

#ifndef RPYGEN_DISABLE_StopMotor_v
    void StopMotor() override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_StopMotor_v;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "stopMotor", );
        return CxxCallBase::StopMotor();
    }
#endif




};

}; // namespace rpygen
