Skip to content

Commit

Permalink
Merge pull request #57 from robotpy/romi-xrp
Browse files Browse the repository at this point in the history
Add ROMI and XRP to mostrobotpy
  • Loading branch information
virtuald authored Jan 8, 2024
2 parents d6cf140 + cc20cd2 commit 5ae088d
Show file tree
Hide file tree
Showing 30 changed files with 345 additions and 0 deletions.
20 changes: 20 additions & 0 deletions docs/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -125,3 +125,23 @@ Generally, RobotPy users should avoid interacting with the HAL directly.

hal
hal.simulation

ROMI API
--------

These are special devices for use with the ROMI product.

.. toctree::
:maxdepth: 1

romi

XRP API
-------

These are special devices for use with the XRP product.

.. toctree::
:maxdepth: 1

xrp
6 changes: 6 additions & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,3 +105,9 @@
# HAL
gen_package(root, "hal", include=["Sim*"])
gen_package(root, "hal.simulation")

# ROMI
gen_package(root, "romi")

# XRP
gen_package(root, "xrp")
8 changes: 8 additions & 0 deletions rdev.toml
Original file line number Diff line number Diff line change
Expand Up @@ -68,3 +68,11 @@ roborio = false
[subprojects."robotpy-halsim-gui"]
min_version = "2024.1.1"
roborio = false

[subprojects."robotpy-romi"]
min_version = "2024.1.1"
roborio = false

[subprojects."robotpy-xrp"]
min_version = "2024.1.1"
roborio = false
12 changes: 12 additions & 0 deletions subprojects/robotpy-romi/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
*.py[cod]
*.so
*.dll
*.egg-info

/build

/romi/include
/romi/lib
/romi/_init_romi.py
/romi/pkgcfg.py
/romi/version.py
4 changes: 4 additions & 0 deletions subprojects/robotpy-romi/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
robotpy-romi
============

RobotPy support for the WPILib ROMI vendor library.
17 changes: 17 additions & 0 deletions subprojects/robotpy-romi/gen/OnBoardIO.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---

classes:
OnBoardIO:
attributes:
kMessageInterval:
m_nextMessageTime:
enums:
ChannelMode:
methods:
OnBoardIO:
GetButtonAPressed:
GetButtonBPressed:
GetButtonCPressed:
SetGreenLed:
SetRedLed:
SetYellowLed:
16 changes: 16 additions & 0 deletions subprojects/robotpy-romi/gen/RomiGyro.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---

classes:
RomiGyro:
methods:
RomiGyro:
GetAngle:
GetRate:
Calibrate:
GetRateX:
GetRateY:
GetRateZ:
GetAngleX:
GetAngleY:
GetAngleZ:
Reset:
6 changes: 6 additions & 0 deletions subprojects/robotpy-romi/gen/RomiMotor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---

classes:
RomiMotor:
methods:
RomiMotor:
43 changes: 43 additions & 0 deletions subprojects/robotpy-romi/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
[tool.robotpy-build.metadata]
name = "robotpy-romi"
description = "Binary wrapper for WPILib Romi Vendor library"
author = "RobotPy Development Team"
author_email = "robotpy@googlegroups.com"
url = "https://github.com/robotpy/mostrobotpy"
license = "BSD-3-Clause"
install_requires = [
"wpilib==THIS_VERSION"
]

[build-system]
requires = [
"robotpy-build<2025.0.0,~=2024.0.0",
"wpilib~=2024.1.1"
]

[tool.robotpy-build]
base_package = "romi"

[tool.robotpy-build.wrappers."romi"]
name = "romi"
sources = ["romi/src/main.cpp"]
generation_data = "gen"
depends = [
"wpilib_core", "wpilibc_interfaces", "wpilibc",
"wpimath_cpp", "wpimath_geometry",
"wpiHal", "wpiutil", "ntcore",
]

[tool.robotpy-build.wrappers."romi".autogen_headers]
# frc/romi
OnBoardIO = "frc/romi/OnBoardIO.h"
RomiGyro = "frc/romi/RomiGyro.h"
RomiMotor = "frc/romi/RomiMotor.h"

[tool.robotpy-build.wrappers."romi".maven_lib_download]
artifact_id = "romiVendordep-cpp"
group_id = "edu.wpi.first.romiVendordep"
# repo_url = "https://frcmaven.wpi.edu/artifactory/release"
repo_url = "https://frcmaven.wpi.edu/artifactory/release"
version = "2024.1.1"
libs = ["romiVendordep"]
8 changes: 8 additions & 0 deletions subprojects/robotpy-romi/romi/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
from . import _init_romi

# autogenerated by 'robotpy-build create-imports romi'
from ._romi import OnBoardIO, RomiGyro, RomiMotor

__all__ = ["OnBoardIO", "RomiGyro", "RomiMotor"]

del _init_romi
6 changes: 6 additions & 0 deletions subprojects/robotpy-romi/romi/src/main.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

#include <rpygen_wrapper.hpp>

RPYBUILD_PYBIND11_MODULE(m) {
initWrapper(m);
}
5 changes: 5 additions & 0 deletions subprojects/robotpy-romi/setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/env python3

from robotpy_build.setup import setup

setup()
1 change: 1 addition & 0 deletions subprojects/robotpy-romi/tests/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pytest
12 changes: 12 additions & 0 deletions subprojects/robotpy-romi/tests/run_tests.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/usr/bin/env python3

import os
from os.path import abspath, dirname
import sys
import subprocess

if __name__ == "__main__":
root = abspath(dirname(__file__))
os.chdir(root)

