Commit Graph

3119 Commits

Author SHA1 Message Date
Peter Johnson
c8afe9bc2f Signal: Optimize to use plain std::function.
This optimizes the common case of a single simple callback (e.g. std::function
or lambda) so no additional allocation is required.  As a Connection return
value is not possible in this case, provide a separate connect_connection()
function to provide that.
2018-06-30 00:21:09 -07:00
Peter Johnson
1ecaaafa6c Discuss and include licenses for third party software. (#1101) 2018-06-29 11:06:43 -07:00
Thad House
33a01b3146 Add maven documentation (#1140) 2018-06-28 20:07:31 -07:00
Austin Shalit
1d8456e2bf Move FRCNetComm.java into generated directory (#1168) 2018-06-28 13:37:14 -07:00
Peter Johnson
b5bacc09a7 libuv: Silence cast-function-type warning on GCC 8. (#1169)
GCC 8 treats void(*)(void) specially to silence the warning.
2018-06-28 00:33:24 -07:00
Peter Johnson
876c650471 wpiutil: Add a signal-slot implementation. (#1163)
Imported from https://github.com/palacaze/sigslot

Classes were renamed from lowercase_me to UppercaseMe style, primarily
to avoid conflicting with the C standard library "signal" function.  They
were also moved to the "wpi::sig" namespace.
2018-06-27 23:01:17 -07:00
Austin Shalit
3eae079db4 Add PDP usage reporting (#1167) 2018-06-24 23:48:22 -07:00
Peter Johnson
122fdf48b2 libuv: Hook up to build. 2018-06-24 10:31:55 -07:00
Peter Johnson
d94f49b3ba libuv: Silence clang compiler warning in uv-common.c 2018-06-24 10:31:55 -07:00
Peter Johnson
39670fc9c0 libuv: Add pragmas for win32 libraries. 2018-06-24 10:31:55 -07:00
Peter Johnson
6f0d50b9cb libuv: Avoid conditional-true compiler warning.
Instead use a preprocessor macro to comment out the code as necessary.
2018-06-24 10:31:55 -07:00
Peter Johnson
873b2ed13c libuv: Add missing casts. 2018-06-24 10:31:55 -07:00
Peter Johnson
321c144d21 libuv: Remove extern "C" from uv.h.
This results in name-mangling of the uv symbols and thereby avoids potential
symbol conflicts with system libuv installations.
2018-06-24 10:31:55 -07:00
Peter Johnson
13e1af259c libuv: Remove MSVC 2008 stdint from uv.h and uv-win.h. 2018-06-24 10:31:55 -07:00
Peter Johnson
9d7792ead0 libuv: Remove aix, os390, and sunos from uv-unix.h. 2018-06-24 10:31:55 -07:00
Peter Johnson
6d93d3c250 libuv: Rename source files from .c to .cpp.
This ensures they will actually get compiled as C++.
2018-06-24 10:31:55 -07:00
Peter Johnson
156822dbc8 Import libuv 1.21.0. 2018-06-24 10:31:55 -07:00
Peter Johnson
208f82d6f2 Revert "Add libuv dependency (#1109)"
This reverts commit 859b457c3d.
2018-06-24 10:31:55 -07:00
Tyler Veness
a818c7fd47 Add loop timing to IterativeRobot and TimedRobot (#781) 2018-06-24 00:29:21 -07:00
Austin Shalit
50b13d2f36 Convert UnitTestUtility to a JUnit 5 MockHardwareExtension (#1153)
Only initialize the HAL once.
2018-06-24 00:19:45 -07:00
Tyler Veness
b7807bf9d2 Clean up Command container iteration code (#73) 2018-06-23 17:41:45 -07:00
Peter Johnson
ea7d11b1db Twine: Make isNull() public. (#1162)
This makes it possible to pass "null" Twines and detect it in the callee.
2018-06-23 16:13:50 -07:00
Tyler Veness
212f378d08 Replace globalError in ErrorBase with a global set of all errors (#615) 2018-06-18 00:13:28 -07:00
Thad House
2faba39b58 Change wpilibc artifact name to match standard (#1158) 2018-06-17 20:28:43 -07:00
Thad House
064989f2e4 Fix projects having different version numbers (#1113) 2018-06-17 19:59:49 -07:00
Thad House
6b1b4796c2 Remove Link Script (#1159)
This is no longer required due to the move to GradleRIO (it was only used for Eclipse).
2018-06-17 19:52:18 -07:00
Thad House
1ebb83e0f2 Remove explicit close() from Gyro interface (#1152)
It's not needed, as extending AutoClosable is enough.
2018-06-11 15:02:50 -07:00
Austin Shalit
9108a93598 Switch non-integration tests to JUnit 5 (#1120) 2018-06-11 15:01:49 -07:00
Thad House
c7e97f45f5 Add RobotPeriodic functions to default templates. (#1149) 2018-06-10 20:16:54 -07:00
Thad House
5af85dd1bb Explicitly states the gyro direction contract for the Gyro interface (#1151) 2018-06-10 20:13:36 -07:00
Thad House
b20158015c Update java robot class docs (#1150) 2018-06-10 20:12:41 -07:00
PJ Reiniger
b1bb63f9a4 Add ADX Simulator tests (#1142) 2018-06-08 13:25:39 -07:00
Thad House
056e68f2ae Use new CAN API for PDP (#1081) 2018-06-07 22:31:26 -07:00
Thad House
f6e4df6a18 Remove OS Serial Port (#1141)
It was done as a shim fix around some VISA issues that don't seem to exist anymore. Was never really tested, and I don't think ever actually worked.
2018-06-07 20:51:26 -07:00
Thad House
0cde67143a Upgrade to gradle 4.8 (#1136) 2018-06-07 20:49:25 -07:00
Thad House
1f9645afe9 Fix CAN API reads (#1139) 2018-06-07 20:49:03 -07:00
Thad House
86285b427f Removes MSVC 2013 Shims (#1130)
We have done things recently that have broken any builds before VS 2015
2018-06-03 17:16:51 -07:00
Austin Shalit
e548a5f705 Update and enable PMD 6.3.0 (#1107) 2018-06-03 10:00:53 -07:00
Thad House
8eafe7f325 Solve some safety issues with RPCs (#1127)
Java would never properly dispose, and C++'s were easy to respond after disposing.
We now return a bool if the call was successful or not.
2018-06-03 08:43:48 -07:00
Peter Johnson
6aebba5452 Import MapVector from LLVM. (#1128) 2018-06-03 08:39:14 -07:00
Peter Johnson
664a3c2463 ntcore: Fix C API polling array returns. (#1126)
The implementation of ConvertToC for arrays was broken.  Also change it
to be templated on the returned array type, rather than passing the array.
This makes the uses a bit more clean.
2018-06-01 13:45:33 -07:00
Tyler Veness
321dfaf0a2 Remove non-existent directory from .styleguide (#1124) 2018-06-01 09:36:12 -07:00
Tyler Veness
8373e0361b Made Controller interface public (#1123) 2018-06-01 01:00:24 -07:00
Tyler Veness
8c680a26f8 Moved C++ comments from source files to headers (#1111)
Also sorted functions in C++ sources to match order in related headers.
2018-05-31 20:47:15 -07:00
Thad House
d9971a705a Throw UncleanStatusException rather then RuntimeException (#1114) 2018-05-30 23:36:40 -07:00
Thad House
85fe722f4c Fixes JNI files not getting cleaned on rebuild (#1121)
If a JNI file was added then removed without a clean (like a branch change)
The symbol check would fail because extra headers wouldnt get removed.
2018-05-30 23:24:00 -07:00
Thad House
c04f463b78 Makes FRCNetComm interfaces static final classes. (#1118)
Closes #1104
2018-05-29 15:55:38 -07:00
Thad House
307da3ad2d Simplify allocation of JNI global classes and exceptions (#1110)
Helps ensure they get freed properly (We have had a few cases before where this wasn't the case).
2018-05-29 15:44:16 -07:00
Austin Shalit
39f80730de Disable broken ntcore tests using JUnit 5 (#1116) 2018-05-28 23:07:28 -07:00
Tyler Veness
35cfe0d92c Add comment to FRCNetComm.java noting that it is autogenerated (#1115) 2018-05-28 18:29:42 -07:00