Permalink
Browse files

chffrplus v0.3.8.1 release

  • Loading branch information...
Vehicle Researcher
Vehicle Researcher committed Oct 19, 2017
1 parent 239c49a commit dae0dd09d88a87db81ce2fd48f52580eb7b73cc3
Showing with 49,481 additions and 0 deletions.
  1. +30 −0 .gitignore
  2. +7 −0 LICENSE.chffrplus
  3. +9 −0 Makefile
  4. +36 −0 README.md
  5. BIN apk/com.baseui.apk
  6. +1 −0 cereal/.gitignore
  7. +45 −0 cereal/Makefile
  8. +20 −0 cereal/__init__.py
  9. +26 −0 cereal/c++.capnp
  10. +286 −0 cereal/car.capnp
  11. +28 −0 cereal/java.capnp
  12. +1,267 −0 cereal/log.capnp
  13. 0 common/__init__.py
  14. +15 −0 common/api/__init__.py
  15. +4 −0 common/basedir.py
  16. +198 −0 common/dbc.py
  17. +55 −0 common/fingerprints.py
  18. 0 common/kalman/__init__.py
  19. +250 −0 common/kalman/ekf.py
  20. +142 −0 common/logging_extra.py
  21. +25 −0 common/numpy_fast.py
  22. +325 −0 common/params.py
  23. +32 −0 common/profiler.py
  24. +111 −0 common/realtime.py
  25. +9 −0 common/testing.py
  26. +21 −0 launch_chffrplus.sh
  27. +426 −0 phonelibs/capnp-c/include/capnp_c.h
  28. BIN phonelibs/hierarchy/lib/_hierarchy.so
  29. +1,381 −0 phonelibs/json/src/json.c
  30. +117 −0 phonelibs/json/src/json.h
  31. +1,718 −0 phonelibs/nanovg/fontstash.h
  32. +2,870 −0 phonelibs/nanovg/nanovg.c
  33. +681 −0 phonelibs/nanovg/nanovg.h
  34. +1,592 −0 phonelibs/nanovg/nanovg_gl.h
  35. +143 −0 phonelibs/nanovg/nanovg_gl_utils.h
  36. +6,614 −0 phonelibs/nanovg/stb_image.h
  37. +3,249 −0 phonelibs/nanovg/stb_truetype.h
  38. +74 −0 phonelibs/qpoases/EXAMPLES/example1.cpp
  39. +69 −0 phonelibs/qpoases/EXAMPLES/example1b.cpp
  40. +189 −0 phonelibs/qpoases/INCLUDE/Bounds.hpp
  41. +108 −0 phonelibs/qpoases/INCLUDE/Constants.hpp
  42. +181 −0 phonelibs/qpoases/INCLUDE/Constraints.hpp
  43. +126 −0 phonelibs/qpoases/INCLUDE/CyclingManager.hpp
  44. +107 −0 phonelibs/qpoases/INCLUDE/EXTRAS/SolutionAnalysis.hpp
  45. +154 −0 phonelibs/qpoases/INCLUDE/Indexlist.hpp
  46. +415 −0 phonelibs/qpoases/INCLUDE/MessageHandling.hpp
  47. +666 −0 phonelibs/qpoases/INCLUDE/QProblem.hpp
  48. +628 −0 phonelibs/qpoases/INCLUDE/QProblemB.hpp
  49. +178 −0 phonelibs/qpoases/INCLUDE/SubjectTo.hpp
  50. +131 −0 phonelibs/qpoases/INCLUDE/Types.hpp
  51. +197 −0 phonelibs/qpoases/INCLUDE/Utils.hpp
  52. +504 −0 phonelibs/qpoases/LICENSE.txt
  53. +92 −0 phonelibs/qpoases/README.txt
  54. +252 −0 phonelibs/qpoases/SRC/Bounds.cpp
  55. +144 −0 phonelibs/qpoases/SRC/Bounds.ipp
  56. +248 −0 phonelibs/qpoases/SRC/Constraints.cpp
  57. +144 −0 phonelibs/qpoases/SRC/Constraints.ipp
  58. +188 −0 phonelibs/qpoases/SRC/CyclingManager.cpp
  59. +51 −0 phonelibs/qpoases/SRC/CyclingManager.ipp
  60. +434 −0 phonelibs/qpoases/SRC/EXTRAS/SolutionAnalysis.cpp
  61. +342 −0 phonelibs/qpoases/SRC/Indexlist.cpp
  62. +85 −0 phonelibs/qpoases/SRC/Indexlist.ipp
  63. +529 −0 phonelibs/qpoases/SRC/MessageHandling.cpp
  64. +137 −0 phonelibs/qpoases/SRC/MessageHandling.ipp
  65. +3,867 −0 phonelibs/qpoases/SRC/QProblem.cpp
  66. +299 −0 phonelibs/qpoases/SRC/QProblem.ipp
  67. +2,151 −0 phonelibs/qpoases/SRC/QProblemB.cpp
  68. +425 −0 phonelibs/qpoases/SRC/QProblemB.ipp
  69. +200 −0 phonelibs/qpoases/SRC/SubjectTo.cpp
  70. +132 −0 phonelibs/qpoases/SRC/SubjectTo.ipp
  71. +471 −0 phonelibs/qpoases/SRC/Utils.cpp
  72. +51 −0 phonelibs/qpoases/SRC/Utils.ipp
  73. +87 −0 phonelibs/qpoases/VERSIONS.txt
  74. 0 selfdrive/__init__.py
  75. BIN selfdrive/assets/Roboto-Bold.ttf
  76. BIN selfdrive/assets/courbd.ttf
  77. +1 −0 selfdrive/boardd/.gitignore
  78. +90 −0 selfdrive/boardd/Makefile
  79. +487 −0 selfdrive/boardd/boardd.cc
  80. +73 −0 selfdrive/can/Makefile
  81. 0 selfdrive/can/__init__.py
  82. +73 −0 selfdrive/can/common.h
  83. +26 −0 selfdrive/can/dbc.cc
  84. +2 −0 selfdrive/can/dbc_out/.gitignore
  85. 0 selfdrive/can/dbc_out/.gitkeep
  86. +51 −0 selfdrive/can/dbc_template.cc
  87. +51 −0 selfdrive/can/libdbc_py.py
  88. +81 −0 selfdrive/can/packer.cc
  89. +37 −0 selfdrive/can/packer.py
  90. +434 −0 selfdrive/can/parser.cc
  91. +133 −0 selfdrive/can/parser.py
  92. +32 −0 selfdrive/can/process_dbc.py
  93. +83 −0 selfdrive/car/__init__.py
  94. 0 selfdrive/car/honda/__init__.py
  95. +472 −0 selfdrive/car/honda/carstate.py
  96. +420 −0 selfdrive/car/honda/interface.py
  97. +34 −0 selfdrive/car/honda/values.py
  98. +45 −0 selfdrive/common/cereal.mk
  99. +141 −0 selfdrive/common/framebuffer.cc
  100. +50 −0 selfdrive/common/framebuffer.h
  101. +71 −0 selfdrive/common/glutil.c
  102. +8 −0 selfdrive/common/glutil.h
  103. +88 −0 selfdrive/common/mat.h
  104. +23 −0 selfdrive/common/modeldata.h
  105. +154 −0 selfdrive/common/params.cc
  106. +35 −0 selfdrive/common/params.h
  107. +119 −0 selfdrive/common/swaglog.c
  108. +68 −0 selfdrive/common/swaglog.h
  109. +54 −0 selfdrive/common/timing.h
  110. +98 −0 selfdrive/common/touch.c
  111. +20 −0 selfdrive/common/touch.h
  112. +41 −0 selfdrive/common/util.c
  113. +43 −0 selfdrive/common/util.h
  114. +70 −0 selfdrive/common/utilpp.h
  115. +1 −0 selfdrive/common/version.h
  116. +240 −0 selfdrive/common/visionipc.c
  117. +108 −0 selfdrive/common/visionipc.h
  118. +60 −0 selfdrive/config.py
  119. 0 selfdrive/controls/__init__.py
  120. +538 −0 selfdrive/controls/controlsd.py
  121. 0 selfdrive/controls/lib/__init__.py
  122. +294 −0 selfdrive/controls/lib/adaptivecruise.py
  123. +392 −0 selfdrive/controls/lib/alertmanager.py
  124. +52 −0 selfdrive/controls/lib/drive_helpers.py
  125. +66 −0 selfdrive/controls/lib/fcw.py
  126. +82 −0 selfdrive/controls/lib/latcontrol.py
  127. +89 −0 selfdrive/controls/lib/latcontrol_helpers.py
  128. +93 −0 selfdrive/controls/lib/lateral_mpc/Makefile
  129. 0 selfdrive/controls/lib/lateral_mpc/__init__.py
  130. +137 −0 selfdrive/controls/lib/lateral_mpc/generator.cpp
  131. +29 −0 selfdrive/controls/lib/lateral_mpc/libmpc_py.py
  132. BIN selfdrive/controls/lib/lateral_mpc/main
  133. +101 −0 selfdrive/controls/lib/lateral_mpc/mpc.c
  134. +212 −0 selfdrive/controls/lib/lateral_mpc/mpc_export/acado_auxiliary_functions.c
  135. +138 −0 selfdrive/controls/lib/lateral_mpc/mpc_export/acado_auxiliary_functions.h
  136. +349 −0 selfdrive/controls/lib/lateral_mpc/mpc_export/acado_common.h
  137. +252 −0 selfdrive/controls/lib/lateral_mpc/mpc_export/acado_integrator.c
  138. +70 −0 selfdrive/controls/lib/lateral_mpc/mpc_export/acado_qpoases_interface.cpp
  139. +65 −0 selfdrive/controls/lib/lateral_mpc/mpc_export/acado_qpoases_interface.hpp
  140. +1,981 −0 selfdrive/controls/lib/lateral_mpc/mpc_export/acado_solver.c
  141. +158 −0 selfdrive/controls/lib/longcontrol.py
  142. +57 −0 selfdrive/controls/lib/pathplanner.py
  143. +93 −0 selfdrive/controls/lib/pid.py
  144. +97 −0 selfdrive/controls/lib/planner.py
  145. +257 −0 selfdrive/controls/lib/radar_helpers.py
  146. +90 −0 selfdrive/controls/lib/vehicle_model.py
  147. +247 −0 selfdrive/controls/radard.py
  148. +40 −0 selfdrive/crash.py
  149. +52 −0 selfdrive/logcatd/Makefile
  150. +68 −0 selfdrive/logcatd/logcatd.cc
  151. +4 −0 selfdrive/loggerd/Makefile
  152. 0 selfdrive/loggerd/__init__.py
  153. +9 −0 selfdrive/loggerd/config.py
  154. BIN selfdrive/loggerd/loggerd
  155. +272 −0 selfdrive/loggerd/uploader.py
  156. +39 −0 selfdrive/logmessaged.py
  157. +582 −0 selfdrive/manager.py
  158. +63 −0 selfdrive/messaging.py
  159. +13 −0 selfdrive/pandad.py
  160. +51 −0 selfdrive/proclogd/Makefile
  161. +245 −0 selfdrive/proclogd/proclogd.cc
  162. 0 selfdrive/radar/__init__.py
  163. 0 selfdrive/radar/nidec/__init__.py
  164. +87 −0 selfdrive/radar/nidec/interface.py
  165. +44 −0 selfdrive/registration.py
  166. +4 −0 selfdrive/sensord/Makefile
  167. BIN selfdrive/sensord/gpsd
  168. BIN selfdrive/sensord/sensord
  169. +105 −0 selfdrive/service_list.yaml
  170. +14 −0 selfdrive/services.py
  171. +38 −0 selfdrive/swaglog.py
  172. +19 −0 selfdrive/thermal.py
  173. +85 −0 selfdrive/tombstoned.py
  174. +1 −0 selfdrive/ui/.gitignore
  175. +81 −0 selfdrive/ui/Makefile
  176. BIN selfdrive/ui/spinner/spinner
  177. +77 −0 selfdrive/ui/spinner/spinner.c
  178. +1,345 −0 selfdrive/ui/ui.c
  179. +29 −0 selfdrive/updated.py
  180. +3 −0 selfdrive/version.py
  181. +192 −0 selfdrive/visiond/LICENSE.boringssl
  182. +29 −0 selfdrive/visiond/LICENSE.libyuv
  183. +41 −0 selfdrive/visiond/LICENSE.opencv
  184. +4 −0 selfdrive/visiond/Makefile
  185. BIN selfdrive/visiond/visiond