subprocess.check_call([sys.executable, "-m", "pytest"])
5 changes: 5 additions & 0 deletions subprojects/robotpy-romi/tests/test_romi.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import romi


def test_romi():
pass
12 changes: 12 additions & 0 deletions subprojects/robotpy-xrp/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
*.py[cod]
*.so
*.dll
*.egg-info

/build

/xrp/include
/xrp/lib
/xrp/_init_xrp.py
/xrp/pkgcfg.py
/xrp/version.py
4 changes: 4 additions & 0 deletions subprojects/robotpy-xrp/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
robotpy-xrp
============

RobotPy support for the WPILib XRP vendor library.
15 changes: 15 additions & 0 deletions subprojects/robotpy-xrp/gen/XRPGyro.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---

classes:
XRPGyro:
methods:
XRPGyro:
GetAngle:
GetRate:
GetRateX:
GetRateY:
GetRateZ:
GetAngleX:
GetAngleY:
GetAngleZ:
Reset:
13 changes: 13 additions & 0 deletions subprojects/robotpy-xrp/gen/XRPMotor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---

classes:
XRPMotor:
methods:
XRPMotor:
Set:
Get:
SetInverted:
GetInverted:
Disable:
StopMotor:
GetDescription:
11 changes: 11 additions & 0 deletions subprojects/robotpy-xrp/gen/XRPOnBoardIO.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---

classes:
XRPOnBoardIO:
attributes:
kMessageInterval:
m_nextMessageTime:
methods:
XRPOnBoardIO:
GetUserButtonPressed:
SetLed:
6 changes: 6 additions & 0 deletions subprojects/robotpy-xrp/gen/XRPRangefinder.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---

classes:
XRPRangefinder:
methods:
GetDistance:
7 changes: 7 additions & 0 deletions subprojects/robotpy-xrp/gen/XRPReflectanceSensor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---

classes:
XRPReflectanceSensor:
methods:
GetLeftReflectanceValue:
GetRightReflectanceValue:
10 changes: 10 additions & 0 deletions subprojects/robotpy-xrp/gen/XRPServo.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---

classes:
XRPServo:
methods:
XRPServo:
SetAngle:
GetAngle:
SetPosition:
GetPosition:
47 changes: 47 additions & 0 deletions subprojects/robotpy-xrp/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
[tool.robotpy-build.metadata]
name = "robotpy-xrp"
description = "Binary wrapper for WPILib XRP Vendor library"
author = "RobotPy Development Team"
author_email = "robotpy@googlegroups.com"
url = "https://github.com/robotpy/mostrobotpy"
license = "BSD-3-Clause"
install_requires = [
"wpilib==THIS_VERSION"
]

[build-system]
requires = [
"robotpy-build<2025.0.0,~=2024.0.0",
"wpilib~=2024.1.1"
]

[tool.robotpy-build]
base_package = "xrp"

[tool.robotpy-build.wrappers."xrp"]
name = "xrp"
sources = ["xrp/src/main.cpp"]
generation_data = "gen"
depends = [
"wpilib_core", "wpilibc_interfaces", "wpilibc",
"wpimath_cpp", "wpimath_geometry",
"wpiHal", "wpiutil", "ntcore",
]

[tool.robotpy-build.wrappers."xrp".autogen_headers]
# frc/xrp
XRPGyro = "frc/xrp/XRPGyro.h"
XRPMotor = "frc/xrp/XRPMotor.h"
XRPOnBoardIO = "frc/xrp/XRPOnBoardIO.h"
XRPRangefinder = "frc/xrp/XRPRangefinder.h"
XRPReflectanceSensor = "frc/xrp/XRPReflectanceSensor.h"
XRPServo = "frc/xrp/XRPServo.h"


[tool.robotpy-build.wrappers."xrp".maven_lib_download]
artifact_id = "xrpVendordep-cpp"
group_id = "edu.wpi.first.xrpVendordep"
# repo_url = "https://frcmaven.wpi.edu/artifactory/release"
repo_url = "https://frcmaven.wpi.edu/artifactory/release"
version = "2024.1.1"
libs = ["xrpVendordep"]
5 changes: 5 additions & 0 deletions subprojects/robotpy-xrp/setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/env python3

from robotpy_build.setup import setup

setup()
1 change: 1 addition & 0 deletions subprojects/robotpy-xrp/tests/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pytest
12 changes: 12 additions & 0 deletions subprojects/robotpy-xrp/tests/run_tests.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/usr/bin/env python3

import os
from os.path import abspath, dirname
import sys
import subprocess

if __name__ == "__main__":
root = abspath(dirname(__file__))
os.chdir(root)

subprocess.check_call([sys.executable, "-m", "pytest"])
5 changes: 5 additions & 0 deletions subprojects/robotpy-xrp/tests/test_xrp.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import xrp


def test_xrp():
pass
22 changes: 22 additions & 0 deletions subprojects/robotpy-xrp/xrp/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
from . import _init_xrp

# autogenerated by 'robotpy-build create-imports xrp'
from ._xrp import (
XRPGyro,
XRPMotor,
XRPOnBoardIO,
XRPRangefinder,
XRPReflectanceSensor,
XRPServo,
)

__all__ = [
"XRPGyro",
"XRPMotor",
"XRPOnBoardIO",
"XRPRangefinder",
"XRPReflectanceSensor",
"XRPServo",
]

del _init_xrp
6 changes: 6 additions & 0 deletions subprojects/robotpy-xrp/xrp/src/main.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

#include <rpygen_wrapper.hpp>

RPYBUILD_PYBIND11_MODULE(m) {
initWrapper(m);
}

0 comments on commit 5ae088d

Please sign in to comment.