
 

// This file is autogenerated. DO NOT EDIT

#pragma once
#include <robotpy_build.h>


#include <../_impl/include/frc/PWM.h>

#include <wpi/sendable/SendableBuilder.h>
#include <frc/AddressableLED.h>
#include <wpi/SmallString.h>



#include <rpygen/wpi__Sendable.hpp>

namespace rpygen {

using namespace frc;


template <typename CfgBase>
using PyTrampolineCfgBase_frc__PWM =
    PyTrampolineCfg_wpi__Sendable<
CfgBase
>;

template <typename CfgBase = EmptyTrampolineCfg>
struct PyTrampolineCfg_frc__PWM :
    PyTrampolineCfgBase_frc__PWM< CfgBase>
{
    using Base = frc::PWM;

    using override_base_SetRaw_t = frc::PWM;
    using override_base_KGetRaw_v = frc::PWM;
    using override_base_SetPosition_d = frc::PWM;
    using override_base_KGetPosition_v = frc::PWM;
    using override_base_SetSpeed_d = frc::PWM;
    using override_base_KGetSpeed_v = frc::PWM;
    using override_base_SetDisabled_v = frc::PWM;
    using override_base_InitSendable_RTSendableBuilder = frc::PWM;
};


template <typename PyTrampolineBase, typename PyTrampolineCfg>
using PyTrampolineBase_frc__PWM =
    PyTrampoline_wpi__Sendable<
        PyTrampolineBase
        
        , PyTrampolineCfg
    >
;

template <typename PyTrampolineBase, typename PyTrampolineCfg>
struct PyTrampoline_frc__PWM : PyTrampolineBase_frc__PWM<PyTrampolineBase, PyTrampolineCfg> {
    using PyTrampolineBase_frc__PWM<PyTrampolineBase, PyTrampolineCfg>::PyTrampolineBase_frc__PWM;



#ifndef RPYGEN_DISABLE_SetRaw_t
    void SetRaw(uint16_t value) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_SetRaw_t;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "setRaw", value);
        return CxxCallBase::SetRaw(value);
    }
#endif

#ifndef RPYGEN_DISABLE_KGetRaw_v
    uint16_t GetRaw() const override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_KGetRaw_v;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(uint16_t), LookupBase,
            "getRaw", );
        return CxxCallBase::GetRaw();
    }
#endif

#ifndef RPYGEN_DISABLE_SetPosition_d
    void SetPosition(double pos) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_SetPosition_d;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "setPosition", pos);
        return CxxCallBase::SetPosition(pos);
    }
#endif

#ifndef RPYGEN_DISABLE_KGetPosition_v
    double GetPosition() const override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_KGetPosition_v;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(double), LookupBase,
            "getPosition", );
        return CxxCallBase::GetPosition();
    }
#endif

#ifndef RPYGEN_DISABLE_SetSpeed_d
    void SetSpeed(double speed) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_SetSpeed_d;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "setSpeed", speed);
        return CxxCallBase::SetSpeed(speed);
    }
#endif

#ifndef RPYGEN_DISABLE_KGetSpeed_v
    double GetSpeed() const override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_KGetSpeed_v;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(double), LookupBase,
            "getSpeed", );
        return CxxCallBase::GetSpeed();
    }
#endif

#ifndef RPYGEN_DISABLE_SetDisabled_v
    void SetDisabled() override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_SetDisabled_v;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "setDisabled", );
        return CxxCallBase::SetDisabled();
    }
#endif

#ifndef RPYGEN_DISABLE_InitSendable_RTSendableBuilder
    void InitSendable(wpi::SendableBuilder& builder) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_InitSendable_RTSendableBuilder;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "_initSendable", builder);
        return CxxCallBase::InitSendable(builder);
    }
#endif




};

}; // namespace rpygen
