Austin Shalit
f7cfdd7cee
Replace crlf line endings with lf ( #1731 )
2019-06-28 20:55:14 -07:00
Thad House
3dfb01d45b
Update to new Native Utils ( #1696 )
...
Also update to azure 2019 windows image
2019-06-28 14:09:10 -07:00
Peter Johnson
372ca4f456
cmake: Enable googletest unit tests ( #1720 )
...
Also don't inherit compile warnings from wpiutil
There's not a good way to disable inherited compiler flags.
2019-06-23 12:44:28 -07:00
Peter Johnson
1d0c05d4f8
Styleguide fixes for #1718 ( #1719 )
2019-06-14 18:51:49 -07:00
Peter Johnson
f07569df19
Fix newer GCC/clang compiler warnings ( #1718 )
2019-06-14 18:32:27 -07:00
Thad House
221e66f46d
Allow disabling static init of JNI libraries ( #1672 )
2019-06-10 22:29:32 -07:00
Thad House
bb48ae391e
cmake: Move example programs into folders ( #1654 )
...
This looks cleaner in VS.
2019-06-10 20:04:34 -07:00
Thad House
221011494d
Update for C++17 and fix MSVC warnings ( #1694 )
...
* Update MSVC arguments
* Fix json allocator
* Fix simulation diamond
* Bump gtest
* Remove empty varargs in unit tests
* Replace test case with test suite
* Remove deprecation warning in optional
* Remove need for NOMIXMAX to be defined in wpilib headers
2019-05-31 15:43:32 -05:00
Thad House
fb1239a2ad
Add raw sources and sinks to cscore ( #1670 )
...
In some cases, we don't want the cv requirement to get an image, for instance interop with other versions of opencv
This enables getting a raw image, and handling conversions from the user side.
2019-05-30 21:12:05 -05:00
Thad House
90957aeea4
Move libuv to its own subfolder in build ( #1661 )
...
Allows using system libuv
* Fix Gradle Build and include dirs
* Update cmake find to support vcpkg libuv
2019-05-30 15:59:26 -07:00
Tyler Veness
f432f65bef
Update copyright year in license to 2019 ( #1524 )
...
Also update clang-format to 6.0.
2019-05-17 17:35:09 -07:00
Thad House
7cd6e2e7fa
UsbCamera: Solve race in windows initialization ( #1638 )
...
Create message pump during UsbCameraImpl creation.
2019-05-05 16:29:47 -07:00
Peter Johnson
2de3bf7f58
Update LLVM from stable upstream ( #1653 )
...
Replace CheckedMalloc with upstream safe_malloc.
2019-04-27 20:33:08 -07:00
Thad House
3b06313243
Fix Gray to BGR conversion in CameraServer ( #1665 )
2019-04-27 20:17:17 -07:00
Thad House
6cd1c73efe
Fix GUID comparison creating weird symbol ( #1659 )
2019-04-27 20:16:52 -07:00
Thad House
12ab035aad
Fix receive side of LabVIEW USB streams ( #1621 )
...
LabView only accepts %20 instead of + for parameters, only sends '\n' at the boundaries,
and includes the -- when sending the initial boundary. This solves those parts.
This is not fully enough to fix shuffleboard and others, as the NT format for paths is not the correct path.
2019-03-03 11:20:43 -08:00
Thad House
a9371a7586
Fix missing exposure property on windows USB cameras ( #1571 )
2019-02-06 22:49:55 -08:00
Peter Johnson
6992f5421f
cscore: Avoid crash if invalid (null) source set in MjpegServer ( #1585 )
...
Fixes robotpy/robotpy-cscore#60
2019-02-03 00:22:07 -08:00
Thad House
910b9f3af7
Add support for camera descriptions on windows ( #1572 )
...
For now, has to force enumerate all cameras to find the matching one
2019-02-01 23:04:12 -08:00
Thad House
09d90b02fb
Remove prints and unecessary items from windows GetNetworkInterfaces ( #1573 )
2019-02-01 23:02:12 -08:00
Peter Johnson
88a09dd13a
cscore: Handle USB camera integer menus ( #1561 )
...
The Pi Camera is one of these. Previously, integers were just being
cast to a string instead of formatted as a string.
2019-01-24 22:46:29 -08:00
Peter Johnson
05d6660a6b
cscore: Add config json to VideoSink ( #1543 )
...
Same format as VideoSource.
Refactor properties json handling into PropertyContainer.
2019-01-11 20:33:05 -08:00
Peter Johnson
1349dd4bd8
Make MjpegServer functions public ( #1545 )
2019-01-11 17:53:44 -08:00
Thad House
308bdbe298
cscore: Windows UsbCamera: Use custom windows message for initial connection ( #1534 )
...
WM_CREATE is being called at a time where the message pump cannot be called back into.
2019-01-09 22:52:24 -08:00
Peter Johnson
f889b45d59
cscore: MjpegServer: Fix FPS limiting ( #1536 )
...
This uses a 1-second window average to try to hit the desired FPS.
2019-01-09 22:50:34 -08:00
Dustin Spicuzza
3635116049
cscore: set charset of displayed pages ( #1520 )
...
All of our strings are UTF-8, but the default charset for HTML<5 was ISO-8859-1
2018-12-30 23:49:24 -08:00
Peter Johnson
6105873cbe
Provide alternate device paths info for USB cameras ( #1519 )
...
This is primarily for use on Linux to get by-id or by-path device names.
This information is now part of UsbCameraInfo.
A new entry point was added to UsbCamera to get that camera's UsbCameraInfo.
The alternate paths are also returned in EnumerateUsbCameras.
2018-12-30 11:48:18 -08:00
Peter Johnson
e1bf623997
cscore: handle HTTP stream hangs ( #1513 )
...
Automatically disconnect the HTTP stream if no frames have been received
for 1 second.
2018-12-29 14:08:45 -08:00
Peter Johnson
73de3364b7
AxisCamera constructor: add StringRef overload ( #1458 )
...
This avoids a conversion ambiguity when StringRef is passed.
2018-11-30 22:35:56 -08:00
Thad House
c405188052
Fix directory iterators not working correctly ( #1454 )
...
The size of the directory_entry was different between translation units.
This was caused by the FILE_OFFSET_BITS macro when building wpiutil.
Removing that fixes the issue.
Should fix NavX USB issues.
2018-11-29 00:24:10 -08:00
Thad House
69cb53b51b
Add support for USB Webcams on Windows ( #1390 )
2018-11-17 23:16:35 -08:00
Tyler Veness
55493b0c18
Fix polymorphic exception types being caught by value ( #1426 )
...
Catching these by value breaks the build with GCC 8.2.1.
2018-11-12 19:39:49 -08:00
Thad House
ecd376be4c
Export C functions from JNI statically linked library ( #1425 )
...
The JNI libraries are useful from other tools, so they should contain the C functions.
2018-11-12 19:38:35 -08:00
Peter Johnson
9bc998f4b0
cscore: Add JSON for source settings ( #1423 )
...
This allows save and restore of camera settings. The restore is a bit
smarter than the save.
* Fix mime types in mjpeg server
* wpiutil: WPI_LOG: Make sure level is an unsigned int
2018-11-10 20:30:02 -08:00
Peter Johnson
193b0a222c
cscore: Add Shutdown() function
...
This allows ordered shutdown / destruction of sources and sinks prior to
global singleton destruction.
2018-11-09 23:33:55 -08:00
Peter Johnson
19caeca990
cscore: Use more standard naming for Instance public variables
2018-11-09 23:33:55 -08:00
Peter Johnson
0abae17653
cscore: Refactor sink and source creation
...
Also make sources and sinks members of Instance private, with appropriate
accessor functions.
2018-11-09 23:33:55 -08:00
Peter Johnson
81d10bc656
cscore: Build examples on Windows ( #1421 )
2018-11-09 22:42:04 -08:00
Peter Johnson
b6830638df
NetworkListener: use Pimpl idiom ( #1405 )
...
This enables different platforms to use very different implementations.
2018-11-02 13:14:06 -07:00
Peter Johnson
746f950a0b
Remove ifdefs from linux NetworkListener ( #1404 )
2018-11-01 23:27:22 -07:00
Peter Johnson
e27d6d7bb8
cscore: Change impl to only one singleton ( #1398 )
...
This avoids a number of shutdown use-after-free races by controlling the
destruction order. It also is a prerequisite to making the internal
interfaces mockable for unit testing.
2018-10-31 20:22:58 -07:00
Peter Johnson
9a1af132bf
Unify GetHostname() and use libuv implementation ( #1391 )
2018-10-28 19:01:48 -07:00
Thad House
a8aacd3657
Update build setup for raspbian and debug binaries ( #1384 )
...
- Build both debug and release binaries
- Append "d" to debug libraries in the style of opencv
- Split shared and static classifiers
- Add raspbian support
2018-10-27 00:19:38 -07:00
Peter Johnson
8ff81f5a2a
cscore: Separate platform-specific sources ( #1387 )
2018-10-23 22:59:47 -07:00
Peter Johnson
18c8cce6a7
SafeThread: Avoid use-after-free risk in thread shutdown ( #1355 )
...
Use shared_ptr to keep data alive until the thread has terminated.
2018-10-05 16:32:43 -07:00
Tyler Veness
8b1274d744
Replace typedefs in C++ with using declarations ( #1339 )
...
These are more readable than typedefs. C headers were left alone.
2018-09-26 00:09:25 -07:00
Peter Johnson
6df7425440
cmake: Compile cscore and wpiutil examples ( #1286 )
2018-08-19 23:22:52 -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
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
195e101816
cscore: Use Twine instead of StringRef in API ( #1244 )
2018-07-29 12:53:41 -07:00