tici: add (somewhat) broken camerad support (#1300)

* capnparm

* building in progress

* scons build works

* that script fixes opencl

* start new camera code

* includes and more camera scripts

* control c works now

* no device control yet

* phy too

* just one camera for now

* fix capnparm

* hmm, the inits are needed

* more cameras

* link stop start

* doesn't work yet

* fix ion on qcom2

* start poll ish

* 4 pictures and done

* no jpeg

* it works to picture

* destroy sync obj

* both work for now

* defined QCOM2

* fix fd leak

* run modeld

* 10 bit mode

* real frame stride

* needs digital gain

* dnew

* no color correcting on new

* that snpe doesn't work

* qcom2 gate

* cleanups

* oops, fix aarch64 detector

* update cereal

* modeld works with SNPE

* fix driver monitoring model

Co-authored-by: Tici <robbe@comma.ai>
This commit is contained in:
George Hotz
2020-03-31 16:34:55 -07:00
committed by GitHub
parent 746f7ed9b1
commit 8db0993663
94 changed files with 5198 additions and 25 deletions
+1
View File
@@ -0,0 +1 @@
capnproto-c++-0.6.1*
Vendored Executable
BIN
View File
Binary file not shown.
+1
View File
@@ -0,0 +1 @@
capnp
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Vendored Executable
+47
View File
@@ -0,0 +1,47 @@
set -e
echo "Installing capnp"
ONE=${HOME}/openpilot
VERSION=0.6.1
wget https://capnproto.org/capnproto-c++-${VERSION}.tar.gz
tar xvf capnproto-c++-${VERSION}.tar.gz
cd capnproto-c++-${VERSION}
CXXFLAGS="-fPIC" ./configure --prefix=${ONE}/external/capnparm
make -j9
# manually build binaries statically
g++ -std=gnu++11 -I./src -I./src -DKJ_HEADER_WARNINGS -DCAPNP_HEADER_WARNINGS -DCAPNP_INCLUDE_DIR=\"/usr/local/include\" -pthread -O2 -DNDEBUG -pthread -pthread -o .libs/capnp src/capnp/compiler/module-loader.o src/capnp/compiler/capnp.o ./.libs/libcapnpc.a ./.libs/libcapnp.a ./.libs/libkj.a -lpthread -pthread
g++ -std=gnu++11 -I./src -I./src -DKJ_HEADER_WARNINGS -DCAPNP_HEADER_WARNINGS -DCAPNP_INCLUDE_DIR=\"/usr/local/include\" -pthread -O2 -DNDEBUG -pthread -pthread -o .libs/capnpc-c++ src/capnp/compiler/capnpc-c++.o ./.libs/libcapnp.a ./.libs/libkj.a -lpthread -pthread
g++ -std=gnu++11 -I./src -I./src -DKJ_HEADER_WARNINGS -DCAPNP_HEADER_WARNINGS -DCAPNP_INCLUDE_DIR=\"/usr/local/include\" -pthread -O2 -DNDEBUG -pthread -pthread -o .libs/capnpc-capnp src/capnp/compiler/capnpc-capnp.o ./.libs/libcapnp.a ./.libs/libkj.a -lpthread -pthread
make -j4 install
# --------
echo "Installing c-capnp"
git clone https://github.com/commaai/c-capnproto.git
cd c-capnproto
git submodule update --init --recursive
autoreconf -f -i -s
CFLAGS="-fPIC" ./configure --prefix=${ONE}/external/capnparm
make -j4
# manually build binaries statically
gcc -fPIC -o .libs/capnpc-c compiler/capnpc-c.o compiler/schema.capnp.o compiler/str.o ./.libs/libcapnp_c.a -Wl,-rpath -Wl,${ONE}/external/capnp/lib
make install
# --------
echo "Installing java-capnp"
git clone https://github.com/dwrensha/capnproto-java.git
cd capnproto-java
git reset --hard 2c43bd712fb218da0eabdf241a750b9c05903e8e
g++ compiler/src/main/cpp/capnpc-java.c++ -std=c++11 -pthread -I${ONE}/external/capnp/include -L${ONE}/external/capnp/lib -l:libcapnp.a -l:libkj.a -pthread -lpthread -o capnpc-java
cp capnpc-java ${ONE}/external/capnp/bin/
rm -rf capnproto-c++-${VERSION}.tar.gz
rm -rf capnproto-c++-${VERSION}
+1
View File
@@ -0,0 +1 @@
../capnp/include
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
+41
View File
@@ -0,0 +1,41 @@
# libcapnp-json.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-2
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libcapnp-json-0.6.1.so'
# Names of this library.
library_names='libcapnp-json-0.6.1.so libcapnp-json-0.6.1.so libcapnp-json.so'
# The name of the static archive.
old_library='libcapnp-json.a'
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
dependency_libs=' /home/comma/openpilot/external/capnparm/lib/libcapnp.la /home/comma/openpilot/external/capnparm/lib/libkj.la -lpthread'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for libcapnp-json.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=no
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/comma/openpilot/external/capnparm/lib'
+1
View File
@@ -0,0 +1 @@
libcapnp-json-0.6.1.so
BIN
View File
Binary file not shown.
Binary file not shown.
+41
View File
@@ -0,0 +1,41 @@
# libcapnp-rpc.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-2
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libcapnp-rpc-0.6.1.so'
# Names of this library.
library_names='libcapnp-rpc-0.6.1.so libcapnp-rpc-0.6.1.so libcapnp-rpc.so'
# The name of the static archive.
old_library='libcapnp-rpc.a'
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
dependency_libs=' /home/comma/openpilot/external/capnparm/lib/libcapnp.la /home/comma/openpilot/external/capnparm/lib/libkj-async.la /home/comma/openpilot/external/capnparm/lib/libkj.la -lpthread'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for libcapnp-rpc.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=no
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/comma/openpilot/external/capnparm/lib'
+1
View File
@@ -0,0 +1 @@
libcapnp-rpc-0.6.1.so
Binary file not shown.
+41
View File
@@ -0,0 +1,41 @@
# libcapnp.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-2
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libcapnp-0.6.1.so'
# Names of this library.
library_names='libcapnp-0.6.1.so libcapnp-0.6.1.so libcapnp.so'
# The name of the static archive.
old_library='libcapnp.a'
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
dependency_libs=' /home/comma/openpilot/external/capnparm/lib/libkj.la -lpthread'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for libcapnp.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=no
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/comma/openpilot/external/capnparm/lib'
+1
View File
@@ -0,0 +1 @@
libcapnp-0.6.1.so
Binary file not shown.
+41
View File
@@ -0,0 +1,41 @@
# libcapnp_c.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-0.1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libcapnp_c.so.0'
# Names of this library.
library_names='libcapnp_c.so.0.0.0 libcapnp_c.so.0 libcapnp_c.so'
# The name of the static archive.
old_library='libcapnp_c.a'
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=''
# Libraries that this one depends upon.
dependency_libs=''
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for libcapnp_c.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=no
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/comma/openpilot/external/capnparm/lib'
+1
View File
@@ -0,0 +1 @@
libcapnp_c.so.0.0.0
+1
View File
@@ -0,0 +1 @@
libcapnp_c.so.0.0.0
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
+41
View File
@@ -0,0 +1,41 @@
# libcapnpc.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-2
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libcapnpc-0.6.1.so'
# Names of this library.
library_names='libcapnpc-0.6.1.so libcapnpc-0.6.1.so libcapnpc.so'
# The name of the static archive.
old_library='libcapnpc.a'
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
dependency_libs=' /home/comma/openpilot/external/capnparm/lib/libcapnp.la /home/comma/openpilot/external/capnparm/lib/libkj.la -lpthread'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for libcapnpc.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=no
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/comma/openpilot/external/capnparm/lib'
+1
View File
@@ -0,0 +1 @@
libcapnpc-0.6.1.so
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
+41
View File
@@ -0,0 +1,41 @@
# libkj-async.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-2
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libkj-async-0.6.1.so'
# Names of this library.
library_names='libkj-async-0.6.1.so libkj-async-0.6.1.so libkj-async.so'
# The name of the static archive.
old_library='libkj-async.a'
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
dependency_libs=' /home/comma/openpilot/external/capnparm/lib/libkj.la -lpthread'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for libkj-async.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=no
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/comma/openpilot/external/capnparm/lib'
+1
View File
@@ -0,0 +1 @@
libkj-async-0.6.1.so
BIN
View File
Binary file not shown.
Binary file not shown.
+41
View File
@@ -0,0 +1,41 @@
# libkj-http.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-2
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libkj-http-0.6.1.so'
# Names of this library.
library_names='libkj-http-0.6.1.so libkj-http-0.6.1.so libkj-http.so'
# The name of the static archive.
old_library='libkj-http.a'
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
dependency_libs=' /home/comma/openpilot/external/capnparm/lib/libkj-async.la /home/comma/openpilot/external/capnparm/lib/libkj.la -lpthread'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for libkj-http.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=no
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/comma/openpilot/external/capnparm/lib'
+1
View File
@@ -0,0 +1 @@
libkj-http-0.6.1.so
BIN
View File
Binary file not shown.
Binary file not shown.
+41
View File
@@ -0,0 +1,41 @@
# libkj-test.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-2
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libkj-test-0.6.1.so'
# Names of this library.
library_names='libkj-test-0.6.1.so libkj-test-0.6.1.so libkj-test.so'
# The name of the static archive.
old_library='libkj-test.a'
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
dependency_libs=' /home/comma/openpilot/external/capnparm/lib/libkj.la -lpthread'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for libkj-test.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=no
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/comma/openpilot/external/capnparm/lib'
+1
View File
@@ -0,0 +1 @@
libkj-test-0.6.1.so
BIN
View File
Binary file not shown.
+41
View File
@@ -0,0 +1,41 @@
# libkj.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-2
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libkj-0.6.1.so'
# Names of this library.
library_names='libkj-0.6.1.so libkj-0.6.1.so libkj.so'
# The name of the static archive.
old_library='libkj.a'
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
dependency_libs=' -lpthread'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for libkj.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=no
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/comma/openpilot/external/capnparm/lib'
+1
View File
@@ -0,0 +1 @@
libkj-0.6.1.so
+12
View File
@@ -0,0 +1,12 @@
prefix=/home/comma/openpilot/external/capnparm
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
bindir=${exec_prefix}/bin
includedir=${prefix}/include
codegen=${bindir}/capnpc-c
Name: c-capnproto
Description: Cap'n Proto C bindings
Version: 0.2
Libs: -L${libdir} -lcapnp_c
Cflags: -I${includedir}
+11
View File
@@ -0,0 +1,11 @@
prefix=/home/comma/openpilot/external/capnparm
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: Cap'n Proto RPC
Description: Fast object-oriented RPC system
Version: 0.6.1
Libs: -L${libdir} -lcapnp-rpc
Requires: capnp = 0.6.1 kj-async = 0.6.1
Cflags: -I${includedir}
+12
View File
@@ -0,0 +1,12 @@
prefix=/home/comma/openpilot/external/capnparm
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: Cap'n Proto
Description: Insanely fast serialization system
Version: 0.6.1
Libs: -L${libdir} -lcapnp -pthread -lpthread
Libs.private: -lpthread
Requires: kj = 0.6.1
Cflags: -I${includedir} -pthread
+11
View File
@@ -0,0 +1,11 @@
prefix=/home/comma/openpilot/external/capnparm
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: KJ Async Framework Library
Description: Basic utility library called KJ (async part)
Version: 0.6.1
Libs: -L${libdir} -lkj-async -pthread -lpthread
Requires: kj = 0.6.1
Cflags: -I${includedir} -pthread
+10
View File
@@ -0,0 +1,10 @@
prefix=/home/comma/openpilot/external/capnparm
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: KJ Framework Library
Description: Basic utility library called KJ
Version: 0.6.1
Libs: -L${libdir} -lkj -pthread -lpthread
Cflags: -I${includedir} -pthread