@@ -0,0 +1,30 @@
.DS_Store
.tags
.ipynb_checkpoints
.idea
model2.png

*.DSYM
*.d
*.pyc
*.pyo
.*.swp
.*.swo
.*.un~
*.o
*.so
*.a
*.clb
*.class
*.pyxbldc
*.vcd
config.json
clcache

board/obj/
selfdrive/boardd/boardd
selfdrive/logcatd/logcatd
selfdrive/proclogd/proclogd
selfdrive/ui/ui
/src/

@@ -0,0 +1,7 @@
Copyright (c) 2016, Comma.ai, Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,9 @@

code_dir := $(shell pwd)

# TODO: Add a global build system

.PHONY: all
all:
cd selfdrive && PYTHONPATH=$(code_dir) PREPAREONLY=1 ./manager.py

@@ -0,0 +1,36 @@
Welcome to chffrplus
======

[chffrplus](https://github.com/commaai/chffrplus) is an open source dashcam.

This is the shipping reference software for the comma EON Dashcam DevKit. It keeps many of the niceities of [openpilot](https://github.com/commaai/openpilot), like high quality sensors, great camera, and good autostart and stop. Though unlike openpilot, it cannot control your car. chffrplus can interface with your car through a [panda](https://shop.comma.ai/products/panda-obd-ii-dongle), but just like our dashcam app [chffr](https://getchffr.com/), it is read only.

It integrates with the rest of the comma ecosystem, so you can view your drives on the [chffr](https://getchffr.com/) app for Android or iOS, and reverse engineer your car with [cabana](https://community.comma.ai/cabana/?demo=1).


Hardware
------

Right now chffrplus supports the [EON Dashcam DevKit](https://shop.comma.ai/products/eon-dashcam-devkit) for hardware to run on.

Install chffrplus on a EON device by entering ``https://chffrplus.comma.ai`` during NEOS setup.


User Data / chffr Account / Crash Reporting
------

By default chffrplus creates an account and includes a client for chffr, our dashcam app.

It's open source software, so you are free to disable it if you wish.

It logs the road facing camera, CAN, GPS, IMU, magnetometer, thermal sensors, crashes, and operating system logs.
It does not log the user facing camera or the microphone.

By using it, you agree to [our privacy policy](https://beta.comma.ai/privacy.html). You understand that use of this software or its related services will generate certain types of user data, which may be logged and stored at the sole discretion of comma.ai. By accepting this agreement, you grant an irrevocable, perpetual, worldwide right to comma.ai for the use of this data.


Licensing
------

chffrplus is released under the MIT license.

BIN +5.95 MB apk/com.baseui.apk
Binary file not shown.
@@ -0,0 +1 @@
gen
@@ -0,0 +1,45 @@
SRCS := log.capnp car.capnp

GENS := gen/cpp/car.capnp.c++ gen/cpp/log.capnp.c++


UNAME_M ?= $(shell uname -m)

# only generate C++ for docker tests
ifneq ($(OPTEST),1)
GENS += gen/c/car.capnp.c gen/c/log.capnp.c gen/c/c++.capnp.h gen/c/java.capnp.h

# Dont build java on the phone...
ifeq ($(UNAME_M),x86_64)
GENS += gen/java/Car.java gen/java/Log.java
endif

endif

.PHONY: all
all: $(GENS)

.PHONY: clean
clean:
rm -rf gen

gen/c/%.capnp.c: %.capnp
@echo "[ CAPNPC C ] $@"
mkdir -p gen/c/
capnpc '$<' -o c:gen/c/

gen/cpp/%.capnp.c++: %.capnp
@echo "[ CAPNPC C++ ] $@"
mkdir -p gen/cpp/
capnpc '$<' -o c++:gen/cpp/

gen/java/Car.java gen/java/Log.java: $(SRCS)
@echo "[ CAPNPC java ] $@"
mkdir -p gen/java/
capnpc $^ -o java:gen/java

# c-capnproto needs some empty headers
gen/c/c++.capnp.h gen/c/java.capnp.h:
mkdir -p gen/c/
touch '$@'

@@ -0,0 +1,20 @@
import os
import capnp

CEREAL_PATH = os.path.dirname(os.path.abspath(__file__))
capnp.remove_import_hook()

if os.getenv("NEWCAPNP"):
import tempfile
import pyximport

importers = pyximport.install(build_dir=os.path.join(tempfile.gettempdir(), ".pyxbld"))
try:
import cereal.gen.cython.log_capnp_cython as log
import cereal.gen.cython.car_capnp_cython as car
finally:
pyximport.uninstall(*importers)
del importers
else:
log = capnp.load(os.path.join(CEREAL_PATH, "log.capnp"))
car = capnp.load(os.path.join(CEREAL_PATH, "car.capnp"))
@@ -0,0 +1,26 @@
# Copyright (c) 2013-2014 Sandstorm Development Group, Inc. and contributors
# Licensed under the MIT License:
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.

@0xbdf87d7bb8304e81;
$namespace("capnp::annotations");

annotation namespace(file): Text;
annotation name(field, enumerant, struct, enum, interface, method, param, group, union): Text;
Oops, something went wrong.

0 comments on commit dae0dd0

Please sign in to comment.