[bazel][robotpy] Add mirror for robotpy's wpiuil and wpinet libraries (#8062)

Project import generated by Copybara.

GitOrigin-RevId: 92ea93d1b47a82667044bd0af05f7fdb34d2c2c2
This commit is contained in:
PJ Reiniger
2025-08-30 14:55:11 -04:00
committed by GitHub
parent 96004f9bb5
commit bd1dcc4358
96 changed files with 7271 additions and 64 deletions

View File

@@ -0,0 +1,59 @@
defaults:
ignore: true
subpackage: sync
extra_includes:
- pybind11/stl.h
functions:
CreateEvent:
DestroyEvent:
SetEvent:
ResetEvent:
CreateSemaphore:
DestroySemaphore:
ReleaseSemaphore:
param_override:
prevCount:
default: "0"
WaitForObject:
overloads:
WPI_Handle:
WPI_Handle, double, bool*:
WaitForObjects:
overloads:
std::span<const WPI_Handle>, std::span<WPI_Handle>:
param_override:
signaled:
ignore: true
cpp_code: |
[](std::span<const WPI_Handle> handles) {
py::gil_scoped_release release;
std::vector<WPI_Handle> signaled(handles.size());
auto result = wpi::WaitForObjects(handles, signaled);
signaled.resize(result.size());
return signaled;
}
std::initializer_list<WPI_Handle>, std::span<WPI_Handle>:
ignore: true
std::span<const WPI_Handle>, std::span<WPI_Handle>, double, bool*:
param_override:
signaled:
ignore: true
timedOut:
ignore: true
cpp_code: |
[](std::span<const WPI_Handle> handles, double timeout) {
py::gil_scoped_release release;
std::vector<WPI_Handle> signaled(handles.size());
bool timedOut = false;
auto result = wpi::WaitForObjects(handles, signaled, timeout, &timedOut);
signaled.resize(result.size());
return std::make_tuple(signaled, timedOut);
}
std::initializer_list<WPI_Handle>, std::span<WPI_Handle>, double, bool*:
ignore: true
CreateSignalObject:
SetSignalObject:
ResetSignalObject:
DestroySignalObject: