Peter Johnson
67b1c85315
Notifier: properly reset HAL alarm in non-periodic case ( #1296 )
...
The loop spins otherwise.
2018-09-03 16:07:23 -07:00
Tyler Veness
0b113ad9ce
Fix some PIDCommand constructors not forwarding subsystems ( #1299 )
...
Also added missing constructor to wpilibc's InstantCommand and renamed
argument from requirement to subsystem as per
https://github.com/wpilibsuite/allwpilib/pull/1275#issuecomment-416071940 .
2018-09-02 14:18:12 -07:00
Peter Johnson
c8482cd6d2
wpiutil: Add WebSocket implementation ( #1186 )
...
This is a RFC 6455 compliant implementation with both client and server support.
2018-08-24 20:54:23 -07:00
Peter Johnson
d6d5321828
wpiutil UidVector: Implement clear() and forward iterator ( #1293 )
...
The forward iterator only iterates over "live" elements.
Also add a couple of unit tests for UidVector.
2018-08-24 20:39:57 -07:00
Peter Johnson
8d91343bf5
wpiutil spinlock.h: Include STL mutex for convenience ( #1292 )
...
The STL mutex header defines classes like lock_guard and unique_lock.
2018-08-24 20:39:20 -07:00
PJ Reiniger
488ba79379
Add more checkstyle checks to simulator code ( #1289 )
2018-08-23 23:15:29 -07:00
PJ Reiniger
de212a9dd0
Add names to simulator components ( #1268 )
...
Makes configuration easier when you can associate the items with a name
instead of just a port number. Important if there is a GUI added at some
point.
2018-08-23 17:59:09 -07:00
Peter Johnson
8d8f120cc3
EventLoopRunner: Use AsyncFunction
2018-08-20 22:21:53 -07:00
Peter Johnson
57490e0002
Add uv::AsyncFunction to do a roundtrip function call to a uv::Async
...
This optionally blocks to wait for a return value.
2018-08-20 22:21:53 -07:00
Peter Johnson
1de1900dbb
Change uv::Async to accept data parameters
...
This is a breaking change as it makes Async a template (e.g. Async<> must
be used instead of just Async). When data parameters are provided, an
internal mutex and vector is used to hold the parameter packs until the loop
runs.
2018-08-20 22:21:53 -07:00
Peter Johnson
4a3e43d4a7
Add HttpMultipartScanner ( #1197 )
...
This is a non-blocking version of FindMultipartBoundary.
2018-08-20 22:00:54 -07:00
Peter Johnson
9e37ee13de
Add wpi::HttpServerConnection and an example of its use ( #1281 )
2018-08-20 13:11:39 -07:00
Peter Johnson
7b95c5341a
ntcore: Change params in Java RpcAnswer from String to byte[] ( #1280 )
...
The underlying protocol uses raw bytes, so they should not be required to be
a valid string.
2018-08-20 13:07:13 -07:00
Peter Johnson
5283726cce
ntcore: Describe RPC version 0 in spec ( #1279 )
2018-08-20 13:06:43 -07:00
Peter Johnson
0b8f4b5e6c
Add libdl to wpiutil cmake build ( #1288 )
...
This is required for dlopen, which is required by libuv.
2018-08-20 00:56:16 -07:00
Peter Johnson
a5f7342fce
Run cmake build in travis ( #1287 )
2018-08-20 00:55:54 -07:00
Peter Johnson
6df7425440
cmake: Compile cscore and wpiutil examples ( #1286 )
2018-08-19 23:22:52 -07:00
Peter Johnson
d7b68f3f95
Unbreak cmake build ( #1285 )
2018-08-19 23:21:51 -07:00
Matt Soucy
e28295fc7b
Add dependency injection of Subsystem to Command ( #1275 )
2018-08-19 19:43:21 -07:00
Peter Johnson
6df500e726
Add missing library dependencies in simulation dev executables ( #1284 )
2018-08-19 19:12:43 -07:00
Peter Johnson
83cfb8b19f
UrlParser: fix Has() functions ( #1283 )
2018-08-19 17:25:42 -07:00
Peter Johnson
82b25d0ec9
spinlock_bench.cpp: Fix wpiformat warning ( #1282 )
2018-08-19 17:25:20 -07:00
Peter Johnson
b44f27ddfa
SendableChooser: Rename addDefault and addObject for clarity ( #1239 )
...
Rename addDefault to setDefaultOption and addObject to addOption.
The old names are still available but are marked as deprecated.
2018-08-19 01:51:17 -07:00
Peter Johnson
fa78f30e30
ntcore: Make protocol revision more visible in docs ( #1278 )
...
Also add author line to correct document formatting.
2018-08-19 01:38:23 -07:00
Peter Johnson
46ae19d082
wpiutil: Add a mutex-compatible spinlock implementation ( #1272 )
...
Note this is only faster than mutex if compiler optimization is enabled.
2018-08-19 01:01:10 -07:00
Peter Johnson
77124a229e
Twine: disable part of isValid() that causes spurious warnings ( #1271 )
2018-08-16 19:35:40 -07:00
PJ Reiniger
1462a5bd46
Fix spacing and const correctness in sim ( #1269 )
2018-08-15 22:17:59 -07:00
Austin Shalit
44099d9a21
Update errorprone config for Java 10 ( #1265 )
2018-08-10 20:02:41 -07:00
PJ Reiniger
c2ceebfb9c
Add gyro and accelerometer simulator wrappers ( #1183 )
2018-08-01 21:39:20 -07:00
Peter Johnson
0a0d9245e2
cscore: Add connection strategy to sources ( #1252 )
...
By default, sources automatically manage their connection based on whether
any sinks are connected. This change allows the user to keep a connection
open or force it closed regardless of the number of connected sinks.
2018-07-29 21:18:45 -07:00
Jamie Sinn
7bd3f9f0bd
Change ButtonScheduler scope start method to public ( #1254 )
...
Fixes #765 .
2018-07-29 19:26:48 -07:00
Tyler Veness
4801ae2499
Replace ellipsis characters munged by wpiformat with three periods ( #1256 )
...
The Java LinearDigitalFilter class has already been changed.
2018-07-29 19:25:26 -07:00
Peter Johnson
0e9172f9a7
Fix many errorprone warnings ( #1247 )
...
This fixes two real bugs:
- TimedRobot had a m_period that was hiding the IterativeRobotBase m_period
and was not getting initialized.
- PDPSim was swapping two parameters to getCurrent()
2018-07-29 16:47:22 -07:00
Peter Johnson
6db5f80430
docs: Set use_mathjax to true ( #1251 )
...
This avoids depending on latex for HTML formula output.
2018-07-29 15:36:28 -07:00
Peter Johnson
898076f698
docs/build.gradle: Use unix EOL ( #1250 )
2018-07-29 15:14:37 -07:00
Peter Johnson
195e101816
cscore: Use Twine instead of StringRef in API ( #1244 )
2018-07-29 12:53:41 -07:00
Peter Johnson
97a8f8f47b
HAL: Add Doxygen module documentation ( #1246 )
...
This helps organize the functions in the generated docs.
2018-07-29 12:49:46 -07:00
Peter Johnson
9408fd5176
Add Doxygen comments for namespaces ( #1245 )
2018-07-29 12:49:28 -07:00
Thad House
00c2cd7dab
Improve JNI loading efficiency ( #1224 )
...
A hash is stored for each native library with the name libraryName.hash.
If the library is not found on the system search path, it is extracted to a cache directory.
Extracted libraries are named with the hash appended, so the library will not be
re-extracted if one with the same hash already exists.
Hashing without the hash file requires double traversing if the file is not in the cache,
but it is still faster than creating a new file in most cases. This won't be needed
after opencv is updated to provide a hash as well.
2018-07-29 10:20:41 -07:00
Austin Shalit
cbb62fb98f
Fix errorprone so it is version locked and reports warnings ( #1242 )
2018-07-29 09:32:22 -07:00
Austin Shalit
a11fcb605d
Add UseConcurrentHashMap exception to PMD and clean NOPMDs ( #1243 )
2018-07-29 09:29:32 -07:00
Austin Shalit
139b1720b2
Fix JavaDoc generation ( #1241 )
...
JavaDoc cannot handle redirects so HTTP link does not work anymore.
It also looks like javadoc.options was the wrong thing to set.
Options properly connects external docs to ours.
Re-enabled warnings so these things will pop out if they turn up again.
2018-07-29 09:28:41 -07:00
Austin Shalit
011f0ff536
UsbCamera: Make setConnectVerbose public and add test ( #1240 )
2018-07-29 00:48:00 -07:00
Thad House
75a67202e5
Add documentation building to repo ( #1238 )
...
Running build will now build docs. If you just want to build docs, run :documentation:build
2018-07-28 17:54:41 -07:00
Peter Johnson
186e1dc54b
ntcore: Documentation cleanups ( #1237 )
2018-07-28 17:41:57 -07:00
Peter Johnson
f2393feeef
cscore: Documentation cleanups ( #1236 )
...
Reformat the C++ documentation to use the normal comment style and
add doxygen grouping.
2018-07-28 17:35:33 -07:00
Peter Johnson
66e35128c9
Use Pimpl idiom for CameraServer
...
This dramatically reduces header dependencies.
2018-07-28 17:34:42 -07:00
Peter Johnson
6933fefe55
Use Pimpl idiom for Scheduler
...
Particularly since Scheduler is a singleton, it makes a lot of sense to
use the pointer-to-implementation idiom to reduce header depedencies.
2018-07-28 17:34:42 -07:00
Peter Johnson
fedf828120
Command: Use SmallPtrSet for requirements instead of std::set
2018-07-28 17:34:42 -07:00
Peter Johnson
eb64ea9fc7
MotorSafetyHelper: Use SmallPtrSet instead of std::set
2018-07-28 17:34:42 -07:00