Thad House
64bfdc1a69
Bail out of the integration tests if enable fails ( #792 )
...
A failure is much better then an infinite loop.
2017-12-04 20:24:26 -08:00
Tyler Veness
65cc85f68d
Add reference constructors/factory methods to LinearDigitalFilter ( #810 )
...
Composition is less verbose with references than with smart pointers.
2017-12-04 20:12:06 -08:00
sciencewhiz
6a00dc7976
Re-Add PacGoat java example ( #802 )
2017-12-04 20:09:02 -08:00
Tyler Veness
e9e407a87d
Replace C identifier lists with (void) ( #809 )
...
These changes were generated by wpilibsuite/styleguide#106 .
2017-12-04 20:05:51 -08:00
Tyler Veness
59c4984ed6
Deprecated internal filter of PID controller ( #746 )
...
This was replaced with an external LinearDigitalFilter.
2017-12-04 20:05:02 -08:00
Peter Johnson
b428d1e4b3
Remove CANSpeedController interface. ( #806 )
...
CANJaguar is no longer supported, and CANTalon no longer uses this interface.
2017-12-04 20:03:07 -08:00
Thad House
0994364591
Fixes cross module base class statics ( #779 )
2017-12-03 00:05:05 -08:00
sciencewhiz
0b8d3f0260
Update SampleRobot template to match comments ( #768 )
2017-12-02 23:28:52 -08:00
sciencewhiz
52eba45c51
Add missing documentation for squaredInputs for RobotDrive ( #805 )
2017-12-02 22:31:51 -08:00
Thad House
9090a82ef5
Fixes halsim sources and headers zips ( #804 )
2017-12-02 22:30:54 -08:00
Peter Johnson
2a69a4c7dc
Revert #780 (don't kill FRC_NetCommDaemon). ( #795 )
...
This commit reverts commit 0f3f5218ad .
2017-12-01 23:47:01 -08:00
Thad House
9d2393f97e
Waits 10 seconds between running the C++ and Java test ( #798 )
...
Potentially will fix java tests not enabling.
2017-12-01 23:45:49 -08:00
Peter Johnson
dae619b006
Add error reporting to AbstractComsSetup test initialization. ( #800 )
2017-12-01 23:44:11 -08:00
Thad House
9c06d2878b
Update to latest native plugin ( #799 )
...
This is what prints warnings to console.
2017-12-01 16:23:30 -08:00
Peter Johnson
e3a2abdf97
HAL_SetDigitalPWMRate(): Use same logic as LabView. ( #794 )
2017-12-01 10:26:40 -08:00
Peter Johnson
7867e906e9
NidecBrushless: Have disable() call PWM.setDisabled(). ( #763 )
...
This provides a way to stop motor operation even if the DIO is disconnected.
Also change Set() to enable the PWM instead of having the constructor do it.
Provide an explicit Enable() call to re-enable after Disable() is called.
This is different from the other motor controllers (which automatically
re-enable when Set() is called) due to the dual-wiring of this motor
controller.
Motor safety results in disabling the motor only until the next Set() call.
2017-12-01 00:43:11 -08:00
Peter Johnson
65a044f633
Fix HAL_CleanNotifier race. ( #793 )
...
This race was caused by holding a lock while calling into FRC_ChipObject,
which was waiting for the callback to exit before returning, and our
callback wanted to grab the same lock.
2017-11-30 20:45:40 -08:00
sciencewhiz
cbd08a1e11
Add tests for equivilance of RobotDrive and DifferentialDrive/MecanumDrive ( #732 )
...
Add documentation for how to get same results as RobotDrive and improve
RobotDrive documentation
2017-11-29 21:41:00 -08:00
sciencewhiz
e308dd28f3
Fix javadoc link in Solenoid.java ( #789 )
2017-11-29 21:33:29 -08:00
Thad House
fa0b4428e9
Runs DS enabled loop in process ( #785 )
...
Solves mutex issues, and other issues with the existing teststand
software. And simplifies the unit test structure.
2017-11-28 19:12:05 -08:00
Tyler Veness
26a36779a6
Performed cleanup of Timer's free functions ( #776 )
...
* GetClock() is now officially deprecated since its comment already informally
did so and the function just forwards to Timer::GetFPGATimestamp().
* The declaration of GetPPCTimestamp() is missing a definition and has been
removed.
* std::this_thread::sleep_for() returns immediately when given a negative
duration, so the check for that was removed from Wait().
2017-11-27 21:59:00 -08:00
Tyler Veness
dfc0656e5c
Fix wpilibj FilterOutputTest null pointer exception ( #778 )
2017-11-27 12:28:25 -08:00
Peter Johnson
0f3f5218ad
Kill FRC_NetCommDaemon as well as robot programs. ( #780 )
...
Also use flock on Jenkins side to prevent multiple simultaneous runs, instead of using teststand mutex.
2017-11-27 12:24:46 -08:00
Tyler Veness
34c44b7ae9
Improved Drive docs and fix implementation bugs ( #774 )
...
I also found some inconsistencies in MecanumDrive and KilloughDrive and fixed
them.
Drive now uses the NED axes convention. Therefore, the positive X axis points
ahead, the positive Y axis points to the right, and the positive Z axis points
down.
Translation in X assumes forward is positive. Translation in Y assumes right is
positive. Rotation rate assumes clockwise is positive. Angles are measured
clockwise from the positive X axis.
Based on the angle origin convention, DrivePolar() for both Mecanum and Killough
needed the normalization removed, sine used to compute the Y component, and
cosine used to compute the X component.
The vector rotation done in DriveCartesian() needs to rotate by a negative angle
instead of positive to undo the robot's rotation. RobotDrive assumed a clockwise
angle and sensors returned counter-clockwise angles, which is why it used a
positive angle for rotation.
2017-11-26 18:36:51 -08:00
sciencewhiz
7a250a1b93
Implement PCM One Shot feature. Fixes artf4731 ( #539 )
2017-11-26 12:55:21 -08:00
Caleb Smith
a338ee8be0
Add PIDController Wrapping ( #601 )
2017-11-25 21:15:33 -08:00
sciencewhiz
c9d440f338
Fix Java Compressor test. Make limits same as C++. ( #772 )
2017-11-24 20:14:36 -08:00
Tyler Veness
a00b2449db
Removed unused includes and replaced Ultrasonic's std::set with std::vector ( #767 )
2017-11-23 20:46:24 -08:00
Tyler Veness
5c659fdcdf
Deprecated PIDController::SetTolerance() ( #764 )
...
PIDController::SetPercentTolerance() behaves identically to it, so removing
SetTolerance() leaves one obvious way to do absolute or percent tolerance.
2017-11-23 01:21:36 -08:00
Thad House
d36d72bd4f
Fixes MotorSafetyHelper locking and race conditions ( #762 )
...
Closes #760
2017-11-23 00:36:57 -08:00
sciencewhiz
614093c0c4
Fix documentation for getMatchTime in Timer class to match DriverStation ( #761 )
2017-11-23 00:19:05 -08:00
PJ Reiniger
12c4418bda
Added callbacks for CAN ( #757 )
...
Added callback scheme for a pass through to something higher
level. Since the ID is embedded into the arbitration ID, and some
devices can use different schemes whether it is plugged in through a
device or put into the daisy chain (pigeonImu), I made one "internal
data object" for max reusability.
2017-11-22 19:48:32 -08:00
Caleb Smith
0431cf97ff
Cleanup PIDController ( #597 )
2017-11-22 18:56:35 -08:00
Tyler Veness
ba879f4663
Cleaned up variable names for std::lock_guard and their associated mutexes ( #759 )
2017-11-22 17:10:21 -08:00
Tyler Veness
96de0b5b11
Variable name fixes ( #758 )
2017-11-22 17:06:57 -08:00
Tyler Veness
85157a56c3
CircularBuffer now uses an idiomatic interface in C++ and Java ( #421 )
2017-11-22 17:04:57 -08:00
Tyler Veness
029246ed28
Replaced extra constructors in LinearDigitalFilter with llvm::ArrayRef<> ( #755 )
...
llvm::ArrayRef<> replaces both the std::initializer_list<> and std::vector<>
constructor overloads.
2017-11-20 21:23:00 -08:00
sciencewhiz
6377ab774d
Allow deprecated warnings for tests ( #756 )
2017-11-20 21:21:50 -08:00
Tyler Veness
05e581f409
Fixed crash in wpilibj SampleRobot ( #753 )
...
robotInit() and HAL.observeUserProgramStarting() should be called in
startCompetition() rather than the constructor.
Fixes #752 .
2017-11-19 22:47:39 -08:00
Peter Johnson
c73dd807e1
ErrorBase: Remove last use of sstream and iostream. ( #750 )
2017-11-19 20:16:42 -08:00
Tyler Veness
7a0dd9baa9
Add return-to-zero test for LinearDigitalFilter moving average ( #751 )
...
Ensures LinearDigitalFilter moving average returns to zero after non-zero
values are inserted.
Tests for issue #642
2017-11-19 20:16:09 -08:00
Tyler Veness
11f37683c3
Added constructor to PIDController that takes references instead of pointers ( #745 )
2017-11-19 19:06:00 -08:00
Tyler Veness
5af0c9c101
Replaced const variables with constexpr ( #731 )
2017-11-19 19:04:28 -08:00
Tyler Veness
259461aee9
Added PIDController::GetAvgError() back in ( #749 )
...
It got removed during the LinearDigitalFilter change (#38 ) instead of deprecated
by mistake.
2017-11-19 18:23:48 -08:00
Peter Johnson
d214b36786
Change HAL notifier to polling. ( #627 )
...
This moves the thread code to the WPILib layer, fixing various potential
races and significantly simplifying the HAL implementation.
2017-11-19 17:58:40 -08:00
Tyler Veness
4a07f0380f
PIDController class now uses LinearDigitalFilter for filtering velocity instead of internal queue ( #38 )
2017-11-19 15:58:30 -08:00
Peter Johnson
7f46b50b21
Unify WPI_Now and HAL_GetFPGATime. ( #743 )
...
Depends on wpilibsuite/wpiutil#56 .
2017-11-19 12:33:36 -08:00
PJ Reiniger
303c259b89
Simulate ADX* family of accelerometers and gyros ( #688 )
2017-11-18 12:31:51 -08:00
Thad House
cd1dbb1e3a
Adds a const buffer listener ( #742 )
...
Replaces need for const_cast in SPI and I2C functions
v2018.1.1-beta-3
2017-11-17 10:01:49 -08:00
Peter Johnson
a20474bfc7
Update sensors to not use direct byte buffers.
2017-11-17 09:36:57 -08:00