[copybara] mostrobotpy to allwpilib (#8503)

Resync with `mostrobotpy`

This mostly involves the big "ignore almost everything in the HAL
project" and some fixups for the Addressable LED classes.

Required two small hand fixes to get it building over here with bazel,
and with more compiler warnings on.

I also manually zeroed out the `repo_url` field in the toml files to
avoid unnecessary churn whenever it goes from a release build to a
development build. I already did this with `version` field in there, and
will do a follow up PR that updates the copybara script to do it
automatically.

---------

Co-authored-by: Default email <default@default.com>
This commit is contained in:
PJ Reiniger
2025-12-31 12:06:01 -05:00
committed by GitHub
parent bdc9391738
commit 40fb9ff562
233 changed files with 1796 additions and 4455 deletions

View File

@@ -25,7 +25,7 @@ packages = ["src/native"]
[[tool.hatch.build.hooks.robotpy.maven_lib_download]]
artifact_id = "apriltag-cpp"
group_id = "org.wpilib.apriltag"
repo_url = "https://frcmaven.wpi.edu/artifactory/release-2027"
repo_url = ""
version = "0.0.0"
extract_to = "src/native/apriltag"

View File

@@ -1,6 +1,6 @@
import cv2
import robotpy_apriltag
from wpimath.geometry import Transform3d
from wpimath import Transform3d
import math
import pathlib

View File

@@ -1,8 +1,7 @@
# validated: 2024-01-20 DS 92149efa11fa button/CommandGenericHID.java
from typing import Optional
from wpilib.event import EventLoop
from wpilib.interfaces import GenericHID
from wpilib import EventLoop, GenericHID
from ..commandscheduler import CommandScheduler
from .trigger import Trigger

View File

@@ -1,8 +1,7 @@
# validated: 2024-01-20 DS 92aecab2ef05 button/CommandJoystick.java
from typing import Optional
from wpilib import Joystick
from wpilib.event import EventLoop
from wpilib import EventLoop, Joystick
from ..commandscheduler import CommandScheduler
from .commandgenerichid import CommandGenericHID

View File

@@ -1,8 +1,7 @@
# validated: 2024-01-20 DS d426873ed15b button/CommandPS4Controller.java
from typing import Optional
from wpilib import PS4Controller
from wpilib.event import EventLoop
from wpilib import EventLoop, PS4Controller
from ..commandscheduler import CommandScheduler
from .commandgenerichid import CommandGenericHID

View File

@@ -1,8 +1,7 @@
# validated: 2024-01-20 DS 3ba501f9478a button/CommandXboxController.java
from typing import Optional
from wpilib import XboxController
from wpilib.event import EventLoop
from wpilib import EventLoop, XboxController
from ..commandscheduler import CommandScheduler
from .commandgenerichid import CommandGenericHID

View File

@@ -1,5 +1,5 @@
# validated: 2024-01-20 DS 7a099cb02a33 button/JoystickButton.java
from wpilib.interfaces import GenericHID
from wpilib import GenericHID
from .trigger import Trigger

View File

@@ -1,5 +1,5 @@
# validated: 2024-01-20 DS 7a099cb02a33 button/POVButton.java
from wpilib.interfaces import GenericHID
from wpilib import GenericHID
from .trigger import Trigger

View File

@@ -3,8 +3,8 @@ from types import SimpleNamespace
from typing import Callable, overload
from typing_extensions import Self
from wpilib.event import EventLoop
from wpimath.filter import Debouncer
from wpilib import EventLoop
from wpimath import Debouncer
from ..command import Command
from ..commandscheduler import CommandScheduler

View File

@@ -11,11 +11,11 @@ from typing_extensions import Self
from wpilib import (
RobotBase,
DriverStation,
EventLoop,
TimedRobot,
Watchdog,
reportWarning,
)
from wpilib.event import EventLoop
from wpiutil import Sendable, SendableBuilder, SendableRegistry
from .command import Command, InterruptionBehavior

View File

@@ -9,7 +9,7 @@ from typing import Any, Callable, Union
from .command import Command
from .subsystem import Subsystem
from wpimath.controller import PIDController
from wpimath import PIDController
class PIDCommand(Command):

View File

@@ -4,7 +4,7 @@
# the WPILib BSD license file in the root directory of this project.
from __future__ import annotations
from wpimath.controller import PIDController
from wpimath import PIDController
from .subsystem import Subsystem

View File

@@ -7,8 +7,7 @@
from typing import Any, Generic
from wpimath.controller import ProfiledPIDController, ProfiledPIDControllerRadians
from wpimath.trajectory import TrapezoidProfile, TrapezoidProfileRadians
from wpimath import ProfiledPIDController, ProfiledPIDControllerRadians, TrapezoidProfile, TrapezoidProfileRadians
from .command import Command
from .subsystem import Subsystem

View File

@@ -4,7 +4,7 @@
from typing import Generic
from wpimath.trajectory import TrapezoidProfile
from wpimath import TrapezoidProfile
from .subsystem import Subsystem
from .typing import TProfiledPIDController, TTrapezoidProfileState

View File

@@ -8,8 +8,7 @@ from __future__ import annotations
from typing import Any, Union
from wpimath import units
from wpimath.trajectory import TrapezoidProfile, TrapezoidProfileRadians
from wpimath import TrapezoidProfile, TrapezoidProfileRadians, units
from .subsystem import Subsystem

View File

@@ -1,8 +1,7 @@
from typing import Callable, Protocol, TypeVar, Union
from typing_extensions import TypeAlias
from wpimath.controller import ProfiledPIDController, ProfiledPIDControllerRadians
from wpimath.trajectory import TrapezoidProfile, TrapezoidProfileRadians
from wpimath import ProfiledPIDController, ProfiledPIDControllerRadians, TrapezoidProfile, TrapezoidProfileRadians
# Generic Types
TProfiledPIDController = TypeVar(

View File

@@ -1,9 +1,10 @@
from typing import TYPE_CHECKING
from util import * # type: ignore
import wpimath.controller as controller
import commands2
import wpimath
if TYPE_CHECKING:
from .util import *
@@ -15,7 +16,7 @@ def test_pidCommandSupplier(scheduler: commands2.CommandScheduler):
output_float = OOFloat(0.0)
measurement_source = OOFloat(5.0)
setpoint_source = OOFloat(2.0)
pid_controller = controller.PIDController(0.1, 0.01, 0.001)
pid_controller = wpimath.PIDController(0.1, 0.01, 0.001)
system = commands2.Subsystem()
pidCommand = commands2.PIDCommand(
pid_controller,
@@ -50,7 +51,7 @@ def test_pidCommandScalar(scheduler: commands2.CommandScheduler):
output_float = OOFloat(0.0)
measurement_source = OOFloat(5.0)
setpoint_source = 2.0
pid_controller = controller.PIDController(0.1, 0.01, 0.001)
pid_controller = wpimath.PIDController(0.1, 0.01, 0.001)
system = commands2.Subsystem()
pidCommand = commands2.PIDCommand(
pid_controller,
@@ -85,7 +86,7 @@ def test_withTimeout(scheduler: commands2.CommandScheduler):
output_float = OOFloat(0.0)
measurement_source = OOFloat(5.0)
setpoint_source = OOFloat(2.0)
pid_controller = controller.PIDController(0.1, 0.01, 0.001)
pid_controller = wpimath.PIDController(0.1, 0.01, 0.001)
system = commands2.Subsystem()
command1 = commands2.PIDCommand(
pid_controller,

View File

@@ -2,8 +2,7 @@ from types import MethodType
from typing import Any
import pytest
from wpimath.controller import ProfiledPIDController, ProfiledPIDControllerRadians
from wpimath.trajectory import TrapezoidProfile, TrapezoidProfileRadians
from wpimath import ProfiledPIDController, ProfiledPIDControllerRadians, TrapezoidProfile, TrapezoidProfileRadians
from commands2 import ProfiledPIDSubsystem

View File

@@ -5,12 +5,7 @@
from typing import TYPE_CHECKING, List, Tuple
import math
import wpimath.controller as controller
import wpimath.trajectory as trajectory
import wpimath.geometry as geometry
import wpimath.kinematics as kinematics
from wpimath.trajectory import TrapezoidProfile as DimensionlessProfile
from wpimath.trajectory import TrapezoidProfileRadians as RadiansProfile
from wpimath import TrapezoidProfile as DimensionlessProfile, TrapezoidProfileRadians as RadiansProfile
from wpilib import Timer

View File

@@ -24,7 +24,7 @@ packages = ["src/native"]
[[tool.hatch.build.hooks.robotpy.maven_lib_download]]
artifact_id = "datalog-cpp"
group_id = "org.wpilib.datalog"
repo_url = "https://frcmaven.wpi.edu/artifactory/release-2027"
repo_url = ""
version = "0.0.0"
extract_to = "src/native/datalog"

View File

@@ -7,46 +7,6 @@ load("//shared/bazel/rules/robotpy:semiwrap_tool_helpers.bzl", "scan_headers", "
def hal_simulation_extension(srcs = [], header_to_dat_deps = [], extra_hdrs = [], includes = [], extra_pyi_deps = []):
HAL_SIMULATION_HEADER_GEN = [
struct(
class_name = "AddressableLEDData",
yml_file = "semiwrap/simulation/AddressableLEDData.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/simulation/AddressableLEDData.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "AnalogInData",
yml_file = "semiwrap/simulation/AnalogInData.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/simulation/AnalogInData.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "CTREPCMData",
yml_file = "semiwrap/simulation/CTREPCMData.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/simulation/CTREPCMData.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "DIOData",
yml_file = "semiwrap/simulation/DIOData.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/simulation/DIOData.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "DigitalPWMData",
yml_file = "semiwrap/simulation/DigitalPWMData.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/simulation/DigitalPWMData.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "DriverStationData",
yml_file = "semiwrap/simulation/DriverStationData.yml",
@@ -55,22 +15,6 @@ def hal_simulation_extension(srcs = [], header_to_dat_deps = [], extra_hdrs = []
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "DutyCycleData",
yml_file = "semiwrap/simulation/DutyCycleData.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/simulation/DutyCycleData.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "EncoderData",
yml_file = "semiwrap/simulation/EncoderData.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/simulation/EncoderData.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "MockHooks",
yml_file = "semiwrap/simulation/MockHooks.yml",
@@ -89,30 +33,6 @@ def hal_simulation_extension(srcs = [], header_to_dat_deps = [], extra_hdrs = []
("HALSIM_NotifierInfo", "__HALSIM_NotifierInfo.hpp"),
],
),
struct(
class_name = "PWMData",
yml_file = "semiwrap/simulation/PWMData.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/simulation/PWMData.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "PowerDistributionData",
yml_file = "semiwrap/simulation/PowerDistributionData.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/simulation/PowerDistributionData.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "REVPHData",
yml_file = "semiwrap/simulation/REVPHData.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/simulation/REVPHData.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "Reset",
yml_file = "semiwrap/simulation/Reset.yml",
@@ -121,14 +41,6 @@ def hal_simulation_extension(srcs = [], header_to_dat_deps = [], extra_hdrs = []
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "RoboRioData",
yml_file = "semiwrap/simulation/RoboRioData.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/simulation/RoboRioData.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "SimDeviceData",
yml_file = "semiwrap/simulation/SimDeviceData.yml",
@@ -223,50 +135,6 @@ def hal_simulation_extension(srcs = [], header_to_dat_deps = [], extra_hdrs = []
def wpihal_extension(srcs = [], header_to_dat_deps = [], extra_hdrs = [], includes = [], extra_pyi_deps = []):
WPIHAL_HEADER_GEN = [
struct(
class_name = "AddressableLED",
yml_file = "semiwrap/AddressableLED.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/AddressableLED.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "AddressableLEDTypes",
yml_file = "semiwrap/AddressableLEDTypes.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/AddressableLEDTypes.h",
tmpl_class_names = [],
trampolines = [
("HAL_AddressableLEDData", "__HAL_AddressableLEDData.hpp"),
],
),
struct(
class_name = "AnalogInput",
yml_file = "semiwrap/AnalogInput.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/AnalogInput.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "CAN",
yml_file = "semiwrap/CAN.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/CAN.h",
tmpl_class_names = [],
trampolines = [
("HAL_CANStreamMessage", "__HAL_CANStreamMessage.hpp"),
],
),
struct(
class_name = "CANAPI",
yml_file = "semiwrap/CANAPI.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/CANAPI.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "CANAPITypes",
yml_file = "semiwrap/CANAPITypes.yml",
@@ -278,46 +146,6 @@ def wpihal_extension(srcs = [], header_to_dat_deps = [], extra_hdrs = [], includ
("HAL_CANReceiveMessage", "__HAL_CANReceiveMessage.hpp"),
],
),
struct(
class_name = "CTREPCM",
yml_file = "semiwrap/CTREPCM.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/CTREPCM.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "Constants",
yml_file = "semiwrap/Constants.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/Constants.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "Counter",
yml_file = "semiwrap/Counter.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/Counter.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "DashboardOpMode",
yml_file = "semiwrap/DashboardOpMode.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/DashboardOpMode.hpp",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "DIO",
yml_file = "semiwrap/DIO.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/DIO.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "DriverStation",
yml_file = "semiwrap/DriverStation.yml",
@@ -346,22 +174,6 @@ def wpihal_extension(srcs = [], header_to_dat_deps = [], extra_hdrs = [], includ
("wpi::hal::ControlWord", "wpi__hal__ControlWord.hpp"),
],
),
struct(
class_name = "DutyCycle",
yml_file = "semiwrap/DutyCycle.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/DutyCycle.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "Encoder",
yml_file = "semiwrap/Encoder.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/Encoder.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "Extensions",
yml_file = "semiwrap/Extensions.yml",
@@ -378,22 +190,6 @@ def wpihal_extension(srcs = [], header_to_dat_deps = [], extra_hdrs = [], includ
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "I2C",
yml_file = "semiwrap/I2C.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/I2C.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "I2CTypes",
yml_file = "semiwrap/I2CTypes.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/I2CTypes.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "Main",
yml_file = "semiwrap/Main.yml",
@@ -410,63 +206,6 @@ def wpihal_extension(srcs = [], header_to_dat_deps = [], extra_hdrs = [], includ
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "PWM",
yml_file = "semiwrap/PWM.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/PWM.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "Ports",
yml_file = "semiwrap/Ports.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/Ports.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "Power",
yml_file = "semiwrap/Power.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/Power.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "PowerDistribution",
yml_file = "semiwrap/PowerDistribution.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/PowerDistribution.h",
tmpl_class_names = [],
trampolines = [
("HAL_PowerDistributionVersion", "__HAL_PowerDistributionVersion.hpp"),
("HAL_PowerDistributionFaults", "__HAL_PowerDistributionFaults.hpp"),
("HAL_PowerDistributionStickyFaults", "__HAL_PowerDistributionStickyFaults.hpp"),
],
),
struct(
class_name = "REVPH",
yml_file = "semiwrap/REVPH.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/REVPH.h",
tmpl_class_names = [],
trampolines = [
("HAL_REVPHVersion", "__HAL_REVPHVersion.hpp"),
("HAL_REVPHCompressorConfig", "__HAL_REVPHCompressorConfig.hpp"),
("HAL_REVPHFaults", "__HAL_REVPHFaults.hpp"),
("HAL_REVPHStickyFaults", "__HAL_REVPHStickyFaults.hpp"),
],
),
struct(
class_name = "SerialPort",
yml_file = "semiwrap/SerialPort.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/SerialPort.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "SimDevice",
yml_file = "semiwrap/SimDevice.yml",
@@ -483,14 +222,6 @@ def wpihal_extension(srcs = [], header_to_dat_deps = [], extra_hdrs = [], includ
("wpi::hal::SimDevice", "wpi__hal__SimDevice.hpp"),
],
),
struct(
class_name = "UsageReporting",
yml_file = "semiwrap/UsageReporting.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/UsageReporting.h",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "Threads",
yml_file = "semiwrap/Threads.yml",
@@ -500,10 +231,10 @@ def wpihal_extension(srcs = [], header_to_dat_deps = [], extra_hdrs = [], includ
trampolines = [],
),
struct(
class_name = "HandlesInternal",
yml_file = "semiwrap/HandlesInternal.yml",
class_name = "UsageReporting",
yml_file = "semiwrap/UsageReporting.yml",
header_root = "$(execpath :robotpy-native-wpihal.copy_headers)",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/handles/HandlesInternal.h",
header_file = "$(execpath :robotpy-native-wpihal.copy_headers)/wpi/hal/UsageReporting.h",
tmpl_class_names = [],
trampolines = [],
),

View File

@@ -25,7 +25,7 @@ packages = ["src/native"]
[[tool.hatch.build.hooks.robotpy.maven_lib_download]]
artifact_id = "hal-cpp"
group_id = "org.wpilib.hal"
repo_url = "https://frcmaven.wpi.edu/artifactory/release-2027"
repo_url = ""
version = "0.0.0"
extract_to = "src/native/wpihal"

View File

@@ -40,31 +40,12 @@ packages = ["hal"]
[tool.semiwrap]
update_init = []
# NOTE: By default we ignore all HAL APIs, as most of them are exposed in WPILib
# somewhere. If you find something that you need, file a bug and we can add it!
scan_headers_ignore = [
"wpi/hal/Errors.h",
"wpi/hal/HAL.h",
"wpi/hal/IMU.h",
"wpi/hal/IMUTypes.h",
"wpi/hal/SystemServer.h",
"wpi/hal/Types.h",
"wpi/hal/Value.h",
"wpi/hal/cpp/fpga_clock.h",
"wpi/hal/handles/DigitalHandleResource.h",
"wpi/hal/handles/IndexedClassedHandleResource.h",
"wpi/hal/handles/IndexedHandleResource.h",
"wpi/hal/handles/LimitedClassedHandleResource.h",
"wpi/hal/handles/LimitedHandleResource.h",
"wpi/hal/handles/UnlimitedHandleResource.h",
"wpi/hal/proto/*",
"wpi/hal/simulation/CanData.h",
"wpi/hal/simulation/I2CData.h",
"wpi/hal/simulation/NotifyListener.h",
"wpi/hal/simulation/SimCallbackRegistry.h",
"wpi/hal/simulation/SimDataValue.h",
"wpi/hal/*",
# TODO: might want this in the future
"mrc/*",
@@ -81,56 +62,16 @@ depends = ["wpiutil", "ntcore"]
[tool.semiwrap.extension_modules."hal._wpiHal".headers]
# hal
AddressableLED = "wpi/hal/AddressableLED.h"
AddressableLEDTypes = "wpi/hal/AddressableLEDTypes.h"
AnalogInput = "wpi/hal/AnalogInput.h"
CAN = "wpi/hal/CAN.h"
CANAPI = "wpi/hal/CANAPI.h"
CANAPITypes = "wpi/hal/CANAPITypes.h"
CTREPCM = "wpi/hal/CTREPCM.h"
Constants = "wpi/hal/Constants.h"
Counter = "wpi/hal/Counter.h"
DashboardOpMode = "wpi/hal/DashboardOpMode.hpp"
DIO = "wpi/hal/DIO.h"
# DMA = "hal/DMA.h"
DriverStation = "wpi/hal/DriverStation.h"
DriverStationTypes = "wpi/hal/DriverStationTypes.h"
DutyCycle = "wpi/hal/DutyCycle.h"
Encoder = "wpi/hal/Encoder.h"
# Errors = "wpi/hal/Errors.h"
Extensions = "wpi/hal/Extensions.h"
# HAL = "wpi/hal/HAL.h"
HALBase = "wpi/hal/HALBase.h"
I2C = "wpi/hal/I2C.h"
I2CTypes = "wpi/hal/I2CTypes.h"
# IMU = "wpi/hal/IMU.h"
# IMUTypes = "wpi/hal/IMUTypes.h"
Main = "wpi/hal/Main.h"
Notifier = "wpi/hal/Notifier.h"
PWM = "wpi/hal/PWM.h"
Ports = "wpi/hal/Ports.h"
Power = "wpi/hal/Power.h"
PowerDistribution = "wpi/hal/PowerDistribution.h"
REVPH = "wpi/hal/REVPH.h"
SerialPort = "wpi/hal/SerialPort.h"
SimDevice = "wpi/hal/SimDevice.h"
UsageReporting = "wpi/hal/UsageReporting.h"
Threads = "wpi/hal/Threads.h"
# Types = "wpi/hal/Types.h"
# Value = "wpi/hal/Value.h"
# hal/cpp
# fpga_clock = "wpi/hal/cpp/fpga_clock.h"
# hal/handles
# DigitalHandleResource = "wpi/hal/handles/DigitalHandleResource.h"
HandlesInternal = "wpi/hal/handles/HandlesInternal.h"
# IndexedClassedHandleResource = "wpi/hal/handles/IndexedClassedHandleResource.h"
# IndexedHandleResource = "wpi/hal/handles/IndexedHandleResource.h"
# LimitedClassedHandleResource = "wpi/hal/handles/LimitedClassedHandleResource.h"
# LimitedHandleResource = "wpi/hal/handles/LimitedHandleResource.h"
# UnlimitedHandleResource = "wpi/hal/handles/UnlimitedHandleResource.h"
UsageReporting = "wpi/hal/UsageReporting.h"
[tool.semiwrap.extension_modules."hal.simulation._simulation"]
name = "hal_simulation"
@@ -139,24 +80,8 @@ depends = ["wpiutil", "ntcore"]
yaml_path = "semiwrap/simulation"
[tool.semiwrap.extension_modules."hal.simulation._simulation".headers]
AddressableLEDData = "wpi/hal/simulation/AddressableLEDData.h"
AnalogInData = "wpi/hal/simulation/AnalogInData.h"
CTREPCMData = "wpi/hal/simulation/CTREPCMData.h"
# CanData = "wpi/hal/simulation/CanData.h"
DIOData = "wpi/hal/simulation/DIOData.h"
DigitalPWMData = "wpi/hal/simulation/DigitalPWMData.h"
DriverStationData = "wpi/hal/simulation/DriverStationData.h"
DutyCycleData = "wpi/hal/simulation/DutyCycleData.h"
EncoderData = "wpi/hal/simulation/EncoderData.h"
# I2CData = "wpi/hal/simulation/I2CData.h"
MockHooks = "wpi/hal/simulation/MockHooks.h"
NotifierData = "wpi/hal/simulation/NotifierData.h"
# NotifyListener = "wpi/hal/simulation/NotifyListener.h"
PWMData = "wpi/hal/simulation/PWMData.h"
PowerDistributionData = "wpi/hal/simulation/PowerDistributionData.h"
REVPHData = "wpi/hal/simulation/REVPHData.h"
Reset = "wpi/hal/simulation/Reset.h"
RoboRioData = "wpi/hal/simulation/RoboRioData.h"
# SimCallbackRegistry = "wpi/hal/simulation/SimCallbackRegistry.h"
# SimDataValue = "wpi/hal/simulation/SimDataValue.h"
SimDeviceData = "wpi/hal/simulation/SimDeviceData.h"

View File

@@ -1,9 +0,0 @@
strip_prefixes:
- HAL_
functions:
HAL_InitializeAddressableLED:
HAL_FreeAddressableLED:
HAL_SetAddressableLEDLength:
HAL_SetAddressableLEDStart:
HAL_SetAddressableLEDData:

View File

@@ -1,14 +0,0 @@
strip_prefixes:
- HAL_
classes:
HAL_AddressableLEDData:
attributes:
b:
g:
r:
enums:
HAL_AddressableLEDColorOrder:
functions:
format_as:
ignore: true

View File

@@ -1,23 +0,0 @@
strip_prefixes:
- HAL_
functions:
HAL_InitializeAnalogInputPort:
HAL_FreeAnalogInputPort:
HAL_CheckAnalogModule:
HAL_CheckAnalogInputChannel:
HAL_SetAnalogInputSimDevice:
HAL_SetAnalogSampleRate:
HAL_GetAnalogSampleRate:
HAL_SetAnalogAverageBits:
HAL_GetAnalogAverageBits:
HAL_SetAnalogOversampleBits:
HAL_GetAnalogOversampleBits:
HAL_GetAnalogValue:
HAL_GetAnalogAverageValue:
HAL_GetAnalogVoltsToValue:
HAL_GetAnalogVoltage:
HAL_GetAnalogAverageVoltage:
HAL_GetAnalogLSBWeight:
HAL_GetAnalogOffset:
HAL_GetAnalogValueToVolts:

View File

@@ -1,16 +0,0 @@
strip_prefixes:
- HAL_
functions:
HAL_CAN_SendMessage:
HAL_CAN_ReceiveMessage:
HAL_CAN_OpenStreamSession:
HAL_CAN_CloseStreamSession:
HAL_CAN_ReadStreamSession:
ignore: true # TODO: an array of messages
HAL_CAN_GetCANStatus:
classes:
HAL_CANStreamMessage:
attributes:
messageId:
message:

View File

@@ -1,13 +0,0 @@
strip_prefixes:
- HAL_
functions:
HAL_InitializeCAN:
HAL_CleanCAN:
HAL_WriteCANPacket:
HAL_WriteCANPacketRepeating:
HAL_WriteCANRTRFrame:
HAL_StopCANPacketRepeating:
HAL_ReadCANPacketNew:
HAL_ReadCANPacketLatest:
HAL_ReadCANPacketTimeout:

View File

@@ -1,26 +0,0 @@
strip_prefixes:
- HAL_
functions:
HAL_InitializeCTREPCM:
HAL_FreeCTREPCM:
HAL_CheckCTREPCMSolenoidChannel:
HAL_GetCTREPCMCompressor:
HAL_SetCTREPCMClosedLoopControl:
HAL_GetCTREPCMClosedLoopControl:
HAL_GetCTREPCMPressureSwitch:
HAL_GetCTREPCMCompressorCurrent:
HAL_GetCTREPCMCompressorCurrentTooHighFault:
HAL_GetCTREPCMCompressorCurrentTooHighStickyFault:
HAL_GetCTREPCMCompressorShortedStickyFault:
HAL_GetCTREPCMCompressorShortedFault:
HAL_GetCTREPCMCompressorNotConnectedStickyFault:
HAL_GetCTREPCMCompressorNotConnectedFault:
HAL_GetCTREPCMSolenoids:
HAL_SetCTREPCMSolenoids:
HAL_GetCTREPCMSolenoidDisabledList:
HAL_GetCTREPCMSolenoidVoltageStickyFault:
HAL_GetCTREPCMSolenoidVoltageFault:
HAL_ClearAllCTREPCMStickyFaults:
HAL_FireCTREPCMOneShot:
HAL_SetCTREPCMOneShotDuration:

View File

@@ -1,5 +0,0 @@
strip_prefixes:
- HAL_
functions:
HAL_GetSystemClockTicksPerMicrosecond:

View File

@@ -1,12 +0,0 @@
strip_prefixes:
- HAL_
functions:
HAL_InitializeCounter:
HAL_FreeCounter:
HAL_ResetCounter:
HAL_GetCounter:
HAL_GetCounterPeriod:
HAL_SetCounterMaxPeriod:
HAL_GetCounterStopped:
HAL_SetCounterEdgeConfiguration:

View File

@@ -1,22 +0,0 @@
strip_prefixes:
- HAL_
functions:
HAL_InitializeDIOPort:
HAL_CheckDIOChannel:
HAL_FreeDIOPort:
HAL_SetDIOSimDevice:
HAL_AllocateDigitalPWM:
HAL_FreeDigitalPWM:
HAL_SetDigitalPWMRate:
HAL_SetDigitalPWMDutyCycle:
HAL_SetDigitalPWMPPS:
HAL_SetDigitalPWMOutputChannel:
HAL_SetDIO:
HAL_SetDIODirection:
HAL_GetDIO:
HAL_GetDIODirection:
HAL_Pulse:
HAL_PulseMultiple:
HAL_IsPulsing:
HAL_IsAnyPulsing:

View File

@@ -1,6 +0,0 @@
functions:
InitializeDashboardOpMode:
SetDashboardOpModeOptions:
StartDashboardOpMode:
EnableDashboardOpMode:
GetDashboardSelectedOpMode:

View File

@@ -1,11 +0,0 @@
strip_prefixes:
- HAL_
functions:
HAL_InitializeDutyCycle:
HAL_FreeDutyCycle:
HAL_SetDutyCycleSimDevice:
ifndef: __FRC_SYSTEMCORE__
HAL_GetDutyCycleFrequency:
HAL_GetDutyCycleOutput:
HAL_GetDutyCycleHighTime:

View File

@@ -1,31 +0,0 @@
strip_prefixes:
- HAL_
enums:
HAL_EncoderIndexingType:
value_prefix: HAL
HAL_EncoderEncodingType:
value_prefix: HAL
functions:
HAL_InitializeEncoder:
HAL_FreeEncoder:
HAL_SetEncoderSimDevice:
HAL_GetEncoder:
HAL_GetEncoderRaw:
HAL_GetEncoderEncodingScale:
HAL_ResetEncoder:
HAL_GetEncoderPeriod:
HAL_SetEncoderMaxPeriod:
HAL_GetEncoderStopped:
HAL_GetEncoderDirection:
HAL_GetEncoderDistance:
HAL_GetEncoderRate:
HAL_SetEncoderMinRate:
HAL_SetEncoderDistancePerPulse:
HAL_SetEncoderReverseDirection:
HAL_SetEncoderSamplesToAverage:
HAL_GetEncoderSamplesToAverage:
HAL_GetEncoderFPGAIndex:
HAL_GetEncoderDecodingScaleFactor:
HAL_GetEncoderDistancePerPulse:
HAL_GetEncoderEncodingType:

View File

@@ -1,15 +0,0 @@
strip_prefixes:
- HAL_
enums:
HAL_HandleEnum:
functions:
getHandleIndex:
getHandleType:
isHandleType:
isHandleCorrectVersion:
getHandleTypedIndex:
createHandle:
classes:
wpi::hal::HandleBase:
ignore: true

View File

@@ -1,16 +0,0 @@
strip_prefixes:
- HAL_
functions:
HAL_InitializeI2C:
HAL_TransactionI2C:
buffers:
- {type: IN, src: dataToSend, len: sendSize}
- {type: OUT, src: dataReceived, len: receiveSize}
HAL_WriteI2C:
buffers:
- {type: IN, src: dataToSend, len: sendSize}
HAL_ReadI2C:
buffers:
- {type: OUT, src: buffer, len: count}
HAL_CloseI2C:

View File

@@ -1,6 +0,0 @@
strip_prefixes:
- HAL_
enums:
HAL_I2CPort:
value_prefix: HAL_I2C

View File

@@ -1,11 +0,0 @@
strip_prefixes:
- HAL_
functions:
HAL_InitializePWMPort:
HAL_FreePWMPort:
HAL_CheckPWMChannel:
HAL_SetPWMPulseTimeMicroseconds:
HAL_GetPWMPulseTimeMicroseconds:
HAL_SetPWMSimDevice:
HAL_SetPWMOutputPeriod:

View File

@@ -1,22 +0,0 @@
strip_prefixes:
- HAL_
functions:
HAL_GetNumAnalogInputs:
HAL_GetNumCounters:
HAL_GetNumDigitalChannels:
HAL_GetNumPWMChannels:
HAL_GetNumDigitalPWMOutputs:
HAL_GetNumEncoders:
HAL_GetNumInterrupts:
HAL_GetNumDutyCycles:
HAL_GetNumAddressableLEDs:
HAL_GetNumCTREPCMModules:
HAL_GetNumCTRESolenoidChannels:
HAL_GetNumCTREPDPModules:
HAL_GetNumCTREPDPChannels:
HAL_GetNumREVPDHModules:
HAL_GetNumREVPDHChannels:
HAL_GetNumREVPHModules:
HAL_GetNumREVPHChannels:
HAL_GetNumCanBuses:

View File

@@ -1,14 +0,0 @@
strip_prefixes:
- HAL_
functions:
HAL_GetVinVoltage:
HAL_GetUserVoltage3V3:
HAL_GetUserCurrent3V3:
HAL_GetUserActive3V3:
HAL_GetUserCurrentFaults3V3:
HAL_SetUserRailEnabled3V3:
HAL_GetBrownoutVoltage:
HAL_SetBrownoutVoltage:
HAL_GetCPUTemp:
HAL_ResetUserCurrentFaults:

View File

@@ -1,105 +0,0 @@
strip_prefixes:
- HAL_
enums:
HAL_PowerDistributionType:
functions:
HAL_InitializePowerDistribution:
HAL_GetPowerDistributionModuleNumber:
HAL_CleanPowerDistribution:
HAL_CheckPowerDistributionChannel:
HAL_CheckPowerDistributionModule:
HAL_GetPowerDistributionType:
HAL_GetPowerDistributionNumChannels:
HAL_GetPowerDistributionTemperature:
HAL_GetPowerDistributionVoltage:
HAL_GetPowerDistributionChannelCurrent:
HAL_GetPowerDistributionAllChannelCurrents:
HAL_GetPowerDistributionTotalCurrent:
HAL_GetPowerDistributionTotalPower:
HAL_GetPowerDistributionTotalEnergy:
HAL_ResetPowerDistributionTotalEnergy:
HAL_ClearPowerDistributionStickyFaults:
HAL_SetPowerDistributionSwitchableChannel:
HAL_GetPowerDistributionSwitchableChannel:
HAL_GetPowerDistributionVersion:
HAL_GetPowerDistributionFaults:
HAL_GetPowerDistributionStickyFaults:
HAL_StartPowerDistributionStream:
ifdef: __FRC_SYSTEMCORE__
HAL_GetPowerDistributionStreamData:
ifdef: __FRC_SYSTEMCORE__
HAL_FreePowerDistributionStreamData:
ifdef: __FRC_SYSTEMCORE__
HAL_StopPowerDistributionStream:
ifdef: __FRC_SYSTEMCORE__
classes:
HAL_PowerDistributionVersion:
attributes:
firmwareMajor:
firmwareMinor:
firmwareFix:
hardwareMinor:
hardwareMajor:
uniqueId:
HAL_PowerDistributionFaults:
attributes:
channel0BreakerFault:
channel1BreakerFault:
channel2BreakerFault:
channel3BreakerFault:
channel4BreakerFault:
channel5BreakerFault:
channel6BreakerFault:
channel7BreakerFault:
channel8BreakerFault:
channel9BreakerFault:
channel10BreakerFault:
channel11BreakerFault:
channel12BreakerFault:
channel13BreakerFault:
channel14BreakerFault:
channel15BreakerFault:
channel16BreakerFault:
channel17BreakerFault:
channel18BreakerFault:
channel19BreakerFault:
channel20BreakerFault:
channel21BreakerFault:
channel22BreakerFault:
channel23BreakerFault:
brownout:
canWarning:
hardwareFault:
HAL_PowerDistributionStickyFaults:
attributes:
channel0BreakerFault:
channel1BreakerFault:
channel2BreakerFault:
channel3BreakerFault:
channel4BreakerFault:
channel5BreakerFault:
channel6BreakerFault:
channel7BreakerFault:
channel8BreakerFault:
channel9BreakerFault:
channel10BreakerFault:
channel11BreakerFault:
channel12BreakerFault:
channel13BreakerFault:
channel14BreakerFault:
channel15BreakerFault:
channel16BreakerFault:
channel17BreakerFault:
channel18BreakerFault:
channel19BreakerFault:
channel20BreakerFault:
channel21BreakerFault:
channel22BreakerFault:
channel23BreakerFault:
brownout:
canWarning:
canBusOff:
hasReset:
hardwareFault:
firmwareFault:

View File

@@ -1,82 +0,0 @@
strip_prefixes:
- HAL_
enums:
HAL_REVPHCompressorConfigType:
functions:
HAL_InitializeREVPH:
HAL_FreeREVPH:
HAL_CheckREVPHSolenoidChannel:
HAL_CheckREVPHModuleNumber:
HAL_GetREVPHCompressor:
HAL_SetREVPHCompressorConfig:
HAL_SetREVPHClosedLoopControlDisabled:
HAL_SetREVPHClosedLoopControlDigital:
HAL_SetREVPHClosedLoopControlAnalog:
HAL_SetREVPHClosedLoopControlHybrid:
HAL_GetREVPHCompressorConfig:
HAL_GetREVPHPressureSwitch:
HAL_GetREVPHCompressorCurrent:
HAL_GetREVPHAnalogVoltage:
HAL_GetREVPHVoltage:
HAL_GetREVPH5VVoltage:
HAL_GetREVPHSolenoidCurrent:
HAL_GetREVPHSolenoidVoltage:
HAL_GetREVPHVersion:
HAL_GetREVPHSolenoids:
HAL_SetREVPHSolenoids:
HAL_FireREVPHOneShot:
HAL_GetREVPHFaults:
HAL_GetREVPHStickyFaults:
HAL_ClearREVPHStickyFaults:
HAL_GetREVPHSolenoidDisabledList:
classes:
HAL_REVPHVersion:
attributes:
firmwareMajor:
firmwareMinor:
firmwareFix:
hardwareMinor:
hardwareMajor:
uniqueId:
HAL_REVPHCompressorConfig:
attributes:
minAnalogVoltage:
maxAnalogVoltage:
forceDisable:
useDigital:
HAL_REVPHFaults:
attributes:
channel0Fault:
channel1Fault:
channel2Fault:
channel3Fault:
channel4Fault:
channel5Fault:
channel6Fault:
channel7Fault:
channel8Fault:
channel9Fault:
channel10Fault:
channel11Fault:
channel12Fault:
channel13Fault:
channel14Fault:
channel15Fault:
compressorOverCurrent:
compressorOpen:
solenoidOverCurrent:
brownout:
canWarning:
hardwareFault:
HAL_REVPHStickyFaults:
attributes:
compressorOverCurrent:
compressorOpen:
solenoidOverCurrent:
brownout:
canWarning:
canBusOff:
hasReset:
hardwareFault:
firmwareFault:

View File

@@ -1,30 +0,0 @@
strip_prefixes:
- HAL_
enums:
HAL_SerialPort:
functions:
HAL_InitializeSerialPort:
HAL_InitializeSerialPortDirect:
HAL_GetSerialFD:
HAL_SetSerialBaudRate:
HAL_SetSerialDataBits:
HAL_SetSerialParity:
HAL_SetSerialStopBits:
HAL_SetSerialWriteMode:
HAL_SetSerialFlowControl:
HAL_SetSerialTimeout:
HAL_EnableSerialTermination:
HAL_DisableSerialTermination:
HAL_SetSerialReadBufferSize:
HAL_SetSerialWriteBufferSize:
HAL_GetSerialBytesReceived:
HAL_ReadSerial:
buffers:
- {type: OUT, src: buffer, len: count}
HAL_WriteSerial:
buffers:
- {type: IN, src: buffer, len: count}
HAL_FlushSerial:
HAL_ClearSerial:
HAL_CloseSerial:

View File

@@ -1,31 +0,0 @@
strip_prefixes:
- HALSIM_
functions:
HALSIM_ResetAddressableLEDData:
HALSIM_RegisterAddressableLEDInitializedCallback:
ignore: true
HALSIM_CancelAddressableLEDInitializedCallback:
ignore: true
HALSIM_GetAddressableLEDInitialized:
HALSIM_SetAddressableLEDInitialized:
HALSIM_RegisterAddressableLEDStartCallback:
ignore: true
HALSIM_CancelAddressableLEDStartCallback:
ignore: true
HALSIM_GetAddressableLEDStart:
HALSIM_SetAddressableLEDStart:
HALSIM_RegisterAddressableLEDLengthCallback:
ignore: true
HALSIM_CancelAddressableLEDLengthCallback:
ignore: true
HALSIM_GetAddressableLEDLength:
HALSIM_SetAddressableLEDLength:
HALSIM_RegisterAddressableLEDDataCallback:
ignore: true
HALSIM_CancelAddressableLEDDataCallback:
ignore: true
HALSIM_GetAddressableLEDData:
HALSIM_SetAddressableLEDData:
HALSIM_RegisterAddressableLEDAllCallbacks:
ignore: true

View File

@@ -1,28 +0,0 @@
strip_prefixes:
- HALSIM_
functions:
HALSIM_ResetAnalogInData:
HALSIM_RegisterAnalogInInitializedCallback:
ignore: true
HALSIM_CancelAnalogInInitializedCallback:
HALSIM_GetAnalogInInitialized:
HALSIM_SetAnalogInInitialized:
HALSIM_GetAnalogInSimDevice:
HALSIM_RegisterAnalogInAverageBitsCallback:
ignore: true
HALSIM_CancelAnalogInAverageBitsCallback:
HALSIM_GetAnalogInAverageBits:
HALSIM_SetAnalogInAverageBits:
HALSIM_RegisterAnalogInOversampleBitsCallback:
ignore: true
HALSIM_CancelAnalogInOversampleBitsCallback:
HALSIM_GetAnalogInOversampleBits:
HALSIM_SetAnalogInOversampleBits:
HALSIM_RegisterAnalogInVoltageCallback:
ignore: true
HALSIM_CancelAnalogInVoltageCallback:
HALSIM_GetAnalogInVoltage:
HALSIM_SetAnalogInVoltage:
HALSIM_RegisterAnalogInAllCallbacks:
ignore: true

View File

@@ -1,47 +0,0 @@
strip_prefixes:
- HALSIM_
functions:
HALSIM_ResetCTREPCMData:
HALSIM_RegisterCTREPCMInitializedCallback:
ignore: true
HALSIM_CancelCTREPCMInitializedCallback:
ignore: true
HALSIM_GetCTREPCMInitialized:
HALSIM_SetCTREPCMInitialized:
HALSIM_RegisterCTREPCMSolenoidOutputCallback:
ignore: true
HALSIM_CancelCTREPCMSolenoidOutputCallback:
ignore: true
HALSIM_GetCTREPCMSolenoidOutput:
HALSIM_SetCTREPCMSolenoidOutput:
HALSIM_RegisterCTREPCMCompressorOnCallback:
ignore: true
HALSIM_CancelCTREPCMCompressorOnCallback:
ignore: true
HALSIM_GetCTREPCMCompressorOn:
HALSIM_SetCTREPCMCompressorOn:
HALSIM_RegisterCTREPCMClosedLoopEnabledCallback:
ignore: true
HALSIM_CancelCTREPCMClosedLoopEnabledCallback:
ignore: true
HALSIM_GetCTREPCMClosedLoopEnabled:
HALSIM_SetCTREPCMClosedLoopEnabled:
HALSIM_RegisterCTREPCMPressureSwitchCallback:
ignore: true
HALSIM_CancelCTREPCMPressureSwitchCallback:
ignore: true
HALSIM_GetCTREPCMPressureSwitch:
HALSIM_SetCTREPCMPressureSwitch:
HALSIM_RegisterCTREPCMCompressorCurrentCallback:
ignore: true
HALSIM_CancelCTREPCMCompressorCurrentCallback:
ignore: true
HALSIM_GetCTREPCMCompressorCurrent:
HALSIM_SetCTREPCMCompressorCurrent:
HALSIM_GetCTREPCMAllSolenoids:
HALSIM_SetCTREPCMAllSolenoids:
HALSIM_RegisterCTREPCMAllNonSolenoidCallbacks:
ignore: true
HALSIM_RegisterCTREPCMAllSolenoidCallbacks:
ignore: true

View File

@@ -1,33 +0,0 @@
strip_prefixes:
- HALSIM_
functions:
HALSIM_ResetDIOData:
HALSIM_RegisterDIOInitializedCallback:
ignore: true
HALSIM_CancelDIOInitializedCallback:
HALSIM_GetDIOInitialized:
HALSIM_SetDIOInitialized:
HALSIM_GetDIOSimDevice:
HALSIM_RegisterDIOValueCallback:
ignore: true
HALSIM_CancelDIOValueCallback:
HALSIM_GetDIOValue:
HALSIM_SetDIOValue:
HALSIM_RegisterDIOPulseLengthCallback:
ignore: true
HALSIM_CancelDIOPulseLengthCallback:
HALSIM_GetDIOPulseLength:
HALSIM_SetDIOPulseLength:
HALSIM_RegisterDIOIsInputCallback:
ignore: true
HALSIM_CancelDIOIsInputCallback:
HALSIM_GetDIOIsInput:
HALSIM_SetDIOIsInput:
HALSIM_RegisterDIOFilterIndexCallback:
ignore: true
HALSIM_CancelDIOFilterIndexCallback:
HALSIM_GetDIOFilterIndex:
HALSIM_SetDIOFilterIndex:
HALSIM_RegisterDIOAllCallbacks:
ignore: true

View File

@@ -1,23 +0,0 @@
strip_prefixes:
- HALSIM_
functions:
HALSIM_FindDigitalPWMForChannel:
HALSIM_ResetDigitalPWMData:
HALSIM_RegisterDigitalPWMInitializedCallback:
ignore: true
HALSIM_CancelDigitalPWMInitializedCallback:
HALSIM_GetDigitalPWMInitialized:
HALSIM_SetDigitalPWMInitialized:
HALSIM_RegisterDigitalPWMDutyCycleCallback:
ignore: true
HALSIM_CancelDigitalPWMDutyCycleCallback:
HALSIM_GetDigitalPWMDutyCycle:
HALSIM_SetDigitalPWMDutyCycle:
HALSIM_RegisterDigitalPWMPinCallback:
ignore: true
HALSIM_CancelDigitalPWMPinCallback:
HALSIM_GetDigitalPWMPin:
HALSIM_SetDigitalPWMPin:
HALSIM_RegisterDigitalPWMAllCallbacks:
ignore: true

View File

@@ -1,23 +0,0 @@
strip_prefixes:
- HALSIM_
functions:
HALSIM_ResetDutyCycleData:
HALSIM_RegisterDutyCycleInitializedCallback:
ignore: true
HALSIM_CancelDutyCycleInitializedCallback:
HALSIM_GetDutyCycleInitialized:
HALSIM_SetDutyCycleInitialized:
HALSIM_GetDutyCycleSimDevice:
HALSIM_RegisterDutyCycleOutputCallback:
ignore: true
HALSIM_CancelDutyCycleOutputCallback:
HALSIM_GetDutyCycleOutput:
HALSIM_SetDutyCycleOutput:
HALSIM_RegisterDutyCycleFrequencyCallback:
ignore: true
HALSIM_CancelDutyCycleFrequencyCallback:
HALSIM_GetDutyCycleFrequency:
HALSIM_SetDutyCycleFrequency:
HALSIM_RegisterDutyCycleAllCallbacks:
ignore: true

View File

@@ -1,60 +0,0 @@
strip_prefixes:
- HALSIM_
functions:
HALSIM_FindEncoderForChannel:
HALSIM_ResetEncoderData:
HALSIM_GetEncoderDigitalChannelA:
HALSIM_GetEncoderDigitalChannelB:
HALSIM_RegisterEncoderInitializedCallback:
ignore: true
HALSIM_CancelEncoderInitializedCallback:
HALSIM_GetEncoderInitialized:
HALSIM_SetEncoderInitialized:
HALSIM_GetEncoderSimDevice:
HALSIM_RegisterEncoderCountCallback:
ignore: true
HALSIM_CancelEncoderCountCallback:
HALSIM_GetEncoderCount:
HALSIM_SetEncoderCount:
HALSIM_RegisterEncoderPeriodCallback:
ignore: true
HALSIM_CancelEncoderPeriodCallback:
HALSIM_GetEncoderPeriod:
HALSIM_SetEncoderPeriod:
HALSIM_RegisterEncoderResetCallback:
ignore: true
HALSIM_CancelEncoderResetCallback:
HALSIM_GetEncoderReset:
HALSIM_SetEncoderReset:
HALSIM_RegisterEncoderMaxPeriodCallback:
ignore: true
HALSIM_CancelEncoderMaxPeriodCallback:
HALSIM_GetEncoderMaxPeriod:
HALSIM_SetEncoderMaxPeriod:
HALSIM_RegisterEncoderDirectionCallback:
ignore: true
HALSIM_CancelEncoderDirectionCallback:
HALSIM_GetEncoderDirection:
HALSIM_SetEncoderDirection:
HALSIM_RegisterEncoderReverseDirectionCallback:
ignore: true
HALSIM_CancelEncoderReverseDirectionCallback:
HALSIM_GetEncoderReverseDirection:
HALSIM_SetEncoderReverseDirection:
HALSIM_RegisterEncoderSamplesToAverageCallback:
ignore: true
HALSIM_CancelEncoderSamplesToAverageCallback:
HALSIM_GetEncoderSamplesToAverage:
HALSIM_SetEncoderSamplesToAverage:
HALSIM_RegisterEncoderDistancePerPulseCallback:
ignore: true
HALSIM_CancelEncoderDistancePerPulseCallback:
HALSIM_GetEncoderDistancePerPulse:
HALSIM_SetEncoderDistancePerPulse:
HALSIM_RegisterEncoderAllCallbacks:
ignore: true
HALSIM_SetEncoderDistance:
HALSIM_GetEncoderDistance:
HALSIM_SetEncoderRate:
HALSIM_GetEncoderRate:

View File

@@ -1,25 +0,0 @@
strip_prefixes:
- HALSIM_
functions:
HALSIM_ResetPWMData:
HALSIM_RegisterPWMInitializedCallback:
ignore: true
HALSIM_CancelPWMInitializedCallback:
HALSIM_GetPWMInitialized:
HALSIM_SetPWMInitialized:
HALSIM_RegisterPWMPulseMicrosecondCallback:
ignore: true
HALSIM_CancelPWMPulseMicrosecondCallback:
ignore: true
HALSIM_GetPWMPulseMicrosecond:
HALSIM_SetPWMPulseMicrosecond:
HALSIM_RegisterPWMAllCallbacks:
ignore: true
HALSIM_GetPWMSimDevice:
HALSIM_RegisterPWMOutputPeriodCallback:
ignore: true
HALSIM_CancelPWMOutputPeriodCallback:
ignore: true
HALSIM_GetPWMOutputPeriod:
HALSIM_SetPWMOutputPeriod:

View File

@@ -1,29 +0,0 @@
strip_prefixes:
- HALSIM_
functions:
HALSIM_ResetPowerDistributionData:
HALSIM_RegisterPowerDistributionInitializedCallback:
ignore: true
HALSIM_CancelPowerDistributionInitializedCallback:
HALSIM_GetPowerDistributionInitialized:
HALSIM_SetPowerDistributionInitialized:
HALSIM_RegisterPowerDistributionTemperatureCallback:
ignore: true
HALSIM_CancelPowerDistributionTemperatureCallback:
HALSIM_GetPowerDistributionTemperature:
HALSIM_SetPowerDistributionTemperature:
HALSIM_RegisterPowerDistributionVoltageCallback:
ignore: true
HALSIM_CancelPowerDistributionVoltageCallback:
HALSIM_GetPowerDistributionVoltage:
HALSIM_SetPowerDistributionVoltage:
HALSIM_RegisterPowerDistributionCurrentCallback:
ignore: true
HALSIM_CancelPowerDistributionCurrentCallback:
HALSIM_GetPowerDistributionCurrent:
HALSIM_SetPowerDistributionCurrent:
HALSIM_GetPowerDistributionAllCurrents:
HALSIM_SetPowerDistributionAllCurrents:
HALSIM_RegisterPowerDistributionAllNonCurrentCallbacks:
ignore: true

View File

@@ -1,41 +0,0 @@
strip_prefixes:
- HALSIM_
functions:
HALSIM_ResetREVPHData:
HALSIM_RegisterREVPHInitializedCallback:
ignore: true
HALSIM_CancelREVPHInitializedCallback:
HALSIM_GetREVPHInitialized:
HALSIM_SetREVPHInitialized:
HALSIM_RegisterREVPHSolenoidOutputCallback:
ignore: true
HALSIM_CancelREVPHSolenoidOutputCallback:
HALSIM_GetREVPHSolenoidOutput:
HALSIM_SetREVPHSolenoidOutput:
HALSIM_RegisterREVPHCompressorOnCallback:
ignore: true
HALSIM_CancelREVPHCompressorOnCallback:
HALSIM_GetREVPHCompressorOn:
HALSIM_SetREVPHCompressorOn:
HALSIM_RegisterREVPHCompressorConfigTypeCallback:
ignore: true
HALSIM_CancelREVPHCompressorConfigTypeCallback:
HALSIM_GetREVPHCompressorConfigType:
HALSIM_SetREVPHCompressorConfigType:
HALSIM_RegisterREVPHPressureSwitchCallback:
ignore: true
HALSIM_CancelREVPHPressureSwitchCallback:
HALSIM_GetREVPHPressureSwitch:
HALSIM_SetREVPHPressureSwitch:
HALSIM_RegisterREVPHCompressorCurrentCallback:
ignore: true
HALSIM_CancelREVPHCompressorCurrentCallback:
HALSIM_GetREVPHCompressorCurrent:
HALSIM_SetREVPHCompressorCurrent:
HALSIM_GetREVPHAllSolenoids:
HALSIM_SetREVPHAllSolenoids:
HALSIM_RegisterREVPHAllNonSolenoidCallbacks:
ignore: true
HALSIM_RegisterREVPHAllSolenoidCallbacks:
ignore: true

View File

@@ -1,97 +0,0 @@
strip_prefixes:
- HALSIM_
functions:
HALSIM_ResetRoboRioData:
HALSIM_RegisterRoboRioFPGAButtonCallback:
ignore: true
HALSIM_CancelRoboRioFPGAButtonCallback:
ignore: true
HALSIM_GetRoboRioFPGAButton:
ignore: true
HALSIM_SetRoboRioFPGAButton:
ignore: true
HALSIM_RegisterRoboRioVInVoltageCallback:
ignore: true
HALSIM_CancelRoboRioVInVoltageCallback:
HALSIM_GetRoboRioVInVoltage:
HALSIM_SetRoboRioVInVoltage:
HALSIM_RegisterRoboRioUserVoltage3V3Callback:
ignore: true
HALSIM_CancelRoboRioUserVoltage3V3Callback:
HALSIM_GetRoboRioUserVoltage3V3:
HALSIM_SetRoboRioUserVoltage3V3:
HALSIM_RegisterRoboRioUserCurrent3V3Callback:
ignore: true
HALSIM_CancelRoboRioUserCurrent3V3Callback:
HALSIM_GetRoboRioUserCurrent3V3:
HALSIM_SetRoboRioUserCurrent3V3:
HALSIM_RegisterRoboRioUserActive3V3Callback:
ignore: true
HALSIM_CancelRoboRioUserActive3V3Callback:
HALSIM_GetRoboRioUserActive3V3:
HALSIM_SetRoboRioUserActive3V3:
HALSIM_RegisterRoboRioUserFaults3V3Callback:
ignore: true
HALSIM_CancelRoboRioUserFaults3V3Callback:
HALSIM_GetRoboRioUserFaults3V3:
HALSIM_SetRoboRioUserFaults3V3:
HALSIM_RegisterRoboRioBrownoutVoltageCallback:
ignore: true
HALSIM_CancelRoboRioBrownoutVoltageCallback:
HALSIM_GetRoboRioBrownoutVoltage:
HALSIM_SetRoboRioBrownoutVoltage:
HALSIM_RegisterRoboRioTeamNumberCallback:
ignore: true
HALSIM_CancelRoboRioTeamNumberCallback:
HALSIM_GetRoboRioTeamNumber:
HALSIM_SetRoboRioTeamNumber:
HALSIM_RegisterRoboRioSerialNumberCallback:
ignore: true
HALSIM_CancelRoboRioSerialNumberCallback:
HALSIM_GetRoboRioSerialNumber:
param_override:
serialNumber:
ignore: true
cpp_code: |
[]() {
WPI_String s;
HALSIM_GetRoboRioSerialNumber(&s);
std::string ss(wpi::util::to_string_view(&s));
WPI_FreeString(&s);
return ss;
}
HALSIM_SetRoboRioSerialNumber:
cpp_code: |
[](std::string_view sv) {
auto s = wpi::util::make_string(sv);
HALSIM_SetRoboRioSerialNumber(&s);
}
HALSIM_RegisterRoboRioCommentsCallback:
ignore: true
HALSIM_CancelRoboRioCommentsCallback:
HALSIM_GetRoboRioComments:
param_override:
comments:
ignore: true
cpp_code: |
[]() {
WPI_String s;
HALSIM_GetRoboRioComments(&s);
std::string ss(wpi::util::to_string_view(&s));
WPI_FreeString(&s);
return ss;
}
HALSIM_SetRoboRioComments:
cpp_code: |
[](std::string_view sv) {
auto s = wpi::util::make_string(sv);
HALSIM_SetRoboRioComments(&s);
}
HALSIM_RegisterRoboRioAllCallbacks:
ignore: true
HALSIM_RegisterRoboRioCPUTempCallback:
ignore: true
HALSIM_CancelRoboRioCPUTempCallback:
HALSIM_GetRoboRioCPUTemp:
HALSIM_SetRoboRioCPUTemp:

View File

@@ -27,7 +27,7 @@ packages = ["src/native"]
[[tool.hatch.build.hooks.robotpy.maven_lib_download]]
artifact_id = "ntcore-cpp"
group_id = "org.wpilib.ntcore"
repo_url = "https://frcmaven.wpi.edu/artifactory/release-2027"
repo_url = ""
version = "0.0.0"
extract_to = "src/native/ntcore"

View File

@@ -49,7 +49,7 @@ def romi_extension(srcs = [], header_to_dat_deps = [], extra_hdrs = [], includes
gen_libinit(
name = "romi.gen_lib_init",
output_file = "src/main/python/romi/_init__romi.py",
modules = ["native.romi._init_robotpy_native_romi", "wpilib._init__wpilib", "wpimath.geometry._init__geometry"],
modules = ["native.romi._init_robotpy_native_romi", "wpilib._init__wpilib", "wpimath._init__wpimath"],
)
gen_pkgconf(
@@ -101,7 +101,7 @@ def romi_extension(srcs = [], header_to_dat_deps = [], extra_hdrs = [], includes
"//wpilibc:wpilib_pybind_library",
"//wpilibc:wpilibc",
"//wpimath:wpimath",
"//wpimath:wpimath_geometry_pybind_library",
"//wpimath:wpimath_pybind_library",
],
dynamic_deps = [
"//romiVendordep:shared/romiVendordep",

View File

@@ -23,7 +23,7 @@ packages = ["src/native"]
[[tool.hatch.build.hooks.robotpy.maven_lib_download]]
artifact_id = "romiVendordep-cpp"
group_id = "org.wpilib.romiVendordep"
repo_url = "https://frcmaven.wpi.edu/artifactory/release-2027"
repo_url = ""
version = "0.0.0"
extract_to = "src/native/romi"

View File

@@ -45,7 +45,7 @@ update_init = ["romi"]
name = "romi"
wraps = ["robotpy-native-romi"]
depends = [
"wpilib", "wpimath_geometry"
"wpilib", "wpimath"
]
[tool.semiwrap.extension_modules."romi._romi".headers]

View File

@@ -10,7 +10,7 @@ load("//shared/bazel/rules/robotpy:build_info_gen.bzl", "generate_robotpy_native
load("//shared/bazel/rules/robotpy:pytest_util.bzl", "robotpy_py_test")
load("//wpilibc:generate.bzl", "generate_wpilibc")
load("//wpilibc:robotpy_native_build_info.bzl", "define_native_wrapper")
load("//wpilibc:robotpy_pybind_build_info.bzl", "define_pybind_library", "wpilib_counter_extension", "wpilib_drive_extension", "wpilib_event_extension", "wpilib_extension", "wpilib_simulation_extension")
load("//wpilibc:robotpy_pybind_build_info.bzl", "define_pybind_library", "wpilib_extension", "wpilib_simulation_extension")
filegroup(
name = "doxygen-files",
@@ -242,10 +242,6 @@ generate_robotpy_pybind_build_info(
yaml_files = glob(["src/main/python/semiwrap/**/*.yml"]),
)
wpilib_event_extension(
srcs = ["src/main/python/wpilib/event/event.cpp"],
)
wpilib_extension(
srcs = glob(["src/main/python/wpilib/src/**/*.cpp"]),
extra_hdrs = glob([
@@ -259,22 +255,6 @@ wpilib_extension(
],
)
wpilib_counter_extension(
srcs = ["src/main/python/wpilib/counter/counter.cpp"],
header_to_dat_deps = glob([
"src/main/python/wpilib/src/rpy/*.h",
"src/main/python/wpilib/src/rpy/*.inc",
]),
)
wpilib_drive_extension(
srcs = ["src/main/python/wpilib/drive/drive.cpp"],
header_to_dat_deps = glob([
"src/main/python/wpilib/src/rpy/*.h",
"src/main/python/wpilib/src/rpy/*.inc",
]),
)
wpilib_simulation_extension(
srcs = ["src/main/python/wpilib/simulation/simulation.cpp"],
header_to_dat_deps = glob([

View File

@@ -5,121 +5,6 @@ load("//shared/bazel/rules/robotpy:pybind_rules.bzl", "create_pybind_library", "
load("//shared/bazel/rules/robotpy:semiwrap_helpers.bzl", "gen_libinit", "gen_modinit_hpp", "gen_pkgconf", "resolve_casters", "run_header_gen")
load("//shared/bazel/rules/robotpy:semiwrap_tool_helpers.bzl", "scan_headers", "update_yaml_files")
def wpilib_event_extension(srcs = [], header_to_dat_deps = [], extra_hdrs = [], includes = [], extra_pyi_deps = []):
WPILIB_EVENT_HEADER_GEN = [
struct(
class_name = "BooleanEvent",
yml_file = "semiwrap/event/BooleanEvent.yml",
header_root = "$(execpath :robotpy-native-wpilib.copy_headers)",
header_file = "$(execpath :robotpy-native-wpilib.copy_headers)/wpi/event/BooleanEvent.hpp",
tmpl_class_names = [],
trampolines = [
("wpi::BooleanEvent", "wpi__BooleanEvent.hpp"),
],
),
struct(
class_name = "EventLoop",
yml_file = "semiwrap/event/EventLoop.yml",
header_root = "$(execpath :robotpy-native-wpilib.copy_headers)",
header_file = "$(execpath :robotpy-native-wpilib.copy_headers)/wpi/event/EventLoop.hpp",
tmpl_class_names = [],
trampolines = [
("wpi::EventLoop", "wpi__EventLoop.hpp"),
],
),
struct(
class_name = "NetworkBooleanEvent",
yml_file = "semiwrap/event/NetworkBooleanEvent.yml",
header_root = "$(execpath :robotpy-native-wpilib.copy_headers)",
header_file = "$(execpath :robotpy-native-wpilib.copy_headers)/wpi/event/NetworkBooleanEvent.hpp",
tmpl_class_names = [],
trampolines = [
("wpi::NetworkBooleanEvent", "wpi__NetworkBooleanEvent.hpp"),
],
),
]
resolve_casters(
name = "wpilib_event.resolve_casters",
caster_deps = ["//wpimath:src/main/python/wpimath/wpimath-casters.pybind11.json", "//wpiutil:src/main/python/wpiutil/wpiutil-casters.pybind11.json"],
casters_pkl_file = "wpilib_event.casters.pkl",
dep_file = "wpilib_event.casters.d",
)
gen_libinit(
name = "wpilib_event.gen_lib_init",
output_file = "src/main/python/wpilib/event/_init__event.py",
modules = ["native.wpilib._init_robotpy_native_wpilib", "wpimath.filter._init__filter"],
)
gen_pkgconf(
name = "wpilib_event.gen_pkgconf",
libinit_py = "wpilib.event._init__event",
module_pkg_name = "wpilib.event._event",
output_file = "wpilib_event.pc",
pkg_name = "wpilib_event",
install_path = "src/main/python/wpilib/event",
project_file = "src/main/python/pyproject.toml",
package_root = "src/main/python/wpilib/__init__.py",
)
gen_modinit_hpp(
name = "wpilib_event.gen_modinit_hpp",
input_dats = [x.class_name for x in WPILIB_EVENT_HEADER_GEN],
libname = "_event",
output_file = "semiwrap_init.wpilib.event._event.hpp",
)
run_header_gen(
name = "wpilib_event",
casters_pickle = "wpilib_event.casters.pkl",
header_gen_config = WPILIB_EVENT_HEADER_GEN,
trampoline_subpath = "src/main/python/wpilib/event",
deps = header_to_dat_deps,
local_native_libraries = [
"//datalog:robotpy-native-datalog.copy_headers",
"//hal:robotpy-native-wpihal.copy_headers",
"//ntcore:robotpy-native-ntcore.copy_headers",
"//wpilibc:robotpy-native-wpilib.copy_headers",
"//wpimath:robotpy-native-wpimath.copy_headers",
"//wpinet:robotpy-native-wpinet.copy_headers",
"//wpiutil:robotpy-native-wpiutil.copy_headers",
],
)
create_pybind_library(
name = "wpilib_event",
install_path = "src/main/python/wpilib/event/",
extension_name = "_event",
generated_srcs = [":wpilib_event.generated_srcs"],
semiwrap_header = [":wpilib_event.gen_modinit_hpp"],
deps = [
":wpilib_event.tmpl_hdrs",
":wpilib_event.trampoline_hdrs",
"//wpilibc:wpilibc",
"//wpimath:wpimath",
"//wpimath:wpimath_filter_pybind_library",
],
dynamic_deps = [
"//wpilibc:shared/wpilibc",
"//wpimath:shared/wpimath",
],
extra_hdrs = extra_hdrs,
extra_srcs = srcs,
includes = includes,
)
native.filegroup(
name = "wpilib_event.generated_files",
srcs = [
"wpilib_event.gen_modinit_hpp.gen",
"wpilib_event.header_gen_files",
"wpilib_event.gen_pkgconf",
"wpilib_event.gen_lib_init",
],
tags = ["manual", "robotpy"],
)
def wpilib_extension(srcs = [], header_to_dat_deps = [], extra_hdrs = [], includes = [], extra_pyi_deps = []):
WPILIB_HEADER_GEN = [
struct(
@@ -150,6 +35,66 @@ def wpilib_extension(srcs = [], header_to_dat_deps = [], extra_hdrs = [], includ
("wpi::PyNotifier", "wpi__PyNotifier.hpp"),
],
),
struct(
class_name = "EdgeConfiguration",
yml_file = "semiwrap/EdgeConfiguration.yml",
header_root = "$(execpath :robotpy-native-wpilib.copy_headers)",
header_file = "$(execpath :robotpy-native-wpilib.copy_headers)/wpi/counter/EdgeConfiguration.hpp",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "Tachometer",
yml_file = "semiwrap/Tachometer.yml",
header_root = "$(execpath :robotpy-native-wpilib.copy_headers)",
header_file = "$(execpath :robotpy-native-wpilib.copy_headers)/wpi/counter/Tachometer.hpp",
tmpl_class_names = [],
trampolines = [
("wpi::Tachometer", "wpi__Tachometer.hpp"),
],
),
struct(
class_name = "UpDownCounter",
yml_file = "semiwrap/UpDownCounter.yml",
header_root = "$(execpath :robotpy-native-wpilib.copy_headers)",
header_file = "$(execpath :robotpy-native-wpilib.copy_headers)/wpi/counter/UpDownCounter.hpp",
tmpl_class_names = [],
trampolines = [
("wpi::UpDownCounter", "wpi__UpDownCounter.hpp"),
],
),
struct(
class_name = "DifferentialDrive",
yml_file = "semiwrap/DifferentialDrive.yml",
header_root = "$(execpath :robotpy-native-wpilib.copy_headers)",
header_file = "$(execpath :robotpy-native-wpilib.copy_headers)/wpi/drive/DifferentialDrive.hpp",
tmpl_class_names = [],
trampolines = [
("wpi::DifferentialDrive", "wpi__DifferentialDrive.hpp"),
("wpi::DifferentialDrive::WheelSpeeds", "wpi__DifferentialDrive__WheelSpeeds.hpp"),
],
),
struct(
class_name = "MecanumDrive",
yml_file = "semiwrap/MecanumDrive.yml",
header_root = "$(execpath :robotpy-native-wpilib.copy_headers)",
header_file = "$(execpath :robotpy-native-wpilib.copy_headers)/wpi/drive/MecanumDrive.hpp",
tmpl_class_names = [],
trampolines = [
("wpi::MecanumDrive", "wpi__MecanumDrive.hpp"),
("wpi::MecanumDrive::WheelSpeeds", "wpi__MecanumDrive__WheelSpeeds.hpp"),
],
),
struct(
class_name = "RobotDriveBase",
yml_file = "semiwrap/RobotDriveBase.yml",
header_root = "$(execpath :robotpy-native-wpilib.copy_headers)",
header_file = "$(execpath :robotpy-native-wpilib.copy_headers)/wpi/drive/RobotDriveBase.hpp",
tmpl_class_names = [],
trampolines = [
("wpi::RobotDriveBase", "wpi__RobotDriveBase.hpp"),
],
),
struct(
class_name = "DriverStation",
yml_file = "semiwrap/DriverStation.yml",
@@ -241,6 +186,36 @@ def wpilib_extension(srcs = [], header_to_dat_deps = [], extra_hdrs = [], includ
("wpi::XboxController::Axis", "wpi__XboxController__Axis.hpp"),
],
),
struct(
class_name = "BooleanEvent",
yml_file = "semiwrap/BooleanEvent.yml",
header_root = "$(execpath :robotpy-native-wpilib.copy_headers)",
header_file = "$(execpath :robotpy-native-wpilib.copy_headers)/wpi/event/BooleanEvent.hpp",
tmpl_class_names = [],
trampolines = [
("wpi::BooleanEvent", "wpi__BooleanEvent.hpp"),
],
),
struct(
class_name = "EventLoop",
yml_file = "semiwrap/EventLoop.yml",
header_root = "$(execpath :robotpy-native-wpilib.copy_headers)",
header_file = "$(execpath :robotpy-native-wpilib.copy_headers)/wpi/event/EventLoop.hpp",
tmpl_class_names = [],
trampolines = [
("wpi::EventLoop", "wpi__EventLoop.hpp"),
],
),
struct(
class_name = "NetworkBooleanEvent",
yml_file = "semiwrap/NetworkBooleanEvent.yml",
header_root = "$(execpath :robotpy-native-wpilib.copy_headers)",
header_file = "$(execpath :robotpy-native-wpilib.copy_headers)/wpi/event/NetworkBooleanEvent.hpp",
tmpl_class_names = [],
trampolines = [
("wpi::NetworkBooleanEvent", "wpi__NetworkBooleanEvent.hpp"),
],
),
struct(
class_name = "IterativeRobotBase",
yml_file = "semiwrap/IterativeRobotBase.yml",
@@ -1036,7 +1011,7 @@ def wpilib_extension(srcs = [], header_to_dat_deps = [], extra_hdrs = [], includ
gen_libinit(
name = "wpilib.gen_lib_init",
output_file = "src/main/python/wpilib/_init__wpilib.py",
modules = ["native.wpilib._init_robotpy_native_wpilib", "hal._init__wpiHal", "wpiutil._init__wpiutil", "ntcore._init__ntcore", "wpimath._init__wpimath", "wpimath.geometry._init__geometry", "wpimath._controls._init__controls", "wpilib.event._init__event"],
modules = ["native.wpilib._init_robotpy_native_wpilib", "hal._init__wpiHal", "wpiutil._init__wpiutil", "ntcore._init__ntcore", "wpimath._init__wpimath"],
)
gen_pkgconf(
@@ -1088,12 +1063,8 @@ def wpilib_extension(srcs = [], header_to_dat_deps = [], extra_hdrs = [], includ
"//hal:wpihal_pybind_library",
"//ntcore:ntcore",
"//ntcore:ntcore_pybind_library",
"//wpilibc:wpilib_event_pybind_library",
"//wpilibc:wpilibc",
"//wpimath:wpimath",
"//wpimath:wpimath_controls_pybind_library",
"//wpimath:wpimath_filter_pybind_library",
"//wpimath:wpimath_geometry_pybind_library",
"//wpimath:wpimath_pybind_library",
"//wpiutil:wpiutil",
"//wpiutil:wpiutil_pybind_library",
@@ -1122,264 +1093,6 @@ def wpilib_extension(srcs = [], header_to_dat_deps = [], extra_hdrs = [], includ
tags = ["manual", "robotpy"],
)
def wpilib_counter_extension(srcs = [], header_to_dat_deps = [], extra_hdrs = [], includes = [], extra_pyi_deps = []):
WPILIB_COUNTER_HEADER_GEN = [
struct(
class_name = "EdgeConfiguration",
yml_file = "semiwrap/counter/EdgeConfiguration.yml",
header_root = "$(execpath :robotpy-native-wpilib.copy_headers)",
header_file = "$(execpath :robotpy-native-wpilib.copy_headers)/wpi/counter/EdgeConfiguration.hpp",
tmpl_class_names = [],
trampolines = [],
),
struct(
class_name = "Tachometer",
yml_file = "semiwrap/counter/Tachometer.yml",
header_root = "$(execpath :robotpy-native-wpilib.copy_headers)",
header_file = "$(execpath :robotpy-native-wpilib.copy_headers)/wpi/counter/Tachometer.hpp",
tmpl_class_names = [],
trampolines = [
("wpi::Tachometer", "wpi__Tachometer.hpp"),
],
),
struct(
class_name = "UpDownCounter",
yml_file = "semiwrap/counter/UpDownCounter.yml",
header_root = "$(execpath :robotpy-native-wpilib.copy_headers)",
header_file = "$(execpath :robotpy-native-wpilib.copy_headers)/wpi/counter/UpDownCounter.hpp",
tmpl_class_names = [],
trampolines = [
("wpi::UpDownCounter", "wpi__UpDownCounter.hpp"),
],
),
]
resolve_casters(
name = "wpilib_counter.resolve_casters",
caster_deps = ["//wpimath:src/main/python/wpimath/wpimath-casters.pybind11.json", "//wpiutil:src/main/python/wpiutil/wpiutil-casters.pybind11.json"],
casters_pkl_file = "wpilib_counter.casters.pkl",
dep_file = "wpilib_counter.casters.d",
)
gen_libinit(
name = "wpilib_counter.gen_lib_init",
output_file = "src/main/python/wpilib/counter/_init__counter.py",
modules = ["native.wpilib._init_robotpy_native_wpilib", "wpilib._init__wpilib"],
)
gen_pkgconf(
name = "wpilib_counter.gen_pkgconf",
libinit_py = "wpilib.counter._init__counter",
module_pkg_name = "wpilib.counter._counter",
output_file = "wpilib_counter.pc",
pkg_name = "wpilib_counter",
install_path = "src/main/python/wpilib/counter",
project_file = "src/main/python/pyproject.toml",
package_root = "src/main/python/wpilib/__init__.py",
)
gen_modinit_hpp(
name = "wpilib_counter.gen_modinit_hpp",
input_dats = [x.class_name for x in WPILIB_COUNTER_HEADER_GEN],
libname = "_counter",
output_file = "semiwrap_init.wpilib.counter._counter.hpp",
)
run_header_gen(
name = "wpilib_counter",
casters_pickle = "wpilib_counter.casters.pkl",
header_gen_config = WPILIB_COUNTER_HEADER_GEN,
trampoline_subpath = "src/main/python/wpilib/counter",
deps = header_to_dat_deps,
local_native_libraries = [
"//datalog:robotpy-native-datalog.copy_headers",
"//hal:robotpy-native-wpihal.copy_headers",
"//ntcore:robotpy-native-ntcore.copy_headers",
"//wpilibc:robotpy-native-wpilib.copy_headers",
"//wpimath:robotpy-native-wpimath.copy_headers",
"//wpinet:robotpy-native-wpinet.copy_headers",
"//wpiutil:robotpy-native-wpiutil.copy_headers",
],
)
create_pybind_library(
name = "wpilib_counter",
install_path = "src/main/python/wpilib/counter/",
extension_name = "_counter",
generated_srcs = [":wpilib_counter.generated_srcs"],
semiwrap_header = [":wpilib_counter.gen_modinit_hpp"],
deps = [
":wpilib_counter.tmpl_hdrs",
":wpilib_counter.trampoline_hdrs",
"//hal:wpiHal",
"//hal:wpihal_pybind_library",
"//ntcore:ntcore",
"//ntcore:ntcore_pybind_library",
"//wpilibc:wpilib_event_pybind_library",
"//wpilibc:wpilib_pybind_library",
"//wpilibc:wpilibc",
"//wpimath:wpimath",
"//wpimath:wpimath_controls_pybind_library",
"//wpimath:wpimath_filter_pybind_library",
"//wpimath:wpimath_geometry_pybind_library",
"//wpimath:wpimath_pybind_library",
"//wpiutil:wpiutil",
"//wpiutil:wpiutil_pybind_library",
],
dynamic_deps = [
"//hal:shared/wpiHal",
"//ntcore:shared/ntcore",
"//wpilibc:shared/wpilibc",
"//wpimath:shared/wpimath",
"//wpiutil:shared/wpiutil",
],
extra_hdrs = extra_hdrs,
extra_srcs = srcs,
includes = includes,
)
native.filegroup(
name = "wpilib_counter.generated_files",
srcs = [
"wpilib_counter.gen_modinit_hpp.gen",
"wpilib_counter.header_gen_files",
"wpilib_counter.gen_pkgconf",
"wpilib_counter.gen_lib_init",
],
tags = ["manual", "robotpy"],
)
def wpilib_drive_extension(srcs = [], header_to_dat_deps = [], extra_hdrs = [], includes = [], extra_pyi_deps = []):
WPILIB_DRIVE_HEADER_GEN = [
struct(
class_name = "DifferentialDrive",
yml_file = "semiwrap/drive/DifferentialDrive.yml",
header_root = "$(execpath :robotpy-native-wpilib.copy_headers)",
header_file = "$(execpath :robotpy-native-wpilib.copy_headers)/wpi/drive/DifferentialDrive.hpp",
tmpl_class_names = [],
trampolines = [
("wpi::DifferentialDrive", "wpi__DifferentialDrive.hpp"),
("wpi::DifferentialDrive::WheelSpeeds", "wpi__DifferentialDrive__WheelSpeeds.hpp"),
],
),
struct(
class_name = "MecanumDrive",
yml_file = "semiwrap/drive/MecanumDrive.yml",
header_root = "$(execpath :robotpy-native-wpilib.copy_headers)",
header_file = "$(execpath :robotpy-native-wpilib.copy_headers)/wpi/drive/MecanumDrive.hpp",
tmpl_class_names = [],
trampolines = [
("wpi::MecanumDrive", "wpi__MecanumDrive.hpp"),
("wpi::MecanumDrive::WheelSpeeds", "wpi__MecanumDrive__WheelSpeeds.hpp"),
],
),
struct(
class_name = "RobotDriveBase",
yml_file = "semiwrap/drive/RobotDriveBase.yml",
header_root = "$(execpath :robotpy-native-wpilib.copy_headers)",
header_file = "$(execpath :robotpy-native-wpilib.copy_headers)/wpi/drive/RobotDriveBase.hpp",
tmpl_class_names = [],
trampolines = [
("wpi::RobotDriveBase", "wpi__RobotDriveBase.hpp"),
],
),
]
resolve_casters(
name = "wpilib_drive.resolve_casters",
caster_deps = ["//wpimath:src/main/python/wpimath/wpimath-casters.pybind11.json", "//wpiutil:src/main/python/wpiutil/wpiutil-casters.pybind11.json"],
casters_pkl_file = "wpilib_drive.casters.pkl",
dep_file = "wpilib_drive.casters.d",
)
gen_libinit(
name = "wpilib_drive.gen_lib_init",
output_file = "src/main/python/wpilib/drive/_init__drive.py",
modules = ["native.wpilib._init_robotpy_native_wpilib", "wpilib._init__wpilib"],
)
gen_pkgconf(
name = "wpilib_drive.gen_pkgconf",
libinit_py = "wpilib.drive._init__drive",
module_pkg_name = "wpilib.drive._drive",
output_file = "wpilib_drive.pc",
pkg_name = "wpilib_drive",
install_path = "src/main/python/wpilib/drive",
project_file = "src/main/python/pyproject.toml",
package_root = "src/main/python/wpilib/__init__.py",
)
gen_modinit_hpp(
name = "wpilib_drive.gen_modinit_hpp",
input_dats = [x.class_name for x in WPILIB_DRIVE_HEADER_GEN],
libname = "_drive",
output_file = "semiwrap_init.wpilib.drive._drive.hpp",
)
run_header_gen(
name = "wpilib_drive",
casters_pickle = "wpilib_drive.casters.pkl",
header_gen_config = WPILIB_DRIVE_HEADER_GEN,
trampoline_subpath = "src/main/python/wpilib/drive",
deps = header_to_dat_deps,
local_native_libraries = [
"//datalog:robotpy-native-datalog.copy_headers",
"//hal:robotpy-native-wpihal.copy_headers",
"//ntcore:robotpy-native-ntcore.copy_headers",
"//wpilibc:robotpy-native-wpilib.copy_headers",
"//wpimath:robotpy-native-wpimath.copy_headers",
"//wpinet:robotpy-native-wpinet.copy_headers",
"//wpiutil:robotpy-native-wpiutil.copy_headers",
],
)
create_pybind_library(
name = "wpilib_drive",
install_path = "src/main/python/wpilib/drive/",
extension_name = "_drive",
generated_srcs = [":wpilib_drive.generated_srcs"],
semiwrap_header = [":wpilib_drive.gen_modinit_hpp"],
deps = [
":wpilib_drive.tmpl_hdrs",
":wpilib_drive.trampoline_hdrs",
"//hal:wpiHal",
"//hal:wpihal_pybind_library",
"//ntcore:ntcore",
"//ntcore:ntcore_pybind_library",
"//wpilibc:wpilib_event_pybind_library",
"//wpilibc:wpilib_pybind_library",
"//wpilibc:wpilibc",
"//wpimath:wpimath",
"//wpimath:wpimath_controls_pybind_library",
"//wpimath:wpimath_filter_pybind_library",
"//wpimath:wpimath_geometry_pybind_library",
"//wpimath:wpimath_pybind_library",
"//wpiutil:wpiutil",
"//wpiutil:wpiutil_pybind_library",
],
dynamic_deps = [
"//hal:shared/wpiHal",
"//ntcore:shared/ntcore",
"//wpilibc:shared/wpilibc",
"//wpimath:shared/wpimath",
"//wpiutil:shared/wpiutil",
],
extra_hdrs = extra_hdrs,
extra_srcs = srcs,
includes = includes,
)
native.filegroup(
name = "wpilib_drive.generated_files",
srcs = [
"wpilib_drive.gen_modinit_hpp.gen",
"wpilib_drive.header_gen_files",
"wpilib_drive.gen_pkgconf",
"wpilib_drive.gen_lib_init",
],
tags = ["manual", "robotpy"],
)
def wpilib_simulation_extension(srcs = [], header_to_dat_deps = [], extra_hdrs = [], includes = [], extra_pyi_deps = []):
WPILIB_SIMULATION_HEADER_GEN = [
struct(
@@ -1784,7 +1497,7 @@ def wpilib_simulation_extension(srcs = [], header_to_dat_deps = [], extra_hdrs =
gen_libinit(
name = "wpilib_simulation.gen_lib_init",
output_file = "src/main/python/wpilib/simulation/_init__simulation.py",
modules = ["native.wpilib._init_robotpy_native_wpilib", "wpilib._init__wpilib", "wpimath._controls._init__controls", "wpimath.geometry._init__geometry", "wpimath.kinematics._init__kinematics"],
modules = ["native.wpilib._init_robotpy_native_wpilib", "wpilib._init__wpilib", "wpimath._init__wpimath"],
)
gen_pkgconf(
@@ -1835,14 +1548,9 @@ def wpilib_simulation_extension(srcs = [], header_to_dat_deps = [], extra_hdrs =
"//hal:wpihal_pybind_library",
"//ntcore:ntcore",
"//ntcore:ntcore_pybind_library",
"//wpilibc:wpilib_event_pybind_library",
"//wpilibc:wpilib_pybind_library",
"//wpilibc:wpilibc",
"//wpimath:wpimath",
"//wpimath:wpimath_controls_pybind_library",
"//wpimath:wpimath_filter_pybind_library",
"//wpimath:wpimath_geometry_pybind_library",
"//wpimath:wpimath_kinematics_pybind_library",
"//wpimath:wpimath_pybind_library",
"//wpiutil:wpiutil",
"//wpiutil:wpiutil_pybind_library",
@@ -1875,10 +1583,7 @@ def define_pybind_library(name, pkgcfgs = []):
native.filegroup(
name = "{}.generated_files".format(name),
srcs = [
"wpilib_event.generated_files",
"wpilib.generated_files",
"wpilib_counter.generated_files",
"wpilib_drive.generated_files",
"wpilib_simulation.generated_files",
],
tags = ["manual", "robotpy"],
@@ -1889,10 +1594,7 @@ def define_pybind_library(name, pkgcfgs = []):
native.filegroup(
name = "{}.generated_pkgcfg_files".format(name),
srcs = [
"src/main/python/wpilib/event/wpilib_event.pc",
"src/main/python/wpilib/wpilib.pc",
"src/main/python/wpilib/counter/wpilib_counter.pc",
"src/main/python/wpilib/drive/wpilib_drive.pc",
"src/main/python/wpilib/simulation/wpilib_simulation.pc",
],
tags = ["manual", "robotpy"],
@@ -1915,25 +1617,16 @@ def define_pybind_library(name, pkgcfgs = []):
robotpy_library(
name = name,
srcs = native.glob(["src/main/python/wpilib/**/*.py"]) + [
"src/main/python/wpilib/event/_init__event.py",
"src/main/python/wpilib/_init__wpilib.py",
"src/main/python/wpilib/counter/_init__counter.py",
"src/main/python/wpilib/drive/_init__drive.py",
"src/main/python/wpilib/simulation/_init__simulation.py",
"{}.generate_version".format(name),
],
data = [
"{}.generated_pkgcfg_files".format(name),
"{}.extra_files".format(name),
":src/main/python/wpilib/event/_event",
":src/main/python/wpilib/_wpilib",
":src/main/python/wpilib/counter/_counter",
":src/main/python/wpilib/drive/_drive",
":src/main/python/wpilib/simulation/_simulation",
":wpilib_event.trampoline_hdr_files",
":wpilib.trampoline_hdr_files",
":wpilib_counter.trampoline_hdr_files",
":wpilib_drive.trampoline_hdr_files",
":wpilib_simulation.trampoline_hdr_files",
],
imports = ["src/main/python"],

View File

@@ -31,7 +31,7 @@ packages = ["src/native"]
[[tool.hatch.build.hooks.robotpy.maven_lib_download]]
artifact_id = "wpilibc-cpp"
group_id = "org.wpilib.wpilibc"
repo_url = "https://frcmaven.wpi.edu/artifactory/release-2027"
repo_url = ""
version = "0.0.0"
extract_to = "src/native/wpilib"

View File

@@ -50,10 +50,6 @@ packages = ["wpilib"]
[tool.semiwrap]
update_init = [
"wpilib",
"wpilib.counter",
"wpilib.drive",
"wpilib.event",
"wpilib.interfaces wpilib._wpilib.interfaces",
"wpilib.simulation",
"wpilib.sysid wpilib._wpilib.sysid",
]
@@ -78,9 +74,7 @@ scan_headers_ignore = [
name = "wpilib"
wraps = ["robotpy-native-wpilib"]
depends = [
"wpihal", "wpiutil", "ntcore",
"wpimath", "wpimath_geometry", "wpimath_controls",
"wpilib_event"
"wpihal", "wpiutil", "ntcore", "wpimath"
]
includes = ["wpilib/src"]
@@ -93,6 +87,16 @@ Filesystem = "rpy/Filesystem.h"
MotorControllerGroup = "rpy/MotorControllerGroup.h"
Notifier = "rpy/Notifier.h"
# wpi/counter
EdgeConfiguration = "wpi/counter/EdgeConfiguration.hpp"
Tachometer = "wpi/counter/Tachometer.hpp"
UpDownCounter = "wpi/counter/UpDownCounter.hpp"
# wpi/drive
DifferentialDrive = "wpi/drive/DifferentialDrive.hpp"
MecanumDrive = "wpi/drive/MecanumDrive.hpp"
RobotDriveBase = "wpi/drive/RobotDriveBase.hpp"
# wpi/driverstation
DriverStation = "wpi/driverstation/DriverStation.hpp"
Gamepad = "wpi/driverstation/Gamepad.hpp"
@@ -103,6 +107,11 @@ PS5Controller = "wpi/driverstation/PS5Controller.hpp"
StadiaController = "wpi/driverstation/StadiaController.hpp"
XboxController = "wpi/driverstation/XboxController.hpp"
# wpi/event
BooleanEvent = "wpi/event/BooleanEvent.hpp"
EventLoop = "wpi/event/EventLoop.hpp"
NetworkBooleanEvent = "wpi/event/NetworkBooleanEvent.hpp"
# wpi/framework
IterativeRobotBase = "wpi/framework/IterativeRobotBase.hpp"
OpModeRobot = "wpi/framework/OpModeRobot.hpp"
@@ -218,50 +227,10 @@ Preferences = "wpi/util/Preferences.hpp"
SensorUtil = "wpi/util/SensorUtil.hpp"
[tool.semiwrap.extension_modules."wpilib.counter._counter"]
name = "wpilib_counter"
wraps = ["robotpy-native-wpilib"]
depends = ["wpilib"]
yaml_path = "semiwrap/counter"
[tool.semiwrap.extension_modules."wpilib.counter._counter".headers]
# wpi/counter
EdgeConfiguration = "wpi/counter/EdgeConfiguration.hpp"
Tachometer = "wpi/counter/Tachometer.hpp"
UpDownCounter = "wpi/counter/UpDownCounter.hpp"
[tool.semiwrap.extension_modules."wpilib.drive._drive"]
name = "wpilib_drive"
wraps = ["robotpy-native-wpilib"]
depends = ["wpilib"]
yaml_path = "semiwrap/drive"
[tool.semiwrap.extension_modules."wpilib.drive._drive".headers]
# wpi/drive
DifferentialDrive = "wpi/drive/DifferentialDrive.hpp"
MecanumDrive = "wpi/drive/MecanumDrive.hpp"
RobotDriveBase = "wpi/drive/RobotDriveBase.hpp"
[tool.semiwrap.extension_modules."wpilib.event._event"]
name = "wpilib_event"
wraps = ["robotpy-native-wpilib"]
# depends = ["wpilib", "wpimath_filter"]
depends = ["wpimath_filter"]
yaml_path = "semiwrap/event"
[tool.semiwrap.extension_modules."wpilib.event._event".headers]
# wpi/event
BooleanEvent = "wpi/event/BooleanEvent.hpp"
EventLoop = "wpi/event/EventLoop.hpp"
NetworkBooleanEvent = "wpi/event/NetworkBooleanEvent.hpp"
[tool.semiwrap.extension_modules."wpilib.simulation._simulation"]
name = "wpilib_simulation"
wraps = ["robotpy-native-wpilib"]
depends = ["wpilib", "wpimath_controls", "wpimath_geometry", "wpimath_kinematics"]
depends = ["wpilib", "wpimath"]
yaml_path = "semiwrap/simulation"
[tool.semiwrap.extension_modules."wpilib.simulation._simulation".headers]

View File

@@ -21,8 +21,8 @@ classes:
ColorOrder:
wpi::AddressableLED::LEDData:
force_no_trampoline: true
base_qualnames:
HAL_AddressableLEDData: ::HAL_AddressableLEDData
ignored_bases:
- HAL_AddressableLEDData
methods:
LEDData:
overloads:
@@ -41,4 +41,11 @@ classes:
overloads:
const wpi::util::Color&:
const wpi::util::Color8Bit&:
inline_code: |
.def_readwrite("r", &wpi::AddressableLED::LEDData::r)
.def_readwrite("g", &wpi::AddressableLED::LEDData::g)
.def_readwrite("b", &wpi::AddressableLED::LEDData::b)
.def("__eq__", [](wpi::AddressableLED::LEDData &self, wpi::AddressableLED::LEDData &other) {
return self.r == other.r && self.g == other.g && self.b == other.b;
})
;

View File

@@ -1,6 +1,3 @@
defaults:
subpackage: interfaces
classes:
wpi::CounterBase:
enums:

View File

@@ -1,6 +1,3 @@
defaults:
subpackage: interfaces
extra_includes:
- wpi/driverstation/DriverStation.hpp
- wpi/event/BooleanEvent.hpp

View File

@@ -1,6 +1,3 @@
defaults:
subpackage: interfaces
classes:
wpi::MotorController:
methods:

View File

@@ -5,6 +5,8 @@ classes:
wpi::sim::AddressableLEDSim:
force_type_casters:
- std::function
- std::span
- std::vector
methods:
AddressableLEDSim:
overloads:
@@ -18,9 +20,32 @@ classes:
SetLength:
RegisterDataCallback:
GetData:
param_override:
data:
ignore: true
cpp_code: |
[](wpi::sim::AddressableLEDSim &self) {
int len = self.GetData(nullptr);
std::vector<wpi::AddressableLED::LEDData> data(len);
self.GetData(data.data());
return data;
}
SetData:
param_override:
length:
ignore: true
cpp_code: |
[](wpi::sim::AddressableLEDSim &self, std::span<wpi::AddressableLED::LEDData> &data) {
if (static_cast<int>(data.size()) != self.GetLength()) {
std::string msg = fmt::format("data must have length {} (got {})", self.GetLength(), data.size());
throw py::value_error(msg);
}
self.SetData(data.data());
}
RegisterStartCallback:
GetStart:
SetStart:
GetGlobalData:
ignore: true
SetGlobalData:
ignore: true

View File

@@ -1,8 +1,5 @@
from . import _init__wpilib
# TODO: robotpy-build subpackage bug
from wpimath._controls._controls import trajectory as _
# autogenerated by 'semiwrap create-imports wpilib wpilib._wpilib'
from ._wpilib import (
ADXL345_I2C,
@@ -12,18 +9,23 @@ from ._wpilib import (
AnalogEncoder,
AnalogInput,
AnalogPotentiometer,
BooleanEvent,
CAN,
CANStatus,
Compressor,
CompressorConfigType,
CounterBase,
DataLogManager,
DifferentialDrive,
DigitalInput,
DigitalOutput,
DoubleSolenoid,
DriverStation,
DutyCycle,
DutyCycleEncoder,
EdgeConfiguration,
Encoder,
EventLoop,
ExpansionHub,
ExpansionHubMotor,
ExpansionHubPidConstants,
@@ -31,18 +33,22 @@ from ._wpilib import (
Field2d,
FieldObject2d,
Gamepad,
GenericHID,
I2C,
IterativeRobotBase,
Joystick,
Koors40,
LEDPattern,
LinearOpMode,
MecanumDrive,
Mechanism2d,
MechanismLigament2d,
MechanismObject2d,
MechanismRoot2d,
MotorController,
MotorControllerGroup,
MotorSafety,
NetworkBooleanEvent,
Notifier,
OnboardIMU,
OpMode,
@@ -66,6 +72,7 @@ from ._wpilib import (
Preferences,
RobotBase,
RobotController,
RobotDriveBase,
RuntimeType,
SendableBuilderImpl,
SendableChooser,
@@ -79,11 +86,13 @@ from ._wpilib import (
SparkMini,
StadiaController,
SystemServer,
Tachometer,
Talon,
TimedRobot,
Timer,
TimesliceRobot,
Tracer,
UpDownCounter,
VictorSP,
Watchdog,
XboxController,
@@ -104,18 +113,23 @@ __all__ = [
"AnalogEncoder",
"AnalogInput",
"AnalogPotentiometer",
"BooleanEvent",
"CAN",
"CANStatus",
"Compressor",
"CompressorConfigType",
"CounterBase",
"DataLogManager",
"DifferentialDrive",
"DigitalInput",
"DigitalOutput",
"DoubleSolenoid",
"DriverStation",
"DutyCycle",
"DutyCycleEncoder",
"EdgeConfiguration",
"Encoder",
"EventLoop",
"ExpansionHub",
"ExpansionHubMotor",
"ExpansionHubPidConstants",
@@ -123,18 +137,22 @@ __all__ = [
"Field2d",
"FieldObject2d",
"Gamepad",
"GenericHID",
"I2C",
"IterativeRobotBase",
"Joystick",
"Koors40",
"LEDPattern",
"LinearOpMode",
"MecanumDrive",
"Mechanism2d",
"MechanismLigament2d",
"MechanismObject2d",
"MechanismRoot2d",
"MotorController",
"MotorControllerGroup",
"MotorSafety",
"NetworkBooleanEvent",
"Notifier",
"OnboardIMU",
"OpMode",
@@ -158,6 +176,7 @@ __all__ = [
"Preferences",
"RobotBase",
"RobotController",
"RobotDriveBase",
"RuntimeType",
"SendableBuilderImpl",
"SendableChooser",
@@ -171,11 +190,13 @@ __all__ = [
"SparkMini",
"StadiaController",
"SystemServer",
"Tachometer",
"Talon",
"TimedRobot",
"Timer",
"TimesliceRobot",
"Tracer",
"UpDownCounter",
"VictorSP",
"Watchdog",
"XboxController",

View File

@@ -1,6 +0,0 @@
from . import _init__counter
# autogenerated by 'semiwrap create-imports wpilib.counter wpilib.counter._counter'
from ._counter import EdgeConfiguration, Tachometer, UpDownCounter
__all__ = ["EdgeConfiguration", "Tachometer", "UpDownCounter"]

View File

@@ -1,7 +0,0 @@
#include "semiwrap_init.wpilib.counter._counter.hpp"
SEMIWRAP_PYBIND11_MODULE(m)
{
initWrapper(m);
}

View File

@@ -1,8 +0,0 @@
from . import _init__drive
# autogenerated by 'semiwrap create-imports wpilib.drive wpilib.drive._drive'
from ._drive import DifferentialDrive, MecanumDrive, RobotDriveBase
__all__ = ["DifferentialDrive", "MecanumDrive", "RobotDriveBase"]
del _init__drive

View File

@@ -1,7 +0,0 @@
#include "semiwrap_init.wpilib.drive._drive.hpp"
SEMIWRAP_PYBIND11_MODULE(m)
{
initWrapper(m);
}

View File

@@ -1,6 +0,0 @@
from . import _init__event
# autogenerated by 'semiwrap create-imports wpilib.event wpilib.event._event'
from ._event import BooleanEvent, EventLoop, NetworkBooleanEvent
__all__ = ["BooleanEvent", "EventLoop", "NetworkBooleanEvent"]

View File

@@ -1,7 +0,0 @@
#include "semiwrap_init.wpilib.event._event.hpp"
SEMIWRAP_PYBIND11_MODULE(m)
{
initWrapper(m);
}

View File

@@ -1,4 +0,0 @@
# autogenerated by 'semiwrap create-imports wpilib.interfaces wpilib._wpilib.interfaces'
from .._wpilib.interfaces import CounterBase, GenericHID, MotorController
__all__ = ["CounterBase", "GenericHID", "MotorController"]

View File

@@ -1,8 +1,5 @@
from . import _init__simulation
# needed for dcmotor return value, TODO fix in robotpy-build
from wpimath._controls._controls import plant as _
# autogenerated by 'semiwrap create-imports wpilib.simulation wpilib.simulation._simulation'
from ._simulation import (
ADXL345Sim,

View File

@@ -1,5 +0,0 @@
import wpilib.drive
def test_wpilib_drive():
pass

View File

@@ -1,5 +0,0 @@
import wpilib.interfaces
def test_wpilib_interfaces():
pass

View File

@@ -3,3 +3,23 @@ import wpilib.simulation
def test_wpilib_simulation():
pass
def test_addressableled_sim():
led = wpilib.AddressableLED(0)
sim = wpilib.simulation.AddressableLEDSim(led)
assert not sim.getStart()
led.setStart(1)
assert sim.getStart()
data = [
wpilib.AddressableLED.LEDData(1, 2, 3),
wpilib.AddressableLED.LEDData(4, 5, 6),
]
led.setLength(len(data))
led.setData(data)
assert sim.getData() == data
led.setStart(0)
assert not sim.getStart()

View File

@@ -12,7 +12,7 @@ load("//shared/bazel/rules/robotpy:build_info_gen.bzl", "generate_robotpy_native
load("//shared/bazel/rules/robotpy:pytest_util.bzl", "robotpy_py_test")
load("//wpimath:generate.bzl", "generate_wpimath")
load("//wpimath:robotpy_native_build_info.bzl", "define_native_wrapper")
load("//wpimath:robotpy_pybind_build_info.bzl", "define_pybind_library", "publish_library_casters", "wpimath_controls_extension", "wpimath_extension", "wpimath_filter_extension", "wpimath_geometry_extension", "wpimath_interpolation_extension", "wpimath_kinematics_extension", "wpimath_spline_extension")
load("//wpimath:robotpy_pybind_build_info.bzl", "define_pybind_library", "publish_library_casters", "wpimath_extension")
load("//wpimath:robotpy_pybind_test_info.bzl", "wpimath_test_extension", define_test_pybind_library = "define_pybind_library")
filegroup(
@@ -360,53 +360,6 @@ wpimath_extension(
extra_hdrs = glob(["src/main/python/wpimath/_impl/src/**/*.h"]),
)
wpimath_filter_extension(
srcs = ["src/main/python/wpimath/filter/filter.cpp"],
extra_hdrs = glob(["src/main/python/wpimath/_impl/src/**/*.h"]),
)
wpimath_geometry_extension(
srcs = ["src/main/python/wpimath/geometry/geometry.cpp"],
extra_hdrs = glob(["src/main/python/wpimath/geometry/include/rpy/*"]),
header_to_dat_deps = glob(["src/main/native/include/**/*"]) + glob([
"src/main/python/wpimath/geometry/include/**/*.h",
"src/main/python/wpimath/_impl/src/**/*.h",
]),
includes = ["src/main/python/wpimath/geometry/include"],
)
wpimath_interpolation_extension(
srcs = ["src/main/python/wpimath/interpolation/interpolation.cpp"],
header_to_dat_deps = glob([
"src/main/python/wpimath/geometry/include/**/*.h",
"src/main/python/wpimath/_impl/src/**/*.h",
]),
)
wpimath_kinematics_extension(
srcs = ["src/main/python/wpimath/kinematics/kinematics.cpp"],
header_to_dat_deps = glob([
"src/main/python/wpimath/geometry/include/**/*.h",
"src/main/python/wpimath/_impl/src/**/*.h",
]),
)
wpimath_spline_extension(
srcs = ["src/main/python/wpimath/spline/spline.cpp"],
header_to_dat_deps = glob([
"src/main/python/wpimath/geometry/include/**/*.h",
"src/main/python/wpimath/_impl/src/**/*.h",
]),
)
wpimath_controls_extension(
srcs = ["src/main/python/wpimath/_controls/controls.cpp"],
header_to_dat_deps = glob([
"src/main/python/wpimath/geometry/include/**/*.h",
"src/main/python/wpimath/_impl/src/**/*.h",
]),
)
define_pybind_library(
name = "robotpy-wpimath",
pkgcfgs = PYBIND_PKGCFG_DEPS,

File diff suppressed because it is too large Load Diff

View File

@@ -23,7 +23,7 @@ packages = ["src/native"]
[[tool.hatch.build.hooks.robotpy.maven_lib_download]]
artifact_id = "wpimath-cpp"
group_id = "org.wpilib.wpimath"
repo_url = "https://frcmaven.wpi.edu/artifactory/release-2027"
repo_url = ""
version = "0.0.0"
extract_to = "src/native/wpimath"

View File

@@ -41,18 +41,6 @@ packages = ["wpimath"]
[tool.semiwrap]
update_init = [
"wpimath",
"wpimath.controller wpimath._controls._controls.controller",
"wpimath.estimator wpimath._controls._controls.estimator",
"wpimath.filter",
"wpimath.geometry",
"wpimath.kinematics",
"wpimath.interpolation",
"wpimath.optimization wpimath._controls._controls.optimization",
"wpimath.path wpimath._controls._controls.path",
"wpimath.spline",
"wpimath.system wpimath._controls._controls.system",
"wpimath.trajectory wpimath._controls._controls.trajectory",
"wpimath.trajectory.constraint wpimath._controls._controls.constraint",
]
scan_headers_ignore = [
@@ -98,11 +86,13 @@ scan_headers_ignore = [
"gch/*",
"sleipnir/*",
"type_casters/*",
"unsupported/*",
"wpi/units/*",
"wpimath/protobuf/*",
"wpi/math/util/MathShared.hpp",
"rpy/geometryToString.h",
"geometryToString.h",
"PyTrajectoryConstraint.h",
"_units_base_type_caster.h",
]
@@ -1463,118 +1453,13 @@ includes = ["wpimath/_impl/src"]
depends = ["wpiutil", "wpimath-casters"]
[tool.semiwrap.extension_modules."wpimath._wpimath".headers]
# frc
# wpi/math/util
ComputerVisionUtil = "wpi/math/util/ComputerVisionUtil.hpp"
# DARE = "wpi/math/linalg/DARE.hpp"
# EigenCore = "wpi/math/linalg/EigenCore.hpp"
MathUtil = "wpi/math/util/MathUtil.hpp"
# StateSpaceUtil = "wpi/math/util/StateSpaceUtil.hpp"
[tool.semiwrap.extension_modules."wpimath.filter._filter"]
name = "wpimath_filter"
wraps = ["robotpy-native-wpimath"]
depends = ["wpimath"]
yaml_path = "semiwrap/filter"
[tool.semiwrap.extension_modules."wpimath.filter._filter".headers]
Debouncer = "wpi/math/filter/Debouncer.hpp"
LinearFilter = "wpi/math/filter/LinearFilter.hpp"
MedianFilter = "wpi/math/filter/MedianFilter.hpp"
SlewRateLimiter = "wpi/math/filter/SlewRateLimiter.hpp"
[tool.semiwrap.extension_modules."wpimath.geometry._geometry"]
name = "wpimath_geometry"
wraps = ["robotpy-native-wpimath"]
depends = ["wpimath"]
includes = ["wpimath/geometry/include"]
yaml_path = "semiwrap/geometry"
[tool.semiwrap.extension_modules."wpimath.geometry._geometry".headers]
# wpi/math/geometry
CoordinateAxis = "wpi/math/geometry/CoordinateAxis.hpp"
CoordinateSystem = "wpi/math/geometry/CoordinateSystem.hpp"
Ellipse2d = "wpi/math/geometry/Ellipse2d.hpp"
Pose2d = "wpi/math/geometry/Pose2d.hpp"
Pose3d = "wpi/math/geometry/Pose3d.hpp"
Quaternion = "wpi/math/geometry/Quaternion.hpp"
Rectangle2d = "wpi/math/geometry/Rectangle2d.hpp"
Rotation2d = "wpi/math/geometry/Rotation2d.hpp"
Rotation3d = "wpi/math/geometry/Rotation3d.hpp"
Transform2d = "wpi/math/geometry/Transform2d.hpp"
Transform3d = "wpi/math/geometry/Transform3d.hpp"
Translation2d = "wpi/math/geometry/Translation2d.hpp"
Translation3d = "wpi/math/geometry/Translation3d.hpp"
Twist2d = "wpi/math/geometry/Twist2d.hpp"
Twist3d = "wpi/math/geometry/Twist3d.hpp"
[tool.semiwrap.extension_modules."wpimath.interpolation._interpolation"]
name = "wpimath_interpolation"
wraps = ["robotpy-native-wpimath"]
depends = ["wpimath_geometry"]
yaml_path = "semiwrap/interpolation"
[tool.semiwrap.extension_modules."wpimath.interpolation._interpolation".headers]
# wpi/math/interpolation
TimeInterpolatableBuffer = "wpi/math/interpolation/TimeInterpolatableBuffer.hpp"
[tool.semiwrap.extension_modules."wpimath.kinematics._kinematics"]
name = "wpimath_kinematics"
wraps = ["robotpy-native-wpimath"]
depends = ["wpimath_geometry"]
yaml_path = "semiwrap/kinematics"
[tool.semiwrap.extension_modules."wpimath.kinematics._kinematics".headers]
# wpi/math/kinematics
ChassisSpeeds = "wpi/math/kinematics/ChassisSpeeds.hpp"
ChassisAccelerations = "wpi/math/kinematics/ChassisAccelerations.hpp"
DifferentialDriveKinematics = "wpi/math/kinematics/DifferentialDriveKinematics.hpp"
DifferentialDriveOdometry3d = "wpi/math/kinematics/DifferentialDriveOdometry3d.hpp"
DifferentialDriveOdometry = "wpi/math/kinematics/DifferentialDriveOdometry.hpp"
DifferentialDriveWheelPositions = "wpi/math/kinematics/DifferentialDriveWheelPositions.hpp"
DifferentialDriveWheelSpeeds = "wpi/math/kinematics/DifferentialDriveWheelSpeeds.hpp"
DifferentialDriveWheelAccelerations = "wpi/math/kinematics/DifferentialDriveWheelAccelerations.hpp"
Kinematics = "wpi/math/kinematics/Kinematics.hpp"
MecanumDriveKinematics = "wpi/math/kinematics/MecanumDriveKinematics.hpp"
MecanumDriveOdometry = "wpi/math/kinematics/MecanumDriveOdometry.hpp"
MecanumDriveOdometry3d = "wpi/math/kinematics/MecanumDriveOdometry3d.hpp"
MecanumDriveWheelPositions = "wpi/math/kinematics/MecanumDriveWheelPositions.hpp"
MecanumDriveWheelSpeeds = "wpi/math/kinematics/MecanumDriveWheelSpeeds.hpp"
MecanumDriveWheelAccelerations = "wpi/math/kinematics/MecanumDriveWheelAccelerations.hpp"
Odometry = "wpi/math/kinematics/Odometry.hpp"
Odometry3d = "wpi/math/kinematics/Odometry3d.hpp"
SwerveDriveKinematics = "wpi/math/kinematics/SwerveDriveKinematics.hpp"
SwerveDriveOdometry = "wpi/math/kinematics/SwerveDriveOdometry.hpp"
SwerveDriveOdometry3d = "wpi/math/kinematics/SwerveDriveOdometry3d.hpp"
SwerveModulePosition = "wpi/math/kinematics/SwerveModulePosition.hpp"
SwerveModuleState = "wpi/math/kinematics/SwerveModuleState.hpp"
SwerveModuleAcceleration = "wpi/math/kinematics/SwerveModuleAcceleration.hpp"
[tool.semiwrap.extension_modules."wpimath.spline._spline"]
name = "wpimath_spline"
wraps = ["robotpy-native-wpimath"]
depends = ["wpimath_geometry"]
yaml_path = "semiwrap/spline"
[tool.semiwrap.extension_modules."wpimath.spline._spline".headers]
# wpi/math/spline
CubicHermiteSpline = "wpi/math/spline/CubicHermiteSpline.hpp"
QuinticHermiteSpline = "wpi/math/spline/QuinticHermiteSpline.hpp"
Spline = "wpi/math/spline/Spline.hpp"
SplineHelper = "wpi/math/spline/SplineHelper.hpp"
SplineParameterizer = "wpi/math/spline/SplineParameterizer.hpp"
[tool.semiwrap.extension_modules."wpimath._controls._controls"]
name = "wpimath_controls"
wraps = ["robotpy-native-wpimath"]
depends = ["wpimath", "wpimath_geometry", "wpimath_kinematics", "wpimath_spline"]
yaml_path = "semiwrap/controls"
[tool.semiwrap.extension_modules."wpimath._controls._controls".headers]
# wpi/math/controller
ArmFeedforward = "wpi/math/controller/ArmFeedforward.hpp"
BangBangController = "wpi/math/controller/BangBangController.hpp"
@@ -1609,15 +1494,71 @@ SwerveDrivePoseEstimator3d = "wpi/math/estimator/SwerveDrivePoseEstimator3d.hpp"
# UnscentedKalmanFilter = "wpi/math/estimator/UnscentedKalmanFilter.hpp"
# UnscentedTransform = "wpi/math/estimator/UnscentedTransform.hpp"
# wpi/math/filter
Debouncer = "wpi/math/filter/Debouncer.hpp"
LinearFilter = "wpi/math/filter/LinearFilter.hpp"
MedianFilter = "wpi/math/filter/MedianFilter.hpp"
SlewRateLimiter = "wpi/math/filter/SlewRateLimiter.hpp"
# wpi/math/geometry
CoordinateAxis = "wpi/math/geometry/CoordinateAxis.hpp"
CoordinateSystem = "wpi/math/geometry/CoordinateSystem.hpp"
Ellipse2d = "wpi/math/geometry/Ellipse2d.hpp"
Pose2d = "wpi/math/geometry/Pose2d.hpp"
Pose3d = "wpi/math/geometry/Pose3d.hpp"
Quaternion = "wpi/math/geometry/Quaternion.hpp"
Rectangle2d = "wpi/math/geometry/Rectangle2d.hpp"
Rotation2d = "wpi/math/geometry/Rotation2d.hpp"
Rotation3d = "wpi/math/geometry/Rotation3d.hpp"
Transform2d = "wpi/math/geometry/Transform2d.hpp"
Transform3d = "wpi/math/geometry/Transform3d.hpp"
Translation2d = "wpi/math/geometry/Translation2d.hpp"
Translation3d = "wpi/math/geometry/Translation3d.hpp"
Twist2d = "wpi/math/geometry/Twist2d.hpp"
Twist3d = "wpi/math/geometry/Twist3d.hpp"
# wpi/math/interpolation
TimeInterpolatableBuffer = "wpi/math/interpolation/TimeInterpolatableBuffer.hpp"
# wpi/math/kinematics
ChassisSpeeds = "wpi/math/kinematics/ChassisSpeeds.hpp"
ChassisAccelerations = "wpi/math/kinematics/ChassisAccelerations.hpp"
DifferentialDriveKinematics = "wpi/math/kinematics/DifferentialDriveKinematics.hpp"
DifferentialDriveOdometry3d = "wpi/math/kinematics/DifferentialDriveOdometry3d.hpp"
DifferentialDriveOdometry = "wpi/math/kinematics/DifferentialDriveOdometry.hpp"
DifferentialDriveWheelPositions = "wpi/math/kinematics/DifferentialDriveWheelPositions.hpp"
DifferentialDriveWheelSpeeds = "wpi/math/kinematics/DifferentialDriveWheelSpeeds.hpp"
DifferentialDriveWheelAccelerations = "wpi/math/kinematics/DifferentialDriveWheelAccelerations.hpp"
Kinematics = "wpi/math/kinematics/Kinematics.hpp"
MecanumDriveKinematics = "wpi/math/kinematics/MecanumDriveKinematics.hpp"
MecanumDriveOdometry = "wpi/math/kinematics/MecanumDriveOdometry.hpp"
MecanumDriveOdometry3d = "wpi/math/kinematics/MecanumDriveOdometry3d.hpp"
MecanumDriveWheelPositions = "wpi/math/kinematics/MecanumDriveWheelPositions.hpp"
MecanumDriveWheelSpeeds = "wpi/math/kinematics/MecanumDriveWheelSpeeds.hpp"
MecanumDriveWheelAccelerations = "wpi/math/kinematics/MecanumDriveWheelAccelerations.hpp"
Odometry = "wpi/math/kinematics/Odometry.hpp"
Odometry3d = "wpi/math/kinematics/Odometry3d.hpp"
SwerveDriveKinematics = "wpi/math/kinematics/SwerveDriveKinematics.hpp"
SwerveDriveOdometry = "wpi/math/kinematics/SwerveDriveOdometry.hpp"
SwerveDriveOdometry3d = "wpi/math/kinematics/SwerveDriveOdometry3d.hpp"
SwerveModulePosition = "wpi/math/kinematics/SwerveModulePosition.hpp"
SwerveModuleState = "wpi/math/kinematics/SwerveModuleState.hpp"
SwerveModuleAcceleration = "wpi/math/kinematics/SwerveModuleAcceleration.hpp"
# wpi/math/optimization
SimulatedAnnealing = "wpi/math/optimization/SimulatedAnnealing.hpp"
# wpi/math/random
# Normal = "wpi/math/random/Normal.hpp"
# wpi/math/path
TravelingSalesman = "wpi/math/path/TravelingSalesman.hpp"
# wpi/math/spline
CubicHermiteSpline = "wpi/math/spline/CubicHermiteSpline.hpp"
QuinticHermiteSpline = "wpi/math/spline/QuinticHermiteSpline.hpp"
Spline = "wpi/math/spline/Spline.hpp"
SplineHelper = "wpi/math/spline/SplineHelper.hpp"
SplineParameterizer = "wpi/math/spline/SplineParameterizer.hpp"
# wpi/math/system
# Discretization = "wpi/math/system/Discretization.hpp"
LinearSystem = "wpi/math/system/LinearSystem.hpp"

View File

@@ -1,6 +1,3 @@
defaults:
subpackage: controller
classes:
wpi::math::ArmFeedforward:
force_type_casters:

View File

@@ -1,6 +1,3 @@
defaults:
subpackage: controller
classes:
wpi::math::BangBangController:
ignored_bases:

View File

@@ -1,6 +1,3 @@
defaults:
subpackage: constraint
classes:
wpi::math::CentripetalAccelerationConstraint:
typealias:

View File

@@ -1,6 +1,3 @@
defaults:
subpackage: controller
classes:
wpi::math::ControlAffinePlantInversionFeedforward:
template_params:

Some files were not shown because too many files have changed in this diff Show More