Commit Graph
309 Commits
Author SHA1 Message Date
Peter Johnson 6cf8391b76 Simplify OpenCV cmake flags (#104)
Now that we're building in a more standard way it's not necessary to
manually override these.  The only override kept is to build jpeg (as
we are tweaking it to not output JPEG decompression errors).
2019-02-11 01:37:13 -08:00
Peter Johnson 4c3f217ffa Build libraries with Release (#103)
In particular, OpenCV has a significant performance difference (14x) on key
operations (RGB to HSV conversion) between -O2 and -O3.
2019-02-11 01:35:54 -08:00
Peter Johnson 909d94c7de Run python3 explicitly for python applications (#102)
This avoids the need for a shebang line.
2019-02-11 00:09:19 -08:00
Peter Johnson 01f025ac12 Add libpixy2 (C++ and Python) to image (#85) 2019-02-09 21:52:28 -08:00
Peter Johnson ee70b90853 Python example: Use UTF-8 encoding when opening frc.json (#101) 2019-02-09 21:51:55 -08:00
Peter Johnson 6ad1d2eb92 Bundle Windows make with C++ example (#84) 2019-02-05 20:37:48 -08:00
Peter Johnson c85fd9f33c Revamp image to build dependencies as part of stages (#83)
Fixes #17.

Stage 2 is fairly minimal, stage 3 builds/installs OpenCV and WPILib et al, and stage 4
builds/installs the FRCVision webdash and adds the vision examples.

Other changes:
- OpenCV compiled with ffmpeg, OpenBLAS, and libgtk (fixes #79, fixes #80)
- OpenBLAS added to image (fixes #65)
- C++ Makefile is more easily extensible (fixes #71)
- Sources for everything are bundled into image into /usr/src
- README updated (fixes #16)
- pkg-config files for wpilibc et al are now installed and C++ Makefile uses them (if compiled local to Pi)
- Both dynamic and static libs are included in image

The only downside of all these changes (particularly the ffmpeg, OpenBLAS, and libgtk inclusion)
is the image size is now over 3GB (800MB compressed). The previous image didn't quite fit on a
2GB card however.
2019-02-02 23:37:18 -08:00
David Vo 02d5c468a2 Fix docstrings in Python example (#78) 2019-01-18 22:38:41 -08:00
Peter Johnson 08163c0681 Fix ordering between CameraServer.getInstance and UsbCamera creation (#69)
If the CameraServer instance is started after the UsbCamer is created, it
never gets the source created event to actually build the NetworkTable table.
2019-01-13 21:23:44 -08:00
Peter Johnson 64b9491e15 Include libopenblas-base in image (#66) 2019-01-13 18:26:54 -08:00
Peter Johnson c36a761a33 Java example README: note that Java 11 is required (#68) 2019-01-13 17:44:38 -08:00
Peter Johnson 03dae15ddf Add stream settings to webdash and examples (#61) 2019-01-13 16:59:08 -08:00
Peter Johnson 42d270870e Fix C++ example Makefile for cross-compilation (#67)
CXX can't be conditional.
2019-01-13 16:45:39 -08:00
Peter Johnson 4d2e328b12 List available cameras on web dashboard (#63)
- Available cameras can be added with a specific path
- Individual cameras show connection status
- Individual cameras show a list of alternate paths
2019-01-13 15:44:59 -08:00
Peter Johnson b0ecb03407 Handle large file uploads (#62)
Previously the upload function only handled files of less than 128 KB.
2019-01-11 23:14:41 -08:00
Peter Johnson f0982f2f17 Update example README.txt files (#57)
* C++ libraries are now included in the downloaded zip

* It's no longer necessary to override CXX
2019-01-11 13:21:20 -08:00
Peter Johnson 47c38400d1 Add all opencv libraries to C++ example (#58) 2019-01-11 13:16:27 -08:00
Peter Johnson e17886dafc Include libs and includes in C++ example zip file (#59)
- Fix up C++ Makefile for cross-compilation
- Put java depedency jars in correct location in java example zip file
2019-01-11 13:16:00 -08:00
Peter Johnson 63120aee69 Build wpilibc and wpilibj and include in image (#54)
This is mainly useful for Shuffleboard and SmartDashboard classes.
2019-01-11 13:13:15 -08:00
Peter Johnson f533ffcb59 Update dependencies to latest (2019.2.1) (#55) 2019-01-11 11:15:36 -08:00
Peter Johnson f511557b89 Default Python output to unbuffered (#52) 2019-01-11 03:20:41 -08:00
Peter Johnson f904336fb8 Build multiCameraServer as part of "all" target (#56) 2019-01-11 03:18:55 -08:00
Peter Johnson 63f3040f00 Include opencv headers in the image (#38)
They were built, but not extracted to the actual filesystem.
2019-01-11 01:17:20 -08:00
Peter Johnson 7ff15793cc Disable extraneous data warning from libjpeg (#53)
These are common with some USB cameras.
2019-01-11 01:14:51 -08:00
Peter Johnson f2e493831a Reboot at end of one-time filesystem resize (#42)
This results in the first "real" boot being read-only instead of half
writable (/boot read-only but / writable).
2019-01-11 01:14:24 -08:00
Peter Johnson 0e9d2fbb99 Set connection strategy to keep open
Apply to both default camera server and examples.
2019-01-11 01:13:09 -08:00
Peter Johnson 3f2ab23563 Move default multiCameraServer from allwpilib to tools 2019-01-11 01:13:09 -08:00
Peter Johnson e78e471f97 Fix application directory for on-Pi examples (#47) 2019-01-11 01:11:03 -08:00
Peter Johnson bb71953788 Convert windows EOL to unix EOL in Python uploads (#48) 2019-01-11 01:10:37 -08:00
Peter Johnson 7c5b84d7ef Fix the C++ example (#41)
- Build with -pthread
- Detach the thread to avoid std::thread exception
- Remove __RASPBIAN__ check (it's not defined by the on-Pi compiler)
2019-01-10 00:10:42 -08:00
Peter Johnson ddbf6b4b22 Update pybind11 package to latest raspbian version (#44) 2019-01-08 19:41:41 -08:00
Peter Johnson 319af970ba Fix copy camera settings (#30) 2019-01-03 15:58:19 -08:00
Peter Johnson c702b9421a Add hooks for image processing to examples (#27)
Fixes #23.
2019-01-02 23:12:32 -08:00
Peter Johnson aaf6f88c9c Add button to copy camera settings from camera (#26)
Fixes #24.
2019-01-02 22:31:55 -08:00
Peter Johnson d0a2bf8deb Update dependencies (#25) 2019-01-02 20:33:28 -08:00
Peter Johnson c6a2a7a326 Change hostname from raspberrypi to frcvision (#22)
This will help avoid conflicts with other raspberrypi's that may be on
the local network.
2019-01-01 22:25:11 -08:00
Błażej Sowa 2d70ac83f8 Allow custom deploy zip filename 2019-01-01 22:00:28 -08:00
Błażej Sowa 4a0f5e87b7 Allow custom image filename 2019-01-01 22:00:28 -08:00
Sam Tygier 9436cb7f94 Add commandline argument for config file
A config file can be specified when running build, e.g.:

  ./build.sh myconfig
2019-01-01 22:00:28 -08:00
Sam Tygier c80e5e9100 Allow enabling ssh server from config
Add ENABLE_SSH option
2019-01-01 22:00:28 -08:00
Sam Tygier acb0612ea4 Allow setting up wifi from config
Add WPA_ESSID, WPA_PASSWORD and WPA_COUNTRY options to config.
2019-01-01 22:00:28 -08:00
Sam Tygier bc7971ef03 Allow setting user name and password from config
Add FIRST_USER_NAME and FIRST_USER_PASS variables that can be set
in the config (or enviroment). Defaults to the standard pi and
raspberry.
2019-01-01 22:00:28 -08:00
Peter Johnson 5c8fb97259 Remove NOOBS export (#20) 2019-01-01 22:00:02 -08:00
Peter Johnson d174460384 Add gdb to image (#19) 2018-12-30 11:47:28 -08:00
Peter Johnson c73d97c9aa Fix java example download (#18)
The socket needed to be in blocking mode for sendfile to work with large
file lengths.
2018-12-30 09:12:12 -08:00
Peter Johnson 43c710ec39 Build wpilib with cmake instead of gradle (#15)
* Move java lib install to /usr/local/frc/java
* Build and install both debug and normal OpenCV libraries
* Install OpenCV cmake files
* Build OpenCV Java with version 8 target
* Build static OpenCV for static allwpilib binaries
* Move netconsoleTee install to /usr/local/frc/bin
* Move multiCameraServer default app install to /usr/local/frc/bin
* Install more FRC binaries
* Fix /home/pi/zips/java-multiCameraServer.zip owner to pi:pi
* Remove azure 60 minute timeout
* Add openjdk-8-jdk to Azure docker image (this is needed for cmake to find javah as only cmake 3.9 is available)
2018-12-30 02:07:22 -08:00
Peter Johnson 0c1008defa Set UID, GID, and executable bits on uploaded application (#12)
Also remove old application rather than replacing directly, so it can be replaced while running.
2018-12-30 00:13:52 -08:00
Peter Johnson de6f59548a Persist vision log enabled setting on client side (#13) 2018-12-28 22:48:07 -06:00
Peter Johnson 170962deff Enable rPi camera by default (#7)
Fixes #3.
2018-12-28 22:47:31 -06:00
Peter Johnson b1877d5365 Add azure pipeline (#10)
Closes #6.
2018-12-25 15:57:40 -06:00