Commit Graph

5527 Commits

Author SHA1 Message Date
sciencewhiz
15819cc981 [command] Add SimulationPeriodic to templates (#2582) 2020-07-10 21:21:31 -07:00
Thad House
fe6bfb1ba2 [cscore] Provide USB Camera VID and PID in Windows (#2585) 2020-07-10 13:16:14 -07:00
Thad House
5c8d7b2423 [build] Remove install prefix from CMakeLists.txt for Windows (#2584)
The default actually works much better.
2020-07-10 08:34:53 -07:00
sciencewhiz
ff0801d783 [build] Revert change to DeriveLineEnding made in #1961 (#2581)
Fixes windows with git autocrlf
2020-07-09 21:29:50 -07:00
Prateek Machiraju
ac4b0a3118 [wpilib] AnalogPotentiometer: Use average voltage (#2583)
Using GetAverageVoltage will reduce the noise in potentiometer reading. Potentiometers are unlikely to be used where the minimal lag averaging introduces would impact control loop stability.
2020-07-09 21:29:23 -07:00
Peter Johnson
227084e92e [hal] Implement stub mockdata on RoboRIO (#2575)
This makes it much more user-friendly to use simulation classes without needing
to ifdef for C++ to avoid linker errors or be very careful about construction
to avoid runtime errors in Java.
2020-07-07 21:49:05 -07:00
Matt
a175f6e862 [command] Add simulationPeriodic method to Subsystem (#2577)
This method is run periodically during simulation, after periodic().
2020-07-06 23:32:18 -07:00
Peter Johnson
4043c461d7 [wpiutil] HttpServerConnection: Make more functions virtual (#2576)
This allows easier customization of responses.
2020-07-06 10:12:03 -07:00
Prateek Machiraju
b3b2aa6359 [wpilib] Fix SplineHelper cubic spline bug (#2572) 2020-07-05 22:13:28 -07:00
Peter Johnson
5bd2dca463 [sim] Move HAL_LoadExtensions to end of HAL_Initialize (#2571)
Previously, HAL_InitializeDriverStation would reset any callbacks set in
extensions during load.
2020-07-05 22:12:12 -07:00
Thad House
21740fd2c5 [build] Add PDBs to jnicvstatic archives (#2573)
The tools plugin won't include them in the binary, but it will be easy to look them up if needed.
2020-07-05 22:11:42 -07:00
Peter Johnson
c11ef442fb [wpiutil] Add HttpWebSocketServerConnection (#2505)
This is a derived class of HttpServerConnection that implements the
WebSocket upgrade pieces.  This combination is pretty common so is
worth refactoring here.
2020-07-05 22:10:30 -07:00
Peter Johnson
b5a38001dd [cscore] Add support for changing the USB camera path (#2547) 2020-07-05 22:09:44 -07:00
Tyler Veness
5b6f68cf72 [wpilib] Add parentheses to MSVC #pragma message (#2569) 2020-07-05 15:24:44 -07:00
Peter Johnson
3050e935a1 [sim] Add WPILib-class-taking constructors (#2538)
When not direct mapped, make index constructors private and add factory
functions for channel and index.

Co-authored-by: GabrielDeml <gabrielddeml@gmail.com>
2020-07-04 10:10:43 -07:00
Peter Johnson
80a1fa9ece [sim] Add support for disabling SimDevices (#2568)
This allows disabling/enabling SimDevices via prefix matching.  This can be
used to force devices that normally use SimDevice in simulation mode to
instead talk directly to the hardware as in normal operation.
2020-07-04 01:09:49 -07:00
Peter Johnson
1851ba1434 [sim] Remove index from RoboRIO simulation interface (#2567) 2020-07-04 00:44:56 -07:00
Peter Johnson
c4b8a2505d [sim] Add Java wrapper for getProgramStarted (#2566)
Also move SimHooks to wpilibj (to match wpilibc).
2020-07-04 00:44:37 -07:00
Prateek Machiraju
a1d2d40ad3 [wpilib] Add RamseteController examples (#2553)
This is different from the RamseteCommand examples in that they don't use the command-based library.
2020-07-03 21:59:42 -07:00
Tyler Veness
a3881bb452 [wpilibc] Add implicit conversion from degree_t to Rotation2d (#2564)
There's already an implicit conversion for radian_t, but there's no
implicit conversion from degree_t to radian_t.
2020-07-03 21:58:19 -07:00
Thad House
6e4ee8da2b [cscore] Limit jnicvstatic exports to only C and JNI symbols (#2565)
Reduces risk even more about accidentally interfering with OpenCV.
2020-07-03 21:53:56 -07:00
Tyler Veness
2a0f79b90f [wpilib] Add X and Y component getters to Pose2d and Transform2d (#2563)
pose.Translation().X() and pose.Translation.Y() are common operations,
so shortening them to pose.X() and pose.Y() would be convenient.

Java uses the getX() convention so that is used instead of X() for Java.
2020-07-02 18:09:36 -07:00
Tyler Veness
5ccc98bc14 [wpiutil] Add angular acceleration units (#2562)
We already have predefined linear acceleration units and angular
velocity units. This makes defining acceleration constraints for angular
trapezoid profiles more convenient.

No tests were added for this because the base unit conversions are
already tested. Angular acceleration just adds another time dimension.
2020-07-01 17:16:08 -07:00
Thad House
b1353e4d6e [cscore] Fix jnicvstatic classifier (#2561)
The archive needed to be zip, additionally the library needed to statically link to cscore. All better now
2020-06-30 22:50:02 -07:00
Thad House
9f4de91554 [cscore] Add new jnicvstatic artifact type (#2560)
With the new extraction method, we would need to provide an opencv. However, all of our tools that use opencv use an alternate version of OpenCV, so that would interfere.

This adds an artifact where opencv is statically linked into cscore, but wpiutil is a shared dependency. This solves some shared state hacks, and the extraction works so much better, so its worth making this change to allow that
2020-06-30 20:39:52 -07:00
Tyler Veness
d30d1088da [wpiutil] Split units.h into separate headers for each unit (#2551)
Closes #2508.

Co-authored-by: Prateek Machiraju <prateek.machiraju@gmail.com>
2020-06-29 22:25:09 -07:00
Peter Johnson
c6e6346642 [sim] Support StepTiming() even when timing is not paused (#2558) 2020-06-29 21:52:23 -07:00
Tyler Veness
e08c8a1fc9 [wpiutil] Add circular buffer class with static size (#2542)
This complements wpi::circular_buffer which supports dynamic resizing.
2020-06-29 21:51:05 -07:00
Tyler Veness
e50dbe0c43 [wpilib] Add Gyro::GetRotation2d() (#2555) 2020-06-29 19:10:07 -07:00
Thad House
d9c7bbd046 [wpiutil] Restore existing dll directory when setting dll directory (#2559)
* Allow getting existing dll directory when setting dll directory
2020-06-29 16:33:26 -07:00
Vasista Vovveti
dac0e5b133 [sim] Set Windows timer precision to 1ms (#2557) 2020-06-28 17:45:40 -07:00
Peter Johnson
ce3bc91946 [sim] Move Sim classes from HAL to wpilibc/j (#2549)
Also move some things in HAL for consistency.

WAS:
C++:
- C APIs: #include "mockdata/AccelerometerData.h"
- User side class: #include "simulation/AccelerometerSim.h"
Java:
- JNI APIs: hal.sim.mockdata.AccelerometerData (and a few classes in hal.sim)
- User side classes: hal.sim.AccelerometerSim

IS:
C++:
- C APIs: #include "hal/simulation/AccelerometerData.h"
- C++ class: #include "frc/simulation/AccelerometerSim.h"
Java:
- JNI APIs: hal.simulation.AccelerometerData
- User side class: wpilibj.simulation.AccelerometerSim
2020-06-27 22:11:24 -07:00
Tyler Veness
22c0e2813a [build] Upgrade CI to clang-format 10.0 (#1961)
MacOS no longer ships 6.0, and Arch Linux's mesa GPU drivers are no longer compatible with LLVM 6.0.
2020-06-27 20:39:00 -07:00
Thad House
9796987d59 [wpiutil] Add new combined native class loader (#2554)
* Add new combined native class loader

Allows us to extract a list of binaries that depend on each other, and load them successfully

It is correct that there is no implementation in wpiutil for the new native method. That is a requirement, because its needed to load the libraries, and we cant load the wpiutiljni native library since it depends on wpiutil. Instead we have a separate library built with the tools plugin that handles everything
2020-06-27 18:05:14 -07:00
Peter Johnson
4d275e4767 [cscore] Fix USB camera test failure (#2556)
Introduced by camera filtering in #2532.
2020-06-27 16:14:18 -07:00
Peter Johnson
492d6c2826 [sim] Update thirdparty-imgui (#2552)
Updates the following dependencies:
- glfw to latest 3.3-stable
- imgui to 1.76
- stb to latest master

Removes libvulkan dependency.

Also adds implot.
2020-06-27 16:02:40 -07:00
Peter Johnson
765f009350 [wpiutil] Add HttpQueryMap and HttpPath/HttpPathRef (#2544) 2020-06-27 10:47:41 -07:00
Peter Johnson
629e8b41f2 [sim] Provide method to set the runtime type (#2539)
This is needed for extensions that effectively access real hardware and
want to disable the "simulation" parts of user code.
2020-06-26 20:46:13 -07:00
Peter Johnson
71c187a1ed [hal] Add GetIndex() to handles classes (#2548)
This provides a lock-free way to get just the handle index.
2020-06-26 19:56:05 -07:00
Peter Johnson
00e991e2a0 [wpiutil] Add dual-IPv4/IPv6 uv::AddrToName() (#2545) 2020-06-26 17:14:26 -07:00
Peter Johnson
8a80f97c06 [hal] Move JNI helpers and sim namespace to hal namespace (#2543) 2020-06-26 17:12:55 -07:00
Thad House
3cbec411c7 [build] Add package declaration check to checkstyle (#2446)
Co-authored-by: Austin Shalit <austinshalit@gmail.com>
2020-06-26 11:10:34 -07:00
Thad House
3bcb89fb84 Set rpath on all unix platforms to $ORIGIN (#2299)
* Set rpath on all unix platforms to $ORIGIN

Will make it possible to extract JNI libraries easier
2020-06-23 21:03:04 -07:00
Peter Johnson
62b8a36ce9 [sim] Wrap timing functions in C++ SimHooks (#2540)
These are present in Java but were missed for C++.
2020-06-20 23:47:55 -07:00
sciencewhiz
27566abb06 [command] PIDSubsystem: Add GetSetpoint (#2534)
Co-authored-by: Tyler Veness <calcmogul@gmail.com>
2020-06-20 16:30:21 -07:00
sciencewhiz
dfb130270a [wpilib] Use inclusive language where practical (#2533)
Co-authored-by: Austin Shalit <austinshalit@gmail.com>
2020-06-19 23:06:34 -07:00
Thad House
1ba616f843 [build] Fix 32-bit Windows builds (#2537) 2020-06-18 21:29:48 -07:00
Peter Johnson
11fb0a4cb7 [cscore] EnumerateUsbCameras(): Only list capture devices (#2532)
Previously this would list ALL /dev/video* devices.  In recent versions of
Linux this leads to listing duplicate devices, as many USB cameras provide
both a video device and a metadata device, and only the video device can
actually be used for streaming.
2020-06-13 20:51:46 -07:00
Peter Johnson
1557a4c3b0 [sim] Make SimDeviceInfo/SimValueInfo data members public (#2531) 2020-06-13 20:50:34 -07:00
sciencewhiz
ab28a7d65f [build] Run Gradle Wrapper validation on PRs (#2527) 2020-06-11 18:28:11 -07:00