Austin Shalit
e548a5f705
Update and enable PMD 6.3.0 ( #1107 )
2018-06-03 10:00:53 -07:00
Tyler Veness
8373e0361b
Made Controller interface public ( #1123 )
2018-06-01 01:00:24 -07:00
Thad House
d9971a705a
Throw UncleanStatusException rather then RuntimeException ( #1114 )
2018-05-30 23:36:40 -07:00
Austin Shalit
7c9517ce5b
Fix gain encapsulation in LinearDigitalFilter ( #1105 )
2018-05-28 00:52:59 -04:00
Austin Shalit
2e5fece594
Add utility class tests ( #871 )
...
Checks for classes that only have static methods.
2018-05-24 20:39:15 -04:00
Thad House
fb45a5b314
Allows passing in the main robot class from the command line ( #1091 )
2018-05-24 20:05:58 -04:00
Thad House
86c1f8ae50
Fixes initialization when not using the provided main ( #1085 )
...
Helpful for simulation, which might not use our main.
2018-05-24 20:03:19 -04:00
Thad House
62d5301b1f
Changes notifier to be closable. ( #1090 )
...
Fixes #1089
2018-05-24 19:56:29 -04:00
Austin Shalit
40cc743cc7
Enable checkstyle on cscore, ntcore, wpiutil ( #1032 )
...
Also update to version 8.10.
2018-05-24 00:31:04 -04:00
Tyler Veness
ecfe95383c
Made SensorBase a utility class and renamed it to SensorUtil ( #813 )
2018-05-23 23:22:30 -04:00
Thad House
cbaff52850
Implements AutoCloseable for types, replacing free() ( #1048 )
2018-05-22 23:33:17 -07:00
Thad House
680aabbe7c
Add new CAN API ( #1036 )
2018-05-21 16:09:38 -07:00
Tyler Veness
df182f382e
PIDController now supports composition ( #976 )
...
For example, an outer position feedback controller can now drive the
reference of an inner velocity feedback controller.
2018-05-19 01:32:43 -07:00
Austin Shalit
17401e10f0
Add setting to invert the right side of the drive ( #1045 )
2018-05-19 01:22:20 -07:00
David Vo
73439d8213
DriverStation: Fix getStickButtonPressed/Released ( #856 )
...
This fixes DriverStation in WPILibJ to check the existence of buttons and hold the data mutex in getStickButtonPressed() and getStickButtonReleased(), as the corresponding methods in WPILibC do.
2018-05-16 20:00:48 -07:00
Tyler Veness
64b03704f8
Rename Joystick default channel constants ( #904 )
...
The new naming makes it more clear that the constants are intended to be used
with the channel setters.
2018-05-16 19:53:16 -07:00
Tyler Veness
630fc55bde
Implemented synchronous PID controller ( #993 )
...
SynchronousPID provides a Calculate() function for teams to call themselves
instead of running the controller with a Notifier.
2018-05-16 19:51:37 -07:00
Austin Shalit
f90e429bf9
Add removeAll to preferences ( #987 )
...
This removes all keys except for .type.
2018-05-16 19:50:35 -07:00
Tyler Veness
ef442d775d
Refactored DriverStation.java unplugged message handling to match C++ ( #808 )
...
Also fixed error handling in C++ for out-of-bounds arguments.
2018-05-16 00:13:52 -07:00
Tyler Veness
3e6c3c3e98
Replaces Timer in PIDController.java with Notifier ( #878 )
...
Fixes #877 .
2018-05-16 00:02:21 -07:00
Tyler Veness
8d57b73b41
Fixed naming convention of static variable in TimedRobot.java ( #876 )
2018-05-15 23:59:38 -07:00
Tyler Veness
d8c8643b52
Format HTML and XML files ( #944 )
...
Generated by wpilibsuite/styleguide#52 .
2018-05-15 23:58:20 -07:00
Tyler Veness
adb6098353
Removed extra newlines after open curly braces ( #935 )
...
Generated by wpilibsuite/styleguide#115 .
2018-05-15 23:57:24 -07:00
Thad House
ab70220ecf
Makes SPI edge changes more obvious ( #1056 )
...
Rising and Falling mean the opposite when active is set high vs low. Leading and trailing makes much more sense.
Closes #925
2018-05-14 18:16:36 -07:00
Thad House
337e89cf6e
Adds JNI Simulator interface and updated Sim API ( #1002 )
...
The simulator was generated by https://github.com/ThadHouse/SimulatorGenerator
2018-05-11 12:38:23 -07:00
Austin Shalit
665a6e356a
Allow users to feed the watchdog contained in drive objects ( #1044 )
2018-05-09 20:18:55 -07:00
Tyler Veness
93859eb84f
TimedRobot now uses the Notifier HAL API ( #942 )
...
Fixes #941 .
2018-04-30 00:00:09 -07:00
Tyler Veness
e7cf6bf7c5
Fixed wpilibj GenericHID.getType() ( #969 )
...
It was using array indexing to map the return value of
DriverStation.getJoystickType() to HIDType when the enum should instead be
constructed from the int value. C++ already does this.
Fixes #968 .
2018-04-29 23:56:00 -07:00
Tyler Veness
2ed9ae1652
Removed unused ROBOT_TASK_PRIORITY constant from RobotBase.java ( #991 )
2018-04-29 20:14:06 -07:00
Austin Shalit
fdfea35161
Fix JavaDoc tag ( #995 )
...
The isParented method had an incorrect javadoc tag for the return value.
2018-04-29 20:13:18 -07:00
Austin Shalit
47783842e9
Fix JavaDoc tag in Differential Drive ( #996 )
...
The `{@link SpeedControllerGroup}` was broken because SpeedControllerGroup was not imported.
2018-04-29 20:12:35 -07:00
Thad House
7f88cf768d
New 2018 and later build setup ( #1001 )
2018-04-29 13:29:07 -07:00
Thad House
14228d82f3
Adds Direct port name Serial API ( #956 )
2018-03-05 19:41:09 -08:00
Peter Johnson
5175829bab
PWM: Use getRaw and setRaw for Sendable "Value" property. ( #963 )
...
Also change type to "PWM". Move old PWM Sendable behavior for both value
and type to PWMSpeedController.
2018-03-03 21:36:25 -08:00
Peter Johnson
9d7293734a
SendableChooser: Do not automatically add to LiveWindow. ( #964 )
...
SendableChooser::InitSendable() is written such that it saves the table
being used in an instance variable. This doesn't work if the chooser is
added to both LiveWindow and SmartDashboard. Normally it is not added to
LiveWindow because the name is empty, but if setName() is called this could
still happen. Note adding the same SendableChooser to SmartDashboard with
two different names is also not currently supported, for the same reason.
The correct solution will be to remove the instance variable, but this is
too high risk to implement mid-season, so instead just remove from LiveWindow.
2018-03-03 21:34:42 -08:00
Peter Johnson
1e5ec362f7
CameraServer: catch VideoExceptions in video listener. ( #949 )
...
We don't want failures here to stop other video properties from updating.
Reported here: https://www.chiefdelphi.com/forums/showthread.php?t=162860
2018-03-03 01:58:28 -08:00
Tyler Veness
7bb3e4efc3
Made documentation for RobotDriveBase::SetDeadband() clearer ( #953 )
...
It now mentions that the deadband is applied to the drive inputs.
2018-03-03 01:57:59 -08:00
PJ Reiniger
67de595c85
ADXRS450_Gyro: Add null check around reset ( #948 )
...
Reset() is the only function without a null check around it. We call the function on startup, which means if it is unplugged the robot crashes.
Also added an accessor for checking if it is connected, as some teams (us) would like to handle the case where it was not connected on startup.
2018-03-03 01:57:45 -08:00
Thad House
f5a292dadd
Adds TriState JNI entry point ( #938 )
...
Also adds missing sim TriState DIO HAL call, and a ToDo for later
2018-02-12 16:05:10 -08:00
Sam Carlberg
77d6c11743
Invert right side motors in MecanumDrive sendable ( #933 )
...
This aligns with the current behavior of DifferentialDrive
Fixes shuffleboard#404
2018-02-09 08:30:12 -08:00
Tyler Veness
67f9c9a5b3
Fixed TimedRobot.java hanging if an exception was thrown ( #926 )
2018-02-04 22:38:19 -08:00
Tyler Veness
64a7e57fe0
Added output normalization to DifferentialDrive::CurvatureDrive() ( #924 )
...
This normalizes within -1..1 to avoid clipping and maintain the ratio between
wheel speeds, since that ratio determines the center of rotation.
Fixes #923 .
2018-02-01 21:17:04 -08:00
Tyler Veness
5ca00dddbe
Added TimedRobot::GetPeriod() ( #915 )
...
Fixes #914 .
2018-01-27 01:01:15 -08:00
Thad House
02336fc478
Makes FMS data never be a null string. ( #900 )
...
Fixes #895
2018-01-19 23:49:34 -08:00
Dustin Spicuzza
738a1c015c
PIDController: setContinuous should only check input range if continuous is true ( #896 )
2018-01-19 22:31:08 -08:00
Thad House
48ae6c954a
Publishes match specific data and other FMS info to NT ( #874 )
...
This is so products like SB can present the current setup.
2018-01-18 23:17:28 -08:00
Thad House
07f70cf784
Fixes control data packet delay ( #875 )
...
Because of an expected change in 2018 that didn't happen, we had a race
condition causing a 1 packet delay on all DS values. This fixes that.
2018-01-18 21:54:33 -08:00
sciencewhiz
e4e1eab413
Fix cancel of inner commands in ConditionalCommands ( #858 )
2018-01-18 20:04:33 -08:00
Nic Hodlofski
0e8ff4663d
SpeedControllerGroup: Call set() from pidWrite()
...
This means pidWrite() now takes m_isInverted into account.
Fixes #887 .
2018-01-18 20:03:13 -08:00
HeroCC
54a0a7654a
Link to replacements for RobotDrive in JavaDocs ( #879 )
...
In smart IDEs, this will allow users to easily view source for these two classes by linking to it
2018-01-11 22:17:33 -08:00