
 

// This file is autogenerated. DO NOT EDIT

#pragma once
#include <robotpy_build.h>


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

#include <wpi/sendable/SendableBuilder.h>
#include <frc/AnalogInput.h>

#define RPYGEN_DISABLE_Reset_v
#define RPYGEN_DISABLE_Calibrate_v


#include <rpygen/frc__Gyro.hpp>
#include <rpygen/wpi__Sendable.hpp>

namespace rpygen {

using namespace frc;


template <typename CfgBase>
using PyTrampolineCfgBase_frc__AnalogGyro =
    PyTrampolineCfg_frc__Gyro<
    PyTrampolineCfg_wpi__Sendable<
CfgBase
>>;

template <typename CfgBase = EmptyTrampolineCfg>
struct PyTrampolineCfg_frc__AnalogGyro :
    PyTrampolineCfgBase_frc__AnalogGyro< CfgBase>
{
    using Base = frc::AnalogGyro;

    using override_base_KGetAngle_v = frc::AnalogGyro;
    using override_base_KGetRate_v = frc::AnalogGyro;
    using override_base_KGetCenter_v = frc::AnalogGyro;
    using override_base_KGetOffset_v = frc::AnalogGyro;
    using override_base_InitSendable_RTSendableBuilder = frc::AnalogGyro;
};


template <typename PyTrampolineBase, typename PyTrampolineCfg>
using PyTrampolineBase_frc__AnalogGyro =
    PyTrampoline_frc__Gyro<
    PyTrampoline_wpi__Sendable<
        PyTrampolineBase
        
        , PyTrampolineCfg
    >
        
        , PyTrampolineCfg
    >
;

template <typename PyTrampolineBase, typename PyTrampolineCfg>
struct PyTrampoline_frc__AnalogGyro : PyTrampolineBase_frc__AnalogGyro<PyTrampolineBase, PyTrampolineCfg> {
    using PyTrampolineBase_frc__AnalogGyro<PyTrampolineBase, PyTrampolineCfg>::PyTrampolineBase_frc__AnalogGyro;



#ifndef RPYGEN_DISABLE_KGetAngle_v
    double GetAngle() const override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_KGetAngle_v;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(double), LookupBase,
            "getAngle", );
        return CxxCallBase::GetAngle();
    }
#endif

#ifndef RPYGEN_DISABLE_KGetRate_v
    double GetRate() const override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_KGetRate_v;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(double), LookupBase,
            "getRate", );
        return CxxCallBase::GetRate();
    }
#endif

#ifndef RPYGEN_DISABLE_KGetCenter_v
    int GetCenter() const override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_KGetCenter_v;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(int), LookupBase,
            "getCenter", );
        return CxxCallBase::GetCenter();
    }
#endif

#ifndef RPYGEN_DISABLE_KGetOffset_v
    double GetOffset() const override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_KGetOffset_v;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(double), LookupBase,
            "getOffset", );
        return CxxCallBase::GetOffset();
    }
#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



    using frc::AnalogGyro::m_analog;

};

}; // namespace rpygen
