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
Peter Johnson
826ed7fe3c
SmallPtrSet: Fix makeIterator
2018-07-28 17:34:42 -07:00
Peter Johnson
a2d314b0d9
ConditionalCommand.cpp: Remove iostream include
2018-07-28 17:34:42 -07:00
Peter Johnson
6b37ca9f9a
UsbCamera: Allow silencing of Connecting message ( #1231 )
2018-07-28 14:57:41 -07:00
Peter Johnson
0614913f1a
Add a way to indicate a Sendable is an actuator ( #1226 )
...
SendableBuilder.setActuator() sets the .actuator key in the network table
so dashboards can change behavior on the client side if desired, and also
sets a local flag (retrievable via isActuator()).
Both make drive bases actuators and call setSafeState on them.
2018-07-28 14:04:46 -07:00
Peter Johnson
5fafaf6272
Add confirmation to SendableChooser ( #1217 )
...
This echos back the "selected" value to the "active" key to enable dashboards
to display positive feedback to the user that the value is actually set on
the robot side.
Also fixes SendableChooser so it can be safely added to multiple tables.
Changes to "selected" in any table will result in all "active" values being
updated.
Now that adding SendableChooser to multiple tables is supported, an ".instance"
key enables dashboards to treat the same SendableChooser as a common instance
if desired.
2018-07-28 10:43:47 -07:00
Peter Johnson
397a296e25
Add a .controllable key as a standard part of Sendable ( #1225 )
...
This indicates whether or not the Sendable listeners are installed.
It is set to true when SendableBuilder.startListeners() starts the listeners,
and set to false when SendableBuilder.stopListeners() stops the listeners.
This allows dashboards to choose to change their widget display based on
whether or not the value is actually controllable.
2018-07-28 10:42:31 -07:00
Thad House
1d9ed8f458
Fix SensorUtil issues ( #1194 )
...
C++ PDP was missing module check, and channel check called module.
Java docs said 1 based instead of 0 based.
2018-07-28 09:51:49 -07:00
Austin Shalit
bbb622aaa6
Revert "Use ASAN when on Clang ( #1187 )" ( #1234 )
...
This reverts commit 340b26bada .
Closes #1232
We are reverting this because it broke Mac builds. The root cause of
this is a requirement that the entire application must be built with ASAN
to link properly. For more information about why this is see the below link.
https://github.com/google/sanitizers/wiki/AddressSanitizerContainerOverflow#false-positives
2018-07-28 09:50:25 -07:00
Peter Johnson
8cbe7a6257
cscore: Move CvSourceImpl placeholders into SourceImpl ( #1230 )
...
This makes it easier to implement new non-camera Sources.
2018-07-27 23:15:35 -07:00
Peter Johnson
932308b497
MjpegServer: Add ability to set compression, etc in code ( #1229 )
...
This allows code to set the stream compression, resolution, and FPS used if
not specified in HTTP parameters by the client.
2018-07-27 23:00:15 -07:00
Peter Johnson
9398278250
cscore: Add properties support to VideoSink ( #1228 )
...
Refactor the Property internals into PropertyContainer.
2018-07-27 22:12:30 -07:00