Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add C++20 std::math constants shim #1788

Merged
merged 1 commit into from Aug 1, 2019

Conversation

calcmogul
Copy link
Member

@PeterJohnson PeterJohnson merged commit 37d316a into wpilibsuite:master Aug 1, 2019
@calcmogul calcmogul deleted the add-wpi-math branch August 1, 2019 05:56
Oblarg added a commit to Oblarg/allwpilib that referenced this pull request Aug 21, 2019
wpiutil: Add unique_function (wpilibsuite#1761)

This is a move-only variant of std::function to support move-only captures.

Imported from LLVM with some small tweaks (changed to 4 pointer internal storage, warnings fixes).

Update libuv to 1.30.1 release

Update uv Udp wrapper for latest features

Notifier: add null check (wpilibsuite#1684)

Make null checks more descriptive (wpilibsuite#1688)

Move unit tests from integration test suite (wpilibsuite#1170)

Add RobotState#IsEStopped and DriverStation#IsEStopped (wpilibsuite#952)

Remove TimerEventHandler typedef from Notifier class (wpilibsuite#1767)

Using std::function<void()> directly makes it much clearer to the user
what kind of function Notifier expects. The Doxygen comments already say
what the function is used for, so the typedef just discards useful
information.

Fix unused warning in release build (wpilibsuite#1771)

Add HALSIM_SetSendError implementation (wpilibsuite#1773)

Add geometry classes (wpilibsuite#1766)

These classes introduce ways to represent poses and provide easy ways to transform, rotate, and translate poses across 2d space. This classes will be especially useful for a planned odometry and kinematics suite.

Furthermore, these classes can also be used to simply represent waypoints on a field, do superstructure motion planning, etc.

Make MotorEncoderTest use LinearFilter (wpilibsuite#1775)

Closes wpilibsuite#1774
This also eliminates the call to the deprecated setPIDSourceType method.

Add Eigen linear algebra library

This imports Eigen 3.3.7, which will be used by the wpilibc implementation of
state-space control and mecanum/swerve forward kinematics (the forward
kinematics requires least-squares solutions via a matrix pseudoinverse).

While Eigen has parts licensed under BSD, MINPACK, and MPL2, the files we need
are only MPL2.

Fix build of Eigen 3.3.7 with GCC 9

fix disable bug

fix race condition in SendableCommandBase, add threadsafe schedule and cancel methods

rename experimental to frc2

re-add PID commands

fix ordering of params to PIDController.calculate()

minor fixes/cleanup

add template

add template to json

fix weird deletion

formatting

wpiformat

checkstyle and pmd

remove networkbutton, make trigger no longer sendable

add lambda constructor for button

minor doc changes

fix lack of default ctor in button

fix javadoc

wpiformat

Fix Eigen compilation errors and add tests (wpilibsuite#1777)

wpiutil: Fix Process::Spawn() (wpilibsuite#1778)

Was broken due to removal of ArrayRef initializer_list constructor.

Revert "Fix build of Eigen 3.3.7 with GCC 9"

-Wextra adds -Wdeprecated-copy, which Eigen emits. We're going to
squelch the warning instead to minimize changes to Eigen's upstream
sources.

Squelch -Wdeprecated-copy for Eigen with GCC >= 9

Update native utils to 2020.0.4 (wpilibsuite#1783)

Adds -latomic by default to all linux builds

Deprecate frc/WPILib.h (wpilibsuite#1779)

It drastically increases compile times and is bad style. C++ users
should be including what they use. We don't necessarily have to remove
WPILib.h, but it should at least be deprecated.

Add C++20 std::math constants shim (wpilibsuite#1788)

Based on http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0631r7.pdf

Update GradleVSCode version (wpilibsuite#1786)

Fixes compile_commands

Java cleanups (wpilibsuite#1776)

* Remove extra ';'s
* Remove unnecessary conversions to String
* Use StandardCharsets object
* Replace infinite while with check for interrupted thread
* Remove redundant local vars
* Remove redundant throws clause
* Remove redundant primitive wrapping
* Fix malformed Nested class test
* Remove unnecessary unboxing
* Remove unnecessary explicit type argument
* Replace lambdas with method references
* Replace statement lambdas with expression lambdas
* Replace null check with method call
* Replace number comparison with method call
* Fix broken javadoc comments
* Replace Arrays.asList with singletonLists
* Remove excessive lambda usage
* Remove redundant string operation
* Remove redundant type casts
* Remove unnecessary returns
* Remove redundant suppressions
* Fix unresolved file reference
* static analysis fixes

Fix missing default name in Java PIDController (wpilibsuite#1792)

SendableBase: remove unnecessary synchronization (wpilibsuite#1797)

Also fixes the move constructor to update LiveWindow to follow the move.

Add EJML dependency to wpiutil (wpilibsuite#1769)

Add EJML as the Java library for linear algebra for use in wpilib. This is equivalent to Eigen for C++.

The EJML dependency is downloaded in cmake and pulled in via maven in the gradle build.

Fix PIDControllerRunner member destruction order (wpilibsuite#1801)

The mutexes in PIDControllerRunner are declared after the Notifier, and
when the PIDControllerRunner object is destructed, the member object
destructors are called in the reverse order in which they are declared.
The mutexes are destructed first, then the Notifier destructor is called
which stops the Notifier.

There's a window between those destructor calls during which the
Notifier can run the callable and attempt to lock a mutex that no longer
exists.

Declaring the Notifier after all the variables its callable uses fixes
this issue, as it ensures the Notifier is destructed first.

Format SendableBuilderImpl javadocs (wpilibsuite#1802)

Make Sendable setters synchronous (wpilibsuite#1799)

Instead of being called asynchronously by NetworkTables, they are now called by updateValues() synchronously with the main loop, just like the getters.

Fix cscore build with OpenCV 4 (wpilibsuite#1803)

The main change in OpenCV 4 was removing its C APIs from OpenCV 1. If
the user has OpenCV 4, they have no way of obtaining the correct
arguments for cscore functions that require the C API. Therefore, we can
fix the build by just not compiling in functions reliant on the C API if
OpenCV 4 is being used.

OpenCV 3 builds should continue to work with this change.

Remove PIDControllerRunner and mutex from new PIDController (wpilibsuite#1795)

Teams that wish to use it asynchronously may still do so - they simply need to handle the thread safety themselves (it is not that difficult, and can be done more cleanly in the calling code anyway).

Fix wpilibj integration tests jar name (wpilibsuite#1808)

I2C: Add tip about writeBulk() to transaction() (wpilibsuite#1806)

remove async PID classes

revert styleguide change

fix imports

revert to ordinary schedule/cancel methods as listener calls are now synchronous

rename buttons to button, move inside command

create port of gearsbot

formatting

fix accidental changes to command

replace IllegalUseOfCommandException

Revert change to GenericHID

Revert change to GenericHID

fix tests, small optimization in commandscheduler

add more tests, fix small problem in proxyschedulecommand

fix accidental changes to command (again)

make tests package private

move package to wpilibj2

formatting

undo change to javacommon.gradle

Update wpilibj/src/main/java/edu/wpi/first/wpilibj/buttons/Trigger.java

Co-Authored-By: Austin Shalit <austinshalit@gmail.com>

Update wpilibj/build.gradle

Co-Authored-By: Austin Shalit <austinshalit@gmail.com>

revert genericHID changes completely, update gearsbot to new style

wpiformat

checkstyle/pmd
pjbuterbaugh pushed a commit to pjbuterbaugh/allwpilib that referenced this pull request Jun 15, 2023
This is done primarily due to the mention of the e-stop and disable keybinds, as it seems unwise to mention how to use the driver station before mentioning how to e-stop the robot.

Closes wpilibsuite#1787.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants