Commit Graph

3002 Commits

Author SHA1 Message Date
Tyler Veness
6729a7d6b1 Run wpiformat on merged repo (#1021) 2018-05-13 17:09:56 -07:00
Thad House
0babbf317c Adds CMake Readme (#1042) 2018-05-13 14:12:12 -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
Thad House
1046371349 Fixes some JNI issues with method calling and class storage (#1043) 2018-05-10 22:38:21 -07:00
Austin Shalit
665a6e356a Allow users to feed the watchdog contained in drive objects (#1044) 2018-05-09 20:18:55 -07:00
Dustin Spicuzza
b7ea481bf9 Notifier: reset updatedAlarm before waiting (#946)
- If this isn't done, then the wait will always be performed at least twice
2018-05-04 18:29:42 -07:00
Peter Johnson
7a34f5d17d Check for nullptr return from malloc, calloc, and realloc. (#1023)
These are used in ntcore and cscore.  Add inline null-checking versions
to wpi/memory.h and use them throughout.
2018-05-04 17:55:46 -07:00
Thad House
e8d5759d95 Actually have the cscore examples build, and makes them build only on linux (#1030) 2018-05-04 17:54:56 -07:00
Thad House
eeae84c715 Adds cscore examples to builds (#1027) 2018-05-04 16:51:50 -07:00
Thad House
dab6f40b46 Moves examples.xml to json, and adds template json (#1026) 2018-05-04 16:51:37 -07:00
Peter Johnson
5c2c5ccd07 Remove atomic static shim. (#1020)
This was only useful for pre-VS2015 and was only being used in one place.
2018-05-04 02:07:27 -07:00
Peter Johnson
8cbfe35bd4 ntcore: Remove MSVC 2013 shim. (#1018) 2018-05-04 02:06:45 -07:00
Thad House
954f8c40f5 Adds CMake Builds (#1015) 2018-05-02 21:15:30 -07:00
Peter Johnson
6a49173cea Update cscore examples for llvm to wpi rename. (#1016) 2018-05-02 20:56:55 -07:00
Peter Johnson
1043aef7f7 ntcore: Make header actually a C header (#1007) 2018-05-01 22:51:28 -07:00
Thad House
f7bcf53059 HAL: wait for all objects to release handle before freeing (#1011)
This avoids a race on free.
2018-05-01 19:26:25 -07:00
Tyler Veness
6a159c5bd2 Miscellaneous cleanups (#1008) 2018-04-30 10:30:16 -07:00
Thad House
a098814ea0 Removes the make_unique shim for c++11 (#1010)
All of our compilers support c++14 now.
2018-04-30 10:28:34 -07:00
Peter Johnson
a28832e52f Add backwards compatibility shims for old wpiutil headers.
These generate a warning when included, then include the old header.

Note for GCC, #warning is used; this requires -std=gnu++14 instead of
-std=c++14 (otherwise the warning is treated as an error because #warning is
a GNU extension).  On MSVC, #pragma message is used, which is a bit
unsatisfactory as the message doesn't say where it was included from.

The llvm shim headers also include a llvm namespace shim.
2018-04-30 10:22:54 -07:00
Peter Johnson
f84018af5f Move entirety of llvm namespace to wpi namespace.
During shared library loading, a different libLLVM can be pulled in, causing
llvm symbols from dependent libraries to resolve to that library instead of
this one. This has been seen in the wild with the Mesa OpenGL implementation
in JavaFX applications (see wpilibsuite/shuffleboard#361).

This is clearly a very breaking change. For some level of backwards
compatibility, a namespace alias from llvm to wpi is performed in the "llvm"
headers.  Unfortunately, forward declarations of llvm classes will still break,
but compilers seem to generate clear error messages in those cases
("namespace alias 'llvm' not allowed here, assuming 'wpi'").

This change also moves all the wpiutil headers to a single "wpi" subdirectory
from the previously split "llvm", "support", "tcpsockets", and "udpsockets".
Shim headers will be added for backwards compatibility in a later commit.
2018-04-30 10:22:54 -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
Peter Johnson
a8fd88840d Revert "Uses ComputeDigitalMask function across HAL DIO (#837)" (#1005)
This reverts commit c84bd744c8.
2018-04-29 21:48:53 -07:00
Thad House
c84bd744c8 Uses ComputeDigitalMask function across HAL DIO (#837)
less risk for errors in the future.
2018-04-29 21:12:15 -07:00
Thad House
11b99a016a Removes old version files from git ignore (#1003) 2018-04-29 20:28:45 -07:00
Brennon Brimhall
dfa46cbddd Fix typos, keep formatting consistent. (#974) 2018-04-29 20:15:50 -07:00
Austin Shalit
91151e33bb Add out to gitignore (#988) 2018-04-29 20:14:53 -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
cb2c9eb6d5 Remove gmock and builds from utility libraries (#999) 2018-04-27 22:14:26 -07:00
Peter Johnson
4a1e520758 Merge cscore into allwpilib. 2018-04-27 20:02:15 -07:00
Peter Johnson
b3aa659f93 Merge ntcore into allwpilib. 2018-04-27 20:02:05 -07:00
Peter Johnson
4870d83ad1 Merge wpiutil into allwpilib. 2018-04-27 20:01:38 -07:00
Peter Johnson
7210a8fd28 Prepare ntcore for merge into allwpilib. 2018-04-27 19:57:35 -07:00
Peter Johnson
0f947613a9 Prepare wpiutil for merge into allwpilib. 2018-04-27 19:56:51 -07:00
Peter Johnson
ea73c10cd8 Prepare cscore for merge into allwpilib. 2018-04-27 19:43:49 -07:00
Peter Johnson
6d3d52f923 Fix GetJpegSize() and JpegNeedsDHT() to handle SOF as first tag. (#127)
Previously these functions ignored SOF if they came immediately after
the SOI (e.g. bytes 2 and 3 of the file).  A handful of cameras generate
images like this.
2018-03-08 19:51:40 -08:00
Tyler Veness
dbd1f1781e Ran wpiformat (#126) 2018-03-07 01:14:21 -08:00
Tyler Veness
96e9a6989c Improved Command-based examples (#906)
Robot.cpp has been split into header-source pairs and the Command-based
examples now define an example subsystem in the Robot class.
v2018.4.1
2018-03-05 22:06:40 -08:00
Thad House
14228d82f3 Adds Direct port name Serial API (#956) 2018-03-05 19:41:09 -08:00
Peter Johnson
040731447f Add FPS and byte count telemetry measurement for sources. (#125)
* Add FPS and byte count telemetry measurement for sources.

* Add new error code for telemetry not enabled.
2018-03-04 21:01:55 -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
82152e90fe Adds defaults to PWM config (#961) 2018-03-03 01:56:49 -08:00
Dustin Spicuzza
1e7d439899 HAL Notifier: Don't disable the notifier manager when the last handle is cleaned up (#960)
- Addresses #959, but not a good long term solution
2018-03-03 01:56:24 -08:00