Commit Graph

3742 Commits

Author SHA1 Message Date
Peter Johnson
7508aada93 Add ability to end startCompetition() main loop (#2032)
This is useful for both cleanly exiting from simulation and for unit testing
at a framework level.

This change required removing move constructor/assignment from IterativeRobot.
2019-11-05 21:33:09 -08:00
Peter Johnson
f5b4be16db Old C++ Command: Make GetName et al public (#2042)
These used to be effectively public due to SendableBase, and are public
in the Java version.
2019-11-05 20:53:40 -08:00
Peter Johnson
e6f5c93ab1 Clean up new C++ commands (#2027)
- Remove use of std::set. The only place std::set was actually used was in ParallelRaceGroup,
but this was of minimal utility as ParallelRaceGroup checked for duplicate subsystem
requirements, so it would be very unusual to end up with duplicate commands
in any case; replaced it with a vector.
- Remove use of std::unordered_map except for SelectCommand. Replaced with vector.
- Use pImpl idiom for CommandScheduler
- Minimize include files (remove unnecessary ones)
- Reformat include file order for consistency
2019-11-05 20:52:49 -08:00
Thad House
39f46ceab6 Don't allow rising and falling values to be read from AnalogTrigger (#2039)
They can't be caught from user code
2019-11-05 20:42:01 -08:00
Thad House
d93aa2b6b2 Add missing lock in FRCDriverStation (#2034)
Switch newDataCounter to atomic
2019-11-05 20:41:16 -08:00
Austin Shalit
114ddaf81f Fix duplicate encoders in examples (#2033) 2019-11-03 09:08:05 -08:00
Peter Johnson
f22d0961e3 Sim GUI: Add duty cycle support 2019-11-02 21:43:57 -07:00
Peter Johnson
3262c2badb Sim GUI: Use new multi-channel PDP getter function 2019-11-02 21:43:57 -07:00
Peter Johnson
96d40192ae Revert accidental change to MyRobot.cpp (#2029) 2019-11-02 21:06:22 -07:00
carbotaniuman
ed30d5d40e Add JSON support for Trajectories (#2025) 2019-11-02 11:35:03 -07:00
Peter Johnson
2b6811eddb Fix null pointer dereference in C++ CommandScheduler (#2023)
Java has a null check that was missing in C++ when adding default commands.
2019-11-01 23:42:01 -07:00
Thad House
1d695a1660 Add FPGA Duty Cycle support (#1987) 2019-11-01 23:41:30 -07:00
Thad House
509819d83f Split the two command implementations into separate libraries (#2012)
This will allow us at the user code side to determine to include old commands, new commands or both.
2019-11-01 21:58:54 -07:00
Thad House
2ad15cae19 Add multi PDP getter and sim PCM/PDP multi arg functions (#2014) 2019-11-01 21:55:35 -07:00
Thad House
931b8ceefd Add new usage reporting types from 2020v5 (#2026) 2019-11-01 21:54:17 -07:00
Tyler Veness
0b3821eba3 Change files with CRLF line endings to LF (#2022) 2019-11-01 20:26:05 -07:00
Thad House
6f159d1426 Add way to atomically check for new data, and wait otherwise (#2015) 2019-11-01 17:09:28 -07:00
Austin Shalit
a769f1f227 Fix bug in RamseteCommand (using degrees instead of radians) (#2020) 2019-11-01 13:21:02 -07:00
Oblarg
c5186d8159 Clean up PIDCommand (#2010)
PIDCommand uses a function based (callback) model, so functions designed for use in derived classes are of limited utility.
2019-11-01 13:11:55 -07:00
Oblarg
9ebd23d61e Add setVoltage method to SpeedController (#1997)
Add a voltage-compensated setVoltage method to SpeedController, which is sorely needed to help teams use feedforward-based controls effectively. Also uses correct units on the cpp side.

Also update relevant examples.
2019-11-01 09:32:40 -07:00
Prateek Machiraju
f6e311ef86 Fix SplineHelper bug (#2018)
Add unit test to check interior waypoints
2019-11-01 09:28:11 -07:00
Oblarg
f33bd9f050 Fix NPE in RamseteCommand (#2019) 2019-11-01 09:26:48 -07:00
Thad House
1c1e0c9a6a Add HAL_SetAllSolenoids to sim (#2004) 2019-10-30 21:29:35 -07:00
Thad House
ea9bb651a3 Remove accidental OpenCV link from wpilibc shared library (#2013) 2019-10-30 21:28:45 -07:00
Oblarg
cc07425182 Change command decorators to return implementation (#2007)
Changes Command decorators to return actual implementation classes rather than Commands. Previously, decorated commands were not Sendable, which was a problem. Also, there's no real reason not to expose the implementation details here, as we're extremely unlikely to change the implementations in the future.
2019-10-30 21:28:08 -07:00
Thad House
16b34cce20 Remove IterativeRobot templates (#2011)
With the class being deprecated, new projects shouldn't be created with it
2019-10-30 21:26:30 -07:00
Thad House
669127e49c Update intellisense to work with Beta 2020 code (#2008)
Needed to fix case when both rio and raspbian compilers installed, along with C++17 intellisense.
2019-10-29 21:36:13 -07:00
Thad House
9dc30797e4 Fix usage reporting indices (#2009)
According to NI, 0 is unspecified, and all the indices need to be
index + 1, so the first index becomes 1.
2019-10-29 21:34:10 -07:00
Thad House
f6b844ea30 Move HAL Interrupt struct to anonymous namespace (#2003) 2019-10-28 22:32:28 -07:00
Thad House
a72f809911 Add extern C to DigitalGlitchFilterJNI (#2002) 2019-10-28 22:30:04 -07:00
Thad House
916596cb01 Fix invalid examples json, add validator (#2001) 2019-10-28 20:10:05 -07:00
Peter Johnson
5509a8e968 Use constexpr for all example constants
Also make DifferentialDriveKinematics constructor constexpr.
2019-10-28 09:19:41 -07:00
Peter Johnson
0be6b64756 Use constexpr for DifferentialDriveKinematics 2019-10-28 09:19:41 -07:00
Thad House
936627bd94 wpilibc: Remove direct CameraServer dependency (#1989)
This makes linking easier, particularly for third party vendors and other language wrappers.
v2020.1.1-beta-2
2019-10-27 08:37:30 -07:00
Prateek Machiraju
8e333c0aad Use FPGA Time instead of wall clock time for odometry (#1996) 2019-10-27 07:57:35 -07:00
sciencewhiz
d4430b765e Gearsbot example: Use standard argument order (#1995)
The convention is to put the subsystem last.
2019-10-27 06:28:29 -07:00
Oblarg
75438ab2ce Add RamseteCommand (#1951) 2019-10-26 21:33:41 -07:00
Thad House
989df1b461 Bump Native Utils and OpenCV dependencies (#1993)
OpenCV doesn't change anything other then the hash file. NativeUtils is needed to get the newest compiler.
2019-10-26 16:21:29 -07:00
Oblarg
dbc33b61e1 Fix Timer usage in TrapezoidProfileCommand (#1992) 2019-10-26 12:50:30 -07:00
Oblarg
79f8c5644a Add TrapezoidProfileCommand (#1962) 2019-10-26 09:58:13 -07:00
Prateek Machiraju
9440edf2b5 Refactor TrajectoryGenerator (#1972) 2019-10-26 09:39:47 -07:00
Oblarg
73a30182c3 Add frc2::Timer (#1968)
This is a unit-safe version of frc::Timer.
Undo previous (#1815) deprecation of parts of frc::Timer.
2019-10-26 08:21:40 -07:00
Banks T
36ea865edc Add toString for geometry and trajectory classes (#1991) 2019-10-26 08:18:56 -07:00
Oblarg
cbe05e7e8a Update ProfiledPIDController API (#1967) 2019-10-24 20:37:55 -07:00
Tyler Veness
d04eb35465 Deprecate old PID classes (#1964)
PIDBase was only used by the old PIDController, which is deprecated.
PIDInterface is only used by PIDBase, and that's deprecated by this
commit.
2019-10-24 20:32:31 -07:00
Thad House
02264db69c Add JNI dependencies to myRobotCpp (#1980)
That way it's a bit easier to test the Java builds.
2019-10-24 20:31:07 -07:00
Banks T
2a76c996eb Use VID/PID detection for PS3Eye (#1977) 2019-10-24 20:28:21 -07:00
Thad House
a3820bbdfa Remove HAL_BaseInitialize (#1981) 2019-10-24 20:26:11 -07:00
Thad House
a83fb47933 Update to 2020v5 image (#1983)
* Update to 2020v5 image
2019-10-24 12:14:22 -07:00
CTT
4b0ed910ee Make SwerveDriveKinematics.toChassisSpeeds() public (#1976) 2019-10-24 09:13:04 -07:00