openpilot v0.8.7 release
1
.gitignore
vendored
@@ -42,6 +42,7 @@ selfdrive/logcatd/logcatd
|
||||
selfdrive/mapd/default_speeds_by_region.json
|
||||
selfdrive/proclogd/proclogd
|
||||
selfdrive/ui/_ui
|
||||
selfdrive/ui/_soundd
|
||||
selfdrive/test/longitudinal_maneuvers/out
|
||||
selfdrive/visiond/visiond
|
||||
selfdrive/loggerd/loggerd
|
||||
|
||||
27
Jenkinsfile
vendored
@@ -71,7 +71,24 @@ pipeline {
|
||||
}
|
||||
steps {
|
||||
phone_steps("eon-build", [
|
||||
["build release2-staging and dashcam-staging", "cd release && PUSH=1 ./build_release2.sh"],
|
||||
["build release2-staging & dashcam-staging", "cd release && PUSH=1 ./build_release2.sh"],
|
||||
])
|
||||
}
|
||||
}
|
||||
|
||||
stage('Build release3') {
|
||||
agent {
|
||||
docker {
|
||||
image 'python:3.7.3'
|
||||
args '--user=root'
|
||||
}
|
||||
}
|
||||
when {
|
||||
branch 'devel-staging'
|
||||
}
|
||||
steps {
|
||||
phone_steps("tici", [
|
||||
["build release3-staging & dashcam3-staging", "PUSH=1 $SOURCE_DIR/release/build_release3.sh"],
|
||||
])
|
||||
}
|
||||
}
|
||||
@@ -80,7 +97,10 @@ pipeline {
|
||||
when {
|
||||
not {
|
||||
anyOf {
|
||||
branch 'master-ci'; branch 'devel'; branch 'devel-staging'; branch 'release2'; branch 'release2-staging'; branch 'dashcam'; branch 'dashcam-staging'; branch 'testing-closet*'; branch 'hotfix-*'
|
||||
branch 'master-ci'; branch 'devel'; branch 'devel-staging';
|
||||
branch 'release2'; branch 'release2-staging'; branch 'dashcam'; branch 'dashcam-staging';
|
||||
branch 'release3'; branch 'release3-staging'; branch 'dashcam3'; branch 'dashcam3-staging';
|
||||
branch 'testing-closet*'; branch 'hotfix-*'
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -152,7 +172,7 @@ pipeline {
|
||||
phone_steps("eon", [
|
||||
["build", "cd selfdrive/manager && ./build.py"],
|
||||
["test athena", "nosetests -s selfdrive/athena/tests/test_athenad_old.py"],
|
||||
["test sounds", "nosetests -s selfdrive/test/test_sounds.py"],
|
||||
["test sounds", "nosetests -s selfdrive/ui/tests/test_sounds.py"],
|
||||
["test boardd loopback", "nosetests -s selfdrive/boardd/tests/test_boardd_loopback.py"],
|
||||
["test loggerd", "python selfdrive/loggerd/tests/test_loggerd.py"],
|
||||
["test encoder", "python selfdrive/loggerd/tests/test_encoder.py"],
|
||||
@@ -191,7 +211,6 @@ pipeline {
|
||||
phone_steps("tici", [
|
||||
["build", "cd selfdrive/manager && ./build.py"],
|
||||
["onroad tests", "cd selfdrive/test/ && ./test_onroad.py"],
|
||||
//["build release3-staging", "cd release && PUSH=${env.R3_PUSH} ./build_release3.sh"],
|
||||
])
|
||||
}
|
||||
}
|
||||
|
||||
@@ -204,6 +204,7 @@ Community Maintained Cars and Features
|
||||
| Volkswagen| Jetta 2018-20 | Driver Assistance | Stock | 0mph | 0mph |
|
||||
| Volkswagen| Jetta GLI 2021 | Driver Assistance | Stock | 0mph | 0mph |
|
||||
| Volkswagen| Passat 2016-17<sup>2</sup> | Driver Assistance | Stock | 0mph | 0mph |
|
||||
| Volkswagen| T-Cross 2021 | Driver Assistance | Stock | 0mph | 0mph |
|
||||
| Volkswagen| Tiguan 2020 | Driver Assistance | Stock | 0mph | 0mph |
|
||||
| Volkswagen| Touran 2017 | Driver Assistance | Stock | 0mph | 0mph |
|
||||
|
||||
@@ -298,13 +299,13 @@ openpilot is open source software: the user is free to disable data collection i
|
||||
openpilot logs the road facing camera, CAN, GPS, IMU, magnetometer, thermal sensors, crashes, and operating system logs.
|
||||
The driver facing camera is only logged if you explicitly opt-in in settings. The microphone is not recorded.
|
||||
|
||||
By using openpilot, you agree to [our Privacy Policy](https://my.comma.ai/privacy). 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. By accepting this agreement, you grant an irrevocable, perpetual, worldwide right to comma for the use of this data.
|
||||
By using openpilot, you agree to [our Privacy Policy](https://connect.comma.ai/privacy). 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. By accepting this agreement, you grant an irrevocable, perpetual, worldwide right to comma for the use of this data.
|
||||
|
||||
Safety and Testing
|
||||
----
|
||||
|
||||
* openpilot observes ISO26262 guidelines, see [SAFETY.md](SAFETY.md) for more details.
|
||||
* openpilot has software in the loop [tests](.github/workflows/test.yaml) that run on every commit.
|
||||
* openpilot has software in the loop [tests](.github/workflows/selfdrive_tests.yaml) that run on every commit.
|
||||
* The safety model code lives in panda and is written in C, see [code rigor](https://github.com/commaai/panda#code-rigor) for more details.
|
||||
* panda has software in the loop [safety tests](https://github.com/commaai/panda/tree/master/tests/safety).
|
||||
* Internally, we have a hardware in the loop Jenkins test suite that builds and unit tests the various processes.
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
Version 0.8.7 (2021-07-31)
|
||||
========================
|
||||
* Volkswagen T-Cross 2021 support thanks to jyoung8607!
|
||||
|
||||
Version 0.8.6 (2021-07-21)
|
||||
========================
|
||||
* Revamp lateral and longitudinal planners
|
||||
|
||||
@@ -432,6 +432,7 @@ struct PandaState @0xa7649e2575e4591e {
|
||||
pedal @4;
|
||||
uno @5;
|
||||
dos @6;
|
||||
red @7;
|
||||
}
|
||||
|
||||
enum UsbPowerMode {
|
||||
|
||||
@@ -49,7 +49,6 @@ class VisionBuf {
|
||||
|
||||
// ion
|
||||
int handle = 0;
|
||||
bool owner = false;
|
||||
|
||||
void allocate(size_t len);
|
||||
void import();
|
||||
|
||||
@@ -62,7 +62,6 @@ void VisionBuf::allocate(size_t len) {
|
||||
|
||||
memset(addr, 0, ion_alloc.len);
|
||||
|
||||
this->owner = true;
|
||||
this->len = len;
|
||||
this->mmap_len = ion_alloc.len;
|
||||
this->addr = addr;
|
||||
@@ -82,7 +81,6 @@ void VisionBuf::import(){
|
||||
err = ioctl(ion_fd, ION_IOC_IMPORT, &fd_data);
|
||||
assert(err == 0);
|
||||
|
||||
this->owner = false;
|
||||
this->handle = fd_data.handle;
|
||||
this->addr = mmap(NULL, this->mmap_len, PROT_READ | PROT_WRITE, MAP_SHARED, this->fd, 0);
|
||||
assert(this->addr != MAP_FAILED);
|
||||
@@ -139,10 +137,6 @@ void VisionBuf::free() {
|
||||
munmap(this->addr, this->mmap_len);
|
||||
close(this->fd);
|
||||
|
||||
// Free the ION buffer if we also shared it
|
||||
if (this->owner){
|
||||
struct ion_handle_data handle_data = {.handle = this->handle};
|
||||
int ret = ioctl(ion_fd, ION_IOC_FREE, &handle_data);
|
||||
assert(ret == 0);
|
||||
}
|
||||
struct ion_handle_data handle_data = {.handle = this->handle};
|
||||
ioctl(ion_fd, ION_IOC_FREE, &handle_data);
|
||||
}
|
||||
|
||||
@@ -122,7 +122,6 @@ void VisionIpcServer::listener(){
|
||||
bufs[i].buf_cl = 0;
|
||||
bufs[i].copy_q = 0;
|
||||
bufs[i].handle = 0;
|
||||
bufs[i].owner = false;
|
||||
|
||||
bufs[i].server_id = server_id;
|
||||
}
|
||||
|
||||
@@ -158,7 +158,7 @@ class SwagLogger(logging.Logger):
|
||||
evt.update(kwargs)
|
||||
if 'error' in kwargs:
|
||||
self.error(evt)
|
||||
if 'debug' in kwargs:
|
||||
elif 'debug' in kwargs:
|
||||
self.debug(evt)
|
||||
else:
|
||||
self.info(evt)
|
||||
|
||||
4
installer/continue_openpilot.sh
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
cd /data/openpilot
|
||||
exec ./launch_openpilot.sh
|
||||
@@ -93,6 +93,11 @@ function two_init {
|
||||
}
|
||||
|
||||
function tici_init {
|
||||
# wait longer for weston to come up
|
||||
if [ -f "$BASEDIR/prebuilt" ]; then
|
||||
sleep 3
|
||||
fi
|
||||
|
||||
sudo su -c 'echo "performance" > /sys/class/devfreq/soc:qcom,memlat-cpu0/governor'
|
||||
sudo su -c 'echo "performance" > /sys/class/devfreq/soc:qcom,memlat-cpu4/governor'
|
||||
nmcli connection modify --temporary lte gsm.auto-config yes
|
||||
@@ -103,11 +108,12 @@ function tici_init {
|
||||
|
||||
# Check if AGNOS update is required
|
||||
if [ $(< /VERSION) != "$AGNOS_VERSION" ]; then
|
||||
AGNOS_PY="$DIR/selfdrive/hardware/tici/agnos.py"
|
||||
MANIFEST="$DIR/selfdrive/hardware/tici/agnos.json"
|
||||
$DIR/selfdrive/hardware/tici/agnos.py --swap $MANIFEST
|
||||
|
||||
sleep 1
|
||||
sudo reboot
|
||||
if $AGNOS_PY --verify $MANIFEST; then
|
||||
sudo reboot
|
||||
fi
|
||||
$DIR/selfdrive/hardware/tici/updater $AGNOS_PY $MANIFEST
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ if [ -z "$REQUIRED_NEOS_VERSION" ]; then
|
||||
fi
|
||||
|
||||
if [ -z "$AGNOS_VERSION" ]; then
|
||||
export AGNOS_VERSION="0.21"
|
||||
export AGNOS_VERSION="1.1"
|
||||
fi
|
||||
|
||||
if [ -z "$PASSIVE" ]; then
|
||||
|
||||
1
phonelibs/mapbox-gl-native-qt/include/QMapbox
Normal file
@@ -0,0 +1 @@
|
||||
#include "qmapbox.hpp"
|
||||
1
phonelibs/mapbox-gl-native-qt/include/QMapboxGL
Normal file
@@ -0,0 +1 @@
|
||||
#include "qmapboxgl.hpp"
|
||||
147
phonelibs/mapbox-gl-native-qt/include/qmapbox.hpp
Normal file
@@ -0,0 +1,147 @@
|
||||
#ifndef QMAPBOX_H
|
||||
#define QMAPBOX_H
|
||||
|
||||
#include <QColor>
|
||||
#include <QPair>
|
||||
#include <QString>
|
||||
#include <QVariant>
|
||||
#include <QVector>
|
||||
|
||||
// This header follows the Qt coding style: https://wiki.qt.io/Qt_Coding_Style
|
||||
|
||||
#if !defined(QT_MAPBOXGL_STATIC)
|
||||
# if defined(QT_BUILD_MAPBOXGL_LIB)
|
||||
# define Q_MAPBOXGL_EXPORT Q_DECL_EXPORT
|
||||
# else
|
||||
# define Q_MAPBOXGL_EXPORT Q_DECL_IMPORT
|
||||
# endif
|
||||
#else
|
||||
# define Q_MAPBOXGL_EXPORT
|
||||
#endif
|
||||
|
||||
namespace QMapbox {
|
||||
|
||||
typedef QPair<double, double> Coordinate;
|
||||
typedef QPair<Coordinate, double> CoordinateZoom;
|
||||
typedef QPair<double, double> ProjectedMeters;
|
||||
|
||||
typedef QVector<Coordinate> Coordinates;
|
||||
typedef QVector<Coordinates> CoordinatesCollection;
|
||||
|
||||
typedef QVector<CoordinatesCollection> CoordinatesCollections;
|
||||
|
||||
struct Q_MAPBOXGL_EXPORT Feature {
|
||||
enum Type {
|
||||
PointType = 1,
|
||||
LineStringType,
|
||||
PolygonType
|
||||
};
|
||||
|
||||
/*! Class constructor. */
|
||||
Feature(Type type_ = PointType, const CoordinatesCollections& geometry_ = CoordinatesCollections(),
|
||||
const QVariantMap& properties_ = QVariantMap(), const QVariant& id_ = QVariant())
|
||||
: type(type_), geometry(geometry_), properties(properties_), id(id_) {}
|
||||
|
||||
Type type;
|
||||
CoordinatesCollections geometry;
|
||||
QVariantMap properties;
|
||||
QVariant id;
|
||||
};
|
||||
|
||||
struct Q_MAPBOXGL_EXPORT ShapeAnnotationGeometry {
|
||||
enum Type {
|
||||
LineStringType = 1,
|
||||
PolygonType,
|
||||
MultiLineStringType,
|
||||
MultiPolygonType
|
||||
};
|
||||
|
||||
/*! Class constructor. */
|
||||
ShapeAnnotationGeometry(Type type_ = LineStringType, const CoordinatesCollections& geometry_ = CoordinatesCollections())
|
||||
: type(type_), geometry(geometry_) {}
|
||||
|
||||
Type type;
|
||||
CoordinatesCollections geometry;
|
||||
};
|
||||
|
||||
struct Q_MAPBOXGL_EXPORT SymbolAnnotation {
|
||||
Coordinate geometry;
|
||||
QString icon;
|
||||
};
|
||||
|
||||
struct Q_MAPBOXGL_EXPORT LineAnnotation {
|
||||
/*! Class constructor. */
|
||||
LineAnnotation(const ShapeAnnotationGeometry& geometry_ = ShapeAnnotationGeometry(), float opacity_ = 1.0f,
|
||||
float width_ = 1.0f, const QColor& color_ = Qt::black)
|
||||
: geometry(geometry_), opacity(opacity_), width(width_), color(color_) {}
|
||||
|
||||
ShapeAnnotationGeometry geometry;
|
||||
float opacity;
|
||||
float width;
|
||||
QColor color;
|
||||
};
|
||||
|
||||
struct Q_MAPBOXGL_EXPORT FillAnnotation {
|
||||
/*! Class constructor. */
|
||||
FillAnnotation(const ShapeAnnotationGeometry& geometry_ = ShapeAnnotationGeometry(), float opacity_ = 1.0f,
|
||||
const QColor& color_ = Qt::black, const QVariant& outlineColor_ = QVariant())
|
||||
: geometry(geometry_), opacity(opacity_), color(color_), outlineColor(outlineColor_) {}
|
||||
|
||||
ShapeAnnotationGeometry geometry;
|
||||
float opacity;
|
||||
QColor color;
|
||||
QVariant outlineColor;
|
||||
};
|
||||
|
||||
typedef QVariant Annotation;
|
||||
typedef quint32 AnnotationID;
|
||||
typedef QVector<AnnotationID> AnnotationIDs;
|
||||
|
||||
enum NetworkMode {
|
||||
Online, // Default
|
||||
Offline,
|
||||
};
|
||||
|
||||
Q_MAPBOXGL_EXPORT QVector<QPair<QString, QString> >& defaultStyles();
|
||||
|
||||
Q_MAPBOXGL_EXPORT NetworkMode networkMode();
|
||||
Q_MAPBOXGL_EXPORT void setNetworkMode(NetworkMode);
|
||||
|
||||
// This struct is a 1:1 copy of mbgl::CustomLayerRenderParameters.
|
||||
struct Q_MAPBOXGL_EXPORT CustomLayerRenderParameters {
|
||||
double width;
|
||||
double height;
|
||||
double latitude;
|
||||
double longitude;
|
||||
double zoom;
|
||||
double bearing;
|
||||
double pitch;
|
||||
double fieldOfView;
|
||||
};
|
||||
|
||||
class Q_MAPBOXGL_EXPORT CustomLayerHostInterface {
|
||||
public:
|
||||
virtual ~CustomLayerHostInterface() = default;
|
||||
virtual void initialize() = 0;
|
||||
virtual void render(const CustomLayerRenderParameters&) = 0;
|
||||
virtual void deinitialize() = 0;
|
||||
};
|
||||
|
||||
Q_MAPBOXGL_EXPORT double metersPerPixelAtLatitude(double latitude, double zoom);
|
||||
Q_MAPBOXGL_EXPORT ProjectedMeters projectedMetersForCoordinate(const Coordinate &);
|
||||
Q_MAPBOXGL_EXPORT Coordinate coordinateForProjectedMeters(const ProjectedMeters &);
|
||||
|
||||
} // namespace QMapbox
|
||||
|
||||
Q_DECLARE_METATYPE(QMapbox::Coordinate);
|
||||
Q_DECLARE_METATYPE(QMapbox::Coordinates);
|
||||
Q_DECLARE_METATYPE(QMapbox::CoordinatesCollection);
|
||||
Q_DECLARE_METATYPE(QMapbox::CoordinatesCollections);
|
||||
Q_DECLARE_METATYPE(QMapbox::Feature);
|
||||
|
||||
Q_DECLARE_METATYPE(QMapbox::SymbolAnnotation);
|
||||
Q_DECLARE_METATYPE(QMapbox::ShapeAnnotationGeometry);
|
||||
Q_DECLARE_METATYPE(QMapbox::LineAnnotation);
|
||||
Q_DECLARE_METATYPE(QMapbox::FillAnnotation);
|
||||
|
||||
#endif // QMAPBOX_H
|
||||
277
phonelibs/mapbox-gl-native-qt/include/qmapboxgl.hpp
Normal file
@@ -0,0 +1,277 @@
|
||||
#ifndef QMAPBOXGL_H
|
||||
#define QMAPBOXGL_H
|
||||
|
||||
#include <QImage>
|
||||
#include <QMapbox>
|
||||
#include <QMargins>
|
||||
#include <QObject>
|
||||
#include <QPointF>
|
||||
#include <QSize>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
|
||||
#include <functional>
|
||||
|
||||
class QMapboxGLPrivate;
|
||||
|
||||
// This header follows the Qt coding style: https://wiki.qt.io/Qt_Coding_Style
|
||||
|
||||
class Q_MAPBOXGL_EXPORT QMapboxGLSettings
|
||||
{
|
||||
public:
|
||||
QMapboxGLSettings();
|
||||
|
||||
enum GLContextMode {
|
||||
UniqueGLContext = 0,
|
||||
SharedGLContext
|
||||
};
|
||||
|
||||
enum MapMode {
|
||||
Continuous = 0,
|
||||
Static
|
||||
};
|
||||
|
||||
enum ConstrainMode {
|
||||
NoConstrain = 0,
|
||||
ConstrainHeightOnly,
|
||||
ConstrainWidthAndHeight
|
||||
};
|
||||
|
||||
enum ViewportMode {
|
||||
DefaultViewport = 0,
|
||||
FlippedYViewport
|
||||
};
|
||||
|
||||
GLContextMode contextMode() const;
|
||||
void setContextMode(GLContextMode);
|
||||
|
||||
MapMode mapMode() const;
|
||||
void setMapMode(MapMode);
|
||||
|
||||
ConstrainMode constrainMode() const;
|
||||
void setConstrainMode(ConstrainMode);
|
||||
|
||||
ViewportMode viewportMode() const;
|
||||
void setViewportMode(ViewportMode);
|
||||
|
||||
unsigned cacheDatabaseMaximumSize() const;
|
||||
void setCacheDatabaseMaximumSize(unsigned);
|
||||
|
||||
QString cacheDatabasePath() const;
|
||||
void setCacheDatabasePath(const QString &);
|
||||
|
||||
QString assetPath() const;
|
||||
void setAssetPath(const QString &);
|
||||
|
||||
QString accessToken() const;
|
||||
void setAccessToken(const QString &);
|
||||
|
||||
QString apiBaseUrl() const;
|
||||
void setApiBaseUrl(const QString &);
|
||||
|
||||
QString localFontFamily() const;
|
||||
void setLocalFontFamily(const QString &);
|
||||
|
||||
std::function<std::string(const std::string &)> resourceTransform() const;
|
||||
void setResourceTransform(const std::function<std::string(const std::string &)> &);
|
||||
|
||||
private:
|
||||
GLContextMode m_contextMode;
|
||||
MapMode m_mapMode;
|
||||
ConstrainMode m_constrainMode;
|
||||
ViewportMode m_viewportMode;
|
||||
|
||||
unsigned m_cacheMaximumSize;
|
||||
QString m_cacheDatabasePath;
|
||||
QString m_assetPath;
|
||||
QString m_accessToken;
|
||||
QString m_apiBaseUrl;
|
||||
QString m_localFontFamily;
|
||||
std::function<std::string(const std::string &)> m_resourceTransform;
|
||||
};
|
||||
|
||||
struct Q_MAPBOXGL_EXPORT QMapboxGLCameraOptions {
|
||||
QVariant center; // Coordinate
|
||||
QVariant anchor; // QPointF
|
||||
QVariant zoom; // double
|
||||
QVariant bearing; // double
|
||||
QVariant pitch; // double
|
||||
};
|
||||
|
||||
class Q_MAPBOXGL_EXPORT QMapboxGL : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(double latitude READ latitude WRITE setLatitude)
|
||||
Q_PROPERTY(double longitude READ longitude WRITE setLongitude)
|
||||
Q_PROPERTY(double zoom READ zoom WRITE setZoom)
|
||||
Q_PROPERTY(double bearing READ bearing WRITE setBearing)
|
||||
Q_PROPERTY(double pitch READ pitch WRITE setPitch)
|
||||
Q_PROPERTY(QString styleJson READ styleJson WRITE setStyleJson)
|
||||
Q_PROPERTY(QString styleUrl READ styleUrl WRITE setStyleUrl)
|
||||
Q_PROPERTY(double scale READ scale WRITE setScale)
|
||||
Q_PROPERTY(QMapbox::Coordinate coordinate READ coordinate WRITE setCoordinate)
|
||||
Q_PROPERTY(QMargins margins READ margins WRITE setMargins)
|
||||
|
||||
public:
|
||||
enum MapChange {
|
||||
MapChangeRegionWillChange = 0,
|
||||
MapChangeRegionWillChangeAnimated,
|
||||
MapChangeRegionIsChanging,
|
||||
MapChangeRegionDidChange,
|
||||
MapChangeRegionDidChangeAnimated,
|
||||
MapChangeWillStartLoadingMap,
|
||||
MapChangeDidFinishLoadingMap,
|
||||
MapChangeDidFailLoadingMap,
|
||||
MapChangeWillStartRenderingFrame,
|
||||
MapChangeDidFinishRenderingFrame,
|
||||
MapChangeDidFinishRenderingFrameFullyRendered,
|
||||
MapChangeWillStartRenderingMap,
|
||||
MapChangeDidFinishRenderingMap,
|
||||
MapChangeDidFinishRenderingMapFullyRendered,
|
||||
MapChangeDidFinishLoadingStyle,
|
||||
MapChangeSourceDidChange
|
||||
};
|
||||
|
||||
enum MapLoadingFailure {
|
||||
StyleParseFailure,
|
||||
StyleLoadFailure,
|
||||
NotFoundFailure,
|
||||
UnknownFailure
|
||||
};
|
||||
|
||||
// Determines the orientation of the map.
|
||||
enum NorthOrientation {
|
||||
NorthUpwards, // Default
|
||||
NorthRightwards,
|
||||
NorthDownwards,
|
||||
NorthLeftwards,
|
||||
};
|
||||
|
||||
QMapboxGL(QObject* parent = 0,
|
||||
const QMapboxGLSettings& = QMapboxGLSettings(),
|
||||
const QSize& size = QSize(),
|
||||
qreal pixelRatio = 1);
|
||||
virtual ~QMapboxGL();
|
||||
|
||||
QString styleJson() const;
|
||||
QString styleUrl() const;
|
||||
|
||||
void setStyleJson(const QString &);
|
||||
void setStyleUrl(const QString &);
|
||||
|
||||
double latitude() const;
|
||||
void setLatitude(double latitude);
|
||||
|
||||
double longitude() const;
|
||||
void setLongitude(double longitude);
|
||||
|
||||
double scale() const;
|
||||
void setScale(double scale, const QPointF ¢er = QPointF());
|
||||
|
||||
double zoom() const;
|
||||
void setZoom(double zoom);
|
||||
|
||||
double minimumZoom() const;
|
||||
double maximumZoom() const;
|
||||
|
||||
double bearing() const;
|
||||
void setBearing(double degrees);
|
||||
void setBearing(double degrees, const QPointF ¢er);
|
||||
|
||||
double pitch() const;
|
||||
void setPitch(double pitch);
|
||||
void pitchBy(double pitch);
|
||||
|
||||
NorthOrientation northOrientation() const;
|
||||
void setNorthOrientation(NorthOrientation);
|
||||
|
||||
QMapbox::Coordinate coordinate() const;
|
||||
void setCoordinate(const QMapbox::Coordinate &);
|
||||
void setCoordinateZoom(const QMapbox::Coordinate &, double zoom);
|
||||
|
||||
void jumpTo(const QMapboxGLCameraOptions&);
|
||||
|
||||
void setGestureInProgress(bool inProgress);
|
||||
|
||||
void setTransitionOptions(qint64 duration, qint64 delay = 0);
|
||||
|
||||
void addAnnotationIcon(const QString &name, const QImage &sprite);
|
||||
|
||||
QMapbox::AnnotationID addAnnotation(const QMapbox::Annotation &);
|
||||
void updateAnnotation(QMapbox::AnnotationID, const QMapbox::Annotation &);
|
||||
void removeAnnotation(QMapbox::AnnotationID);
|
||||
|
||||
bool setLayoutProperty(const QString &layer, const QString &property, const QVariant &value);
|
||||
bool setPaintProperty(const QString &layer, const QString &property, const QVariant &value);
|
||||
|
||||
bool isFullyLoaded() const;
|
||||
|
||||
void moveBy(const QPointF &offset);
|
||||
void scaleBy(double scale, const QPointF ¢er = QPointF());
|
||||
void rotateBy(const QPointF &first, const QPointF &second);
|
||||
|
||||
void resize(const QSize &size);
|
||||
|
||||
double metersPerPixelAtLatitude(double latitude, double zoom) const;
|
||||
QMapbox::ProjectedMeters projectedMetersForCoordinate(const QMapbox::Coordinate &) const;
|
||||
QMapbox::Coordinate coordinateForProjectedMeters(const QMapbox::ProjectedMeters &) const;
|
||||
QPointF pixelForCoordinate(const QMapbox::Coordinate &) const;
|
||||
QMapbox::Coordinate coordinateForPixel(const QPointF &) const;
|
||||
|
||||
QMapbox::CoordinateZoom coordinateZoomForBounds(const QMapbox::Coordinate &sw, QMapbox::Coordinate &ne) const;
|
||||
QMapbox::CoordinateZoom coordinateZoomForBounds(const QMapbox::Coordinate &sw, QMapbox::Coordinate &ne, double bearing, double pitch);
|
||||
|
||||
void setMargins(const QMargins &margins);
|
||||
QMargins margins() const;
|
||||
|
||||
void addSource(const QString &sourceID, const QVariantMap& params);
|
||||
bool sourceExists(const QString &sourceID);
|
||||
void updateSource(const QString &sourceID, const QVariantMap& params);
|
||||
void removeSource(const QString &sourceID);
|
||||
|
||||
void addImage(const QString &name, const QImage &sprite);
|
||||
void removeImage(const QString &name);
|
||||
|
||||
void addCustomLayer(const QString &id,
|
||||
QScopedPointer<QMapbox::CustomLayerHostInterface>& host,
|
||||
const QString& before = QString());
|
||||
void addLayer(const QVariantMap ¶ms, const QString& before = QString());
|
||||
bool layerExists(const QString &id);
|
||||
void removeLayer(const QString &id);
|
||||
|
||||
QVector<QString> layerIds() const;
|
||||
|
||||
void setFilter(const QString &layer, const QVariant &filter);
|
||||
QVariant getFilter(const QString &layer) const;
|
||||
// When rendering on a different thread,
|
||||
// should be called on the render thread.
|
||||
void createRenderer();
|
||||
void destroyRenderer();
|
||||
void setFramebufferObject(quint32 fbo, const QSize &size);
|
||||
|
||||
public slots:
|
||||
void render();
|
||||
void connectionEstablished();
|
||||
|
||||
// Commit changes, load all the resources
|
||||
// and renders the map when completed.
|
||||
void startStaticRender();
|
||||
|
||||
signals:
|
||||
void needsRendering();
|
||||
void mapChanged(QMapboxGL::MapChange);
|
||||
void mapLoadingFailed(QMapboxGL::MapLoadingFailure, const QString &reason);
|
||||
void copyrightsChanged(const QString ©rightsHtml);
|
||||
|
||||
void staticRenderFinished(const QString &error);
|
||||
|
||||
private:
|
||||
Q_DISABLE_COPY(QMapboxGL)
|
||||
|
||||
QMapboxGLPrivate *d_ptr;
|
||||
};
|
||||
|
||||
Q_DECLARE_METATYPE(QMapboxGL::MapChange);
|
||||
Q_DECLARE_METATYPE(QMapboxGL::MapLoadingFailure);
|
||||
|
||||
#endif // QMAPBOXGL_H
|
||||
70
release/build_devel.sh
Executable file
@@ -0,0 +1,70 @@
|
||||
#!/usr/bin/bash -e
|
||||
|
||||
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
|
||||
|
||||
TARGET_DIR=/data/openpilot
|
||||
SOURCE_DIR="$(git rev-parse --show-toplevel)"
|
||||
|
||||
# set git identity
|
||||
source $DIR/identity.sh
|
||||
|
||||
echo "[-] Setting up repo T=$SECONDS"
|
||||
if [ ! -d "$TARGET_DIR" ]; then
|
||||
mkdir -p $TARGET_DIR
|
||||
cd $TARGET_DIR
|
||||
git init
|
||||
git remote add origin git@github.com:commaai/openpilot.git
|
||||
fi
|
||||
|
||||
echo "[-] bringing master-ci and devel in sync T=$SECONDS"
|
||||
cd $TARGET_DIR
|
||||
git prune || true
|
||||
git remote prune origin || true
|
||||
git fetch origin master-ci
|
||||
git fetch origin devel
|
||||
|
||||
git checkout -f --track origin/master-ci
|
||||
git reset --hard master-ci
|
||||
git checkout master-ci
|
||||
git reset --hard origin/devel
|
||||
git clean -xdf
|
||||
|
||||
# remove everything except .git
|
||||
echo "[-] erasing old openpilot T=$SECONDS"
|
||||
find . -maxdepth 1 -not -path './.git' -not -name '.' -not -name '..' -exec rm -rf '{}' \;
|
||||
|
||||
# reset source tree
|
||||
cd $SOURCE_DIR
|
||||
git clean -xdf
|
||||
|
||||
# do the files copy
|
||||
echo "[-] copying files T=$SECONDS"
|
||||
cd $SOURCE_DIR
|
||||
cp -pR --parents $(cat release/files_common) $TARGET_DIR/
|
||||
cp -pR --parents $(cat release/files_tici) $TARGET_DIR/
|
||||
if [ ! -z "$EXTRA_FILES" ]; then
|
||||
cp -pR --parents $EXTRA_FILES $TARGET_DIR/
|
||||
fi
|
||||
|
||||
# append source commit hash and build date to version
|
||||
GIT_HASH=$(git --git-dir=$SOURCE_DIR/.git rev-parse --short HEAD)
|
||||
DATETIME=$(date '+%Y-%m-%dT%H:%M:%S')
|
||||
VERSION=$(cat selfdrive/common/version.h | awk -F\" '{print $2}')
|
||||
echo "#define COMMA_VERSION \"$VERSION-$GIT_HASH-$DATETIME\"" > selfdrive/common/version.h
|
||||
|
||||
# in the directory
|
||||
cd $TARGET_DIR
|
||||
rm -f panda/board/obj/panda.bin.signed
|
||||
|
||||
echo "[-] committing version $VERSION T=$SECONDS"
|
||||
git add -f .
|
||||
git status
|
||||
git commit -a -m "openpilot v$VERSION release"
|
||||
|
||||
if [ ! -z "$PUSH" ]; then
|
||||
echo "[-] Pushing to $PUSH T=$SECONDS"
|
||||
git remote set-url origin git@github.com:commaai/openpilot.git
|
||||
git push -f origin master-ci:$PUSH
|
||||
fi
|
||||
|
||||
echo "[-] done T=$SECONDS"
|
||||
@@ -55,6 +55,14 @@ scons -j3
|
||||
python selfdrive/manager/test/test_manager.py
|
||||
selfdrive/car/tests/test_car_interfaces.py
|
||||
|
||||
# Ensure no submodules in release
|
||||
if test "$(git submodule--helper list | wc -l)" -gt "0"; then
|
||||
echo "submodules found:"
|
||||
git submodule--helper list
|
||||
exit 1
|
||||
fi
|
||||
git submodule status
|
||||
|
||||
# Cleanup
|
||||
find . -name '*.a' -delete
|
||||
find . -name '*.o' -delete
|
||||
|
||||
91
release/build_release3.sh
Executable file
@@ -0,0 +1,91 @@
|
||||
#!/usr/bin/bash -e
|
||||
|
||||
# git diff --name-status origin/release3-staging | grep "^A" | less
|
||||
|
||||
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
|
||||
|
||||
cd $DIR
|
||||
|
||||
BUILD_DIR=/data/openpilot
|
||||
SOURCE_DIR="$(git rev-parse --show-toplevel)"
|
||||
|
||||
BRANCH=release3-staging
|
||||
|
||||
# set git identity
|
||||
source $DIR/identity.sh
|
||||
|
||||
echo "[-] Setting up repo T=$SECONDS"
|
||||
rm -rf $BUILD_DIR
|
||||
mkdir -p $BUILD_DIR
|
||||
cd $BUILD_DIR
|
||||
git init
|
||||
git remote add origin git@github.com:commaai/openpilot.git
|
||||
git checkout -f -B $BRANCH
|
||||
|
||||
# do the files copy
|
||||
echo "[-] copying files T=$SECONDS"
|
||||
cd $SOURCE_DIR
|
||||
cp -pR --parents $(cat release/files_common) $BUILD_DIR/
|
||||
cp -pR --parents $(cat release/files_tici) $BUILD_DIR/
|
||||
|
||||
# in the directory
|
||||
cd $BUILD_DIR
|
||||
|
||||
rm -f panda/board/obj/panda.bin.signed
|
||||
|
||||
VERSION=$(cat selfdrive/common/version.h | awk -F[\"-] '{print $2}')
|
||||
echo "#define COMMA_VERSION \"$VERSION-release\"" > selfdrive/common/version.h
|
||||
|
||||
echo "[-] committing version $VERSION T=$SECONDS"
|
||||
git add -f .
|
||||
git commit -a -m "openpilot v$VERSION release"
|
||||
|
||||
# Build panda firmware
|
||||
pushd panda/
|
||||
CERT=/data/pandaextra/certs/release RELEASE=1 scons -u .
|
||||
mv board/obj/panda.bin.signed /tmp/panda.bin.signed
|
||||
popd
|
||||
|
||||
# Build
|
||||
export PYTHONPATH="$BUILD_DIR"
|
||||
scons -j$(nproc)
|
||||
|
||||
# Run tests
|
||||
#python selfdrive/manager/test/test_manager.py
|
||||
selfdrive/car/tests/test_car_interfaces.py
|
||||
|
||||
# Cleanup
|
||||
find . -name '*.a' -delete
|
||||
find . -name '*.o' -delete
|
||||
find . -name '*.os' -delete
|
||||
find . -name '*.pyc' -delete
|
||||
find . -name '__pycache__' -delete
|
||||
rm -rf panda/board panda/certs panda/crypto
|
||||
rm -rf .sconsign.dblite Jenkinsfile release/
|
||||
|
||||
# Move back signed panda fw
|
||||
mkdir -p panda/board/obj
|
||||
mv /tmp/panda.bin.signed panda/board/obj/panda.bin.signed
|
||||
|
||||
# Restore phonelibs
|
||||
git checkout phonelibs/
|
||||
|
||||
# Mark as prebuilt release
|
||||
touch prebuilt
|
||||
|
||||
# Add built files to git
|
||||
git add -f .
|
||||
git commit --amend -m "openpilot v$VERSION"
|
||||
|
||||
if [ ! -z "$PUSH" ]; then
|
||||
echo "[-] pushing T=$SECONDS"
|
||||
git remote set-url origin git@github.com:commaai/openpilot.git
|
||||
git push -f origin $BRANCH
|
||||
|
||||
# Create dashcam
|
||||
git rm selfdrive/car/*/carcontroller.py
|
||||
git commit -m "create dashcam release from release"
|
||||
git push -f origin $BRANCH:dashcam3-staging
|
||||
fi
|
||||
|
||||
echo "[-] done T=$SECONDS"
|
||||
12
release/check-submodules.sh
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
while read hash submodule ref; do
|
||||
git -C $submodule fetch --depth 100 origin master
|
||||
git -C $submodule branch -r --contains $hash | grep "origin/master"
|
||||
if [ "$?" -eq 0 ]; then
|
||||
echo "$submodule ok"
|
||||
else
|
||||
echo "$submodule: $hash is not on master"
|
||||
exit 1
|
||||
fi
|
||||
done <<< $(git submodule status --recursive)
|
||||
622
release/files_common
Normal file
@@ -0,0 +1,622 @@
|
||||
.gitignore
|
||||
LICENSE
|
||||
launch_env.sh
|
||||
launch_chffrplus.sh
|
||||
launch_openpilot.sh
|
||||
|
||||
Jenkinsfile
|
||||
SConstruct
|
||||
|
||||
CONTRIBUTING.md
|
||||
README.md
|
||||
RELEASES.md
|
||||
SAFETY.md
|
||||
site_scons/site_tools/cython.py
|
||||
|
||||
common/.gitignore
|
||||
common/__init__.py
|
||||
common/gpio.py
|
||||
common/realtime.py
|
||||
common/clock.pyx
|
||||
common/timeout.py
|
||||
common/ffi_wrapper.py
|
||||
common/file_helpers.py
|
||||
common/logging_extra.py
|
||||
common/numpy_fast.py
|
||||
common/params.py
|
||||
common/params_pxd.pxd
|
||||
common/params_pyx.pyx
|
||||
common/xattr.py
|
||||
common/profiler.py
|
||||
common/basedir.py
|
||||
common/dict_helpers.py
|
||||
common/filter_simple.py
|
||||
common/stat_live.py
|
||||
common/spinner.py
|
||||
common/text_window.py
|
||||
common/cython_hacks.py
|
||||
common/SConscript
|
||||
|
||||
common/kalman/.gitignore
|
||||
common/kalman/*
|
||||
|
||||
common/transformations/__init__.py
|
||||
common/transformations/camera.py
|
||||
common/transformations/model.py
|
||||
|
||||
common/transformations/SConscript
|
||||
common/transformations/coordinates.py
|
||||
common/transformations/coordinates.cc
|
||||
common/transformations/coordinates.hpp
|
||||
common/transformations/orientation.py
|
||||
common/transformations/orientation.cc
|
||||
common/transformations/orientation.hpp
|
||||
common/transformations/transformations.pxd
|
||||
common/transformations/transformations.pyx
|
||||
|
||||
common/api/__init__.py
|
||||
|
||||
models/supercombo.dlc
|
||||
models/dmonitoring_model_q.dlc
|
||||
|
||||
release/*
|
||||
|
||||
selfdrive/version.py
|
||||
|
||||
selfdrive/__init__.py
|
||||
selfdrive/config.py
|
||||
selfdrive/crash.py
|
||||
selfdrive/swaglog.py
|
||||
selfdrive/logmessaged.py
|
||||
selfdrive/tombstoned.py
|
||||
selfdrive/pandad.py
|
||||
selfdrive/updated.py
|
||||
selfdrive/rtshield.py
|
||||
|
||||
selfdrive/athena/__init__.py
|
||||
selfdrive/athena/athenad.py
|
||||
selfdrive/athena/manage_athenad.py
|
||||
selfdrive/athena/registration.py
|
||||
|
||||
selfdrive/boardd/.gitignore
|
||||
selfdrive/boardd/SConscript
|
||||
selfdrive/boardd/__init__.py
|
||||
selfdrive/boardd/boardd.cc
|
||||
selfdrive/boardd/boardd.py
|
||||
selfdrive/boardd/boardd_api_impl.pyx
|
||||
selfdrive/boardd/can_list_to_can_capnp.cc
|
||||
selfdrive/boardd/panda.cc
|
||||
selfdrive/boardd/panda.h
|
||||
selfdrive/boardd/pigeon.cc
|
||||
selfdrive/boardd/pigeon.h
|
||||
selfdrive/boardd/set_time.py
|
||||
|
||||
selfdrive/car/__init__.py
|
||||
selfdrive/car/car_helpers.py
|
||||
selfdrive/car/fingerprints.py
|
||||
selfdrive/car/interfaces.py
|
||||
selfdrive/car/vin.py
|
||||
selfdrive/car/fw_versions.py
|
||||
selfdrive/car/isotp_parallel_query.py
|
||||
selfdrive/car/tests/__init__.py
|
||||
selfdrive/car/tests/test_car_interfaces.py
|
||||
selfdrive/car/chrysler/__init__.py
|
||||
selfdrive/car/chrysler/carstate.py
|
||||
selfdrive/car/chrysler/interface.py
|
||||
selfdrive/car/chrysler/radar_interface.py
|
||||
selfdrive/car/chrysler/values.py
|
||||
selfdrive/car/chrysler/carcontroller.py
|
||||
selfdrive/car/chrysler/chryslercan.py
|
||||
selfdrive/car/honda/__init__.py
|
||||
selfdrive/car/honda/carstate.py
|
||||
selfdrive/car/honda/interface.py
|
||||
selfdrive/car/honda/radar_interface.py
|
||||
selfdrive/car/honda/values.py
|
||||
selfdrive/car/honda/carcontroller.py
|
||||
selfdrive/car/honda/hondacan.py
|
||||
selfdrive/car/hyundai/__init__.py
|
||||
selfdrive/car/hyundai/carstate.py
|
||||
selfdrive/car/hyundai/interface.py
|
||||
selfdrive/car/hyundai/radar_interface.py
|
||||
selfdrive/car/hyundai/values.py
|
||||
selfdrive/car/hyundai/carcontroller.py
|
||||
selfdrive/car/hyundai/hyundaican.py
|
||||
selfdrive/car/toyota/__init__.py
|
||||
selfdrive/car/toyota/carstate.py
|
||||
selfdrive/car/toyota/interface.py
|
||||
selfdrive/car/toyota/radar_interface.py
|
||||
selfdrive/car/toyota/values.py
|
||||
selfdrive/car/toyota/carcontroller.py
|
||||
selfdrive/car/toyota/toyotacan.py
|
||||
selfdrive/car/nissan/__init__.py
|
||||
selfdrive/car/nissan/carcontroller.py
|
||||
selfdrive/car/nissan/carstate.py
|
||||
selfdrive/car/nissan/interface.py
|
||||
selfdrive/car/nissan/nissancan.py
|
||||
selfdrive/car/nissan/radar_interface.py
|
||||
selfdrive/car/nissan/values.py
|
||||
selfdrive/car/volkswagen/__init__.py
|
||||
selfdrive/car/volkswagen/carstate.py
|
||||
selfdrive/car/volkswagen/interface.py
|
||||
selfdrive/car/volkswagen/radar_interface.py
|
||||
selfdrive/car/volkswagen/values.py
|
||||
selfdrive/car/volkswagen/carcontroller.py
|
||||
selfdrive/car/volkswagen/volkswagencan.py
|
||||
selfdrive/car/gm/__init__.py
|
||||
selfdrive/car/gm/carstate.py
|
||||
selfdrive/car/gm/interface.py
|
||||
selfdrive/car/gm/radar_interface.py
|
||||
selfdrive/car/gm/values.py
|
||||
selfdrive/car/gm/carcontroller.py
|
||||
selfdrive/car/gm/gmcan.py
|
||||
selfdrive/car/ford/__init__.py
|
||||
selfdrive/car/ford/carstate.py
|
||||
selfdrive/car/ford/interface.py
|
||||
selfdrive/car/ford/radar_interface.py
|
||||
selfdrive/car/ford/values.py
|
||||
selfdrive/car/ford/carcontroller.py
|
||||
selfdrive/car/ford/fordcan.py
|
||||
selfdrive/car/subaru/__init__.py
|
||||
selfdrive/car/subaru/carstate.py
|
||||
selfdrive/car/subaru/interface.py
|
||||
selfdrive/car/subaru/radar_interface.py
|
||||
selfdrive/car/subaru/values.py
|
||||
selfdrive/car/subaru/carcontroller.py
|
||||
selfdrive/car/subaru/subarucan.py
|
||||
selfdrive/car/mazda/__init__.py
|
||||
selfdrive/car/mazda/carstate.py
|
||||
selfdrive/car/mazda/interface.py
|
||||
selfdrive/car/mazda/radar_interface.py
|
||||
selfdrive/car/mazda/values.py
|
||||
selfdrive/car/mazda/carcontroller.py
|
||||
selfdrive/car/mazda/mazdacan.py
|
||||
selfdrive/car/tesla/__init__.py
|
||||
selfdrive/car/tesla/teslacan.py
|
||||
selfdrive/car/tesla/carcontroller.py
|
||||
selfdrive/car/tesla/radar_interface.py
|
||||
selfdrive/car/tesla/values.py
|
||||
selfdrive/car/tesla/carstate.py
|
||||
selfdrive/car/tesla/interface.py
|
||||
selfdrive/car/mock/*.py
|
||||
|
||||
selfdrive/clocksd/.gitignore
|
||||
selfdrive/clocksd/SConscript
|
||||
selfdrive/clocksd/clocksd.cc
|
||||
|
||||
selfdrive/debug/*.py
|
||||
|
||||
selfdrive/common/SConscript
|
||||
selfdrive/common/version.h
|
||||
|
||||
selfdrive/common/framebuffer.h
|
||||
selfdrive/common/framebuffer.cc
|
||||
selfdrive/common/glutil.cc
|
||||
selfdrive/common/glutil.h
|
||||
selfdrive/common/touch.[c,h]
|
||||
selfdrive/common/swaglog.h
|
||||
selfdrive/common/swaglog.cc
|
||||
selfdrive/common/util.cc
|
||||
selfdrive/common/util.h
|
||||
selfdrive/common/queue.h
|
||||
selfdrive/common/clutil.cc
|
||||
selfdrive/common/clutil.h
|
||||
selfdrive/common/params.h
|
||||
selfdrive/common/params.cc
|
||||
selfdrive/common/watchdog.cc
|
||||
selfdrive/common/watchdog.h
|
||||
|
||||
selfdrive/common/modeldata.h
|
||||
selfdrive/common/mat.h
|
||||
selfdrive/common/timing.h
|
||||
|
||||
selfdrive/common/visionimg.cc
|
||||
selfdrive/common/visionimg.h
|
||||
|
||||
selfdrive/common/gpio.cc
|
||||
selfdrive/common/gpio.h
|
||||
selfdrive/common/i2c.cc
|
||||
selfdrive/common/i2c.h
|
||||
|
||||
|
||||
selfdrive/controls/__init__.py
|
||||
selfdrive/controls/controlsd.py
|
||||
selfdrive/controls/plannerd.py
|
||||
selfdrive/controls/radard.py
|
||||
selfdrive/controls/lib/__init__.py
|
||||
selfdrive/controls/lib/alertmanager.py
|
||||
selfdrive/controls/lib/alerts_offroad.json
|
||||
selfdrive/controls/lib/events.py
|
||||
selfdrive/controls/lib/drive_helpers.py
|
||||
selfdrive/controls/lib/latcontrol_pid.py
|
||||
selfdrive/controls/lib/latcontrol_indi.py
|
||||
selfdrive/controls/lib/latcontrol_lqr.py
|
||||
selfdrive/controls/lib/latcontrol_angle.py
|
||||
selfdrive/controls/lib/longcontrol.py
|
||||
selfdrive/controls/lib/lateral_planner.py
|
||||
selfdrive/controls/lib/lane_planner.py
|
||||
selfdrive/controls/lib/pid.py
|
||||
selfdrive/controls/lib/longitudinal_planner.py
|
||||
selfdrive/controls/lib/radar_helpers.py
|
||||
selfdrive/controls/lib/vehicle_model.py
|
||||
selfdrive/controls/lib/fcw.py
|
||||
selfdrive/controls/lib/long_mpc.py
|
||||
selfdrive/controls/lib/lead_mpc.py
|
||||
|
||||
selfdrive/controls/lib/cluster/*
|
||||
|
||||
selfdrive/controls/lib/lateral_mpc/lib_mpc_export/*
|
||||
selfdrive/controls/lib/lateral_mpc/.gitignore
|
||||
selfdrive/controls/lib/lateral_mpc/SConscript
|
||||
selfdrive/controls/lib/lateral_mpc/__init__.py
|
||||
selfdrive/controls/lib/lateral_mpc/generator.cpp
|
||||
selfdrive/controls/lib/lateral_mpc/libmpc_py.py
|
||||
selfdrive/controls/lib/lateral_mpc/lateral_mpc.c
|
||||
|
||||
selfdrive/controls/lib/lead_mpc_lib/lib_mpc_export/*
|
||||
selfdrive/controls/lib/lead_mpc_lib/.gitignore
|
||||
selfdrive/controls/lib/lead_mpc_lib/SConscript
|
||||
selfdrive/controls/lib/lead_mpc_lib/__init__.py
|
||||
selfdrive/controls/lib/lead_mpc_lib/generator.cpp
|
||||
selfdrive/controls/lib/lead_mpc_lib/libmpc_py.py
|
||||
selfdrive/controls/lib/lead_mpc_lib/longitudinal_mpc.c
|
||||
|
||||
selfdrive/controls/lib/longitudinal_mpc_lib/lib_mpc_export/*
|
||||
selfdrive/controls/lib/longitudinal_mpc_lib/.gitignore
|
||||
selfdrive/controls/lib/longitudinal_mpc_lib/SConscript
|
||||
selfdrive/controls/lib/longitudinal_mpc_lib/__init__.py
|
||||
selfdrive/controls/lib/longitudinal_mpc_lib/generator.cpp
|
||||
selfdrive/controls/lib/longitudinal_mpc_lib/libmpc_py.py
|
||||
selfdrive/controls/lib/longitudinal_mpc_lib/longitudinal_mpc.c
|
||||
|
||||
selfdrive/hardware/__init__.py
|
||||
selfdrive/hardware/base.h
|
||||
selfdrive/hardware/base.py
|
||||
selfdrive/hardware/hw.h
|
||||
selfdrive/hardware/eon/__init__.py
|
||||
selfdrive/hardware/eon/hardware.h
|
||||
selfdrive/hardware/eon/hardware.py
|
||||
selfdrive/hardware/tici/__init__.py
|
||||
selfdrive/hardware/tici/hardware.py
|
||||
selfdrive/hardware/tici/amplifier.py
|
||||
selfdrive/hardware/tici/iwlist.py
|
||||
selfdrive/hardware/pc/__init__.py
|
||||
selfdrive/hardware/pc/hardware.py
|
||||
|
||||
selfdrive/locationd/__init__.py
|
||||
selfdrive/locationd/.gitignore
|
||||
selfdrive/locationd/SConscript
|
||||
selfdrive/locationd/ubloxd.cc
|
||||
selfdrive/locationd/ublox_msg.cc
|
||||
selfdrive/locationd/ublox_msg.h
|
||||
selfdrive/locationd/generated/ubx.cpp
|
||||
selfdrive/locationd/generated/ubx.h
|
||||
selfdrive/locationd/generated/gps.cpp
|
||||
selfdrive/locationd/generated/gps.h
|
||||
|
||||
selfdrive/locationd/locationd.h
|
||||
selfdrive/locationd/locationd.cc
|
||||
selfdrive/locationd/paramsd.py
|
||||
selfdrive/locationd/models/.gitignore
|
||||
selfdrive/locationd/models/live_kf.py
|
||||
selfdrive/locationd/models/car_kf.py
|
||||
selfdrive/locationd/models/constants.py
|
||||
selfdrive/locationd/models/live_kf.h
|
||||
selfdrive/locationd/models/live_kf.cc
|
||||
|
||||
selfdrive/locationd/calibrationd.py
|
||||
|
||||
selfdrive/logcatd/SConscript
|
||||
selfdrive/logcatd/logcatd_android.cc
|
||||
selfdrive/logcatd/logcatd_systemd.cc
|
||||
|
||||
selfdrive/proclogd/SConscript
|
||||
selfdrive/proclogd/proclogd.cc
|
||||
|
||||
selfdrive/loggerd/SConscript
|
||||
selfdrive/loggerd/encoder.h
|
||||
selfdrive/loggerd/omx_encoder.cc
|
||||
selfdrive/loggerd/omx_encoder.h
|
||||
selfdrive/loggerd/logger.cc
|
||||
selfdrive/loggerd/logger.h
|
||||
selfdrive/loggerd/loggerd.cc
|
||||
selfdrive/loggerd/bootlog.cc
|
||||
selfdrive/loggerd/raw_logger.cc
|
||||
selfdrive/loggerd/raw_logger.h
|
||||
selfdrive/loggerd/include/msm_media_info.h
|
||||
|
||||
selfdrive/loggerd/__init__.py
|
||||
selfdrive/loggerd/config.py
|
||||
selfdrive/loggerd/uploader.py
|
||||
selfdrive/loggerd/deleter.py
|
||||
selfdrive/loggerd/xattr_cache.py
|
||||
|
||||
selfdrive/sensord/SConscript
|
||||
selfdrive/sensord/libdiag.h
|
||||
selfdrive/sensord/sensors_qcom.cc
|
||||
selfdrive/sensord/sensors_qcom2.cc
|
||||
selfdrive/sensord/sensors/*.cc
|
||||
selfdrive/sensord/sensors/*.h
|
||||
selfdrive/sensord/sensord
|
||||
|
||||
selfdrive/thermald/thermald.py
|
||||
selfdrive/thermald/power_monitoring.py
|
||||
|
||||
selfdrive/test/__init__.py
|
||||
selfdrive/test/helpers.py
|
||||
selfdrive/test/setup_device_ci.sh
|
||||
selfdrive/test/test_fingerprints.py
|
||||
selfdrive/test/test_onroad.py
|
||||
|
||||
selfdrive/ui/.gitignore
|
||||
selfdrive/ui/SConscript
|
||||
selfdrive/ui/*.cc
|
||||
selfdrive/ui/*.h
|
||||
selfdrive/ui/ui
|
||||
selfdrive/ui/text
|
||||
selfdrive/ui/spinner
|
||||
selfdrive/ui/soundd
|
||||
|
||||
selfdrive/ui/qt/*.cc
|
||||
selfdrive/ui/qt/*.h
|
||||
selfdrive/ui/qt/offroad/*.cc
|
||||
selfdrive/ui/qt/offroad/*.h
|
||||
selfdrive/ui/qt/offroad/*.qml
|
||||
selfdrive/ui/qt/widgets/*.cc
|
||||
selfdrive/ui/qt/widgets/*.h
|
||||
selfdrive/ui/qt/spinner_aarch64
|
||||
selfdrive/ui/qt/text_aarch64
|
||||
|
||||
selfdrive/camerad/SConscript
|
||||
selfdrive/camerad/main.cc
|
||||
|
||||
selfdrive/camerad/snapshot/*
|
||||
selfdrive/camerad/include/*
|
||||
selfdrive/camerad/cameras/camera_common.h
|
||||
selfdrive/camerad/cameras/camera_common.cc
|
||||
selfdrive/camerad/cameras/camera_frame_stream.cc
|
||||
selfdrive/camerad/cameras/camera_frame_stream.h
|
||||
selfdrive/camerad/cameras/camera_qcom.cc
|
||||
selfdrive/camerad/cameras/camera_qcom.h
|
||||
selfdrive/camerad/cameras/debayer.cl
|
||||
selfdrive/camerad/cameras/sensor_i2c.h
|
||||
selfdrive/camerad/cameras/sensor2_i2c.h
|
||||
|
||||
selfdrive/camerad/transforms/rgb_to_yuv.cc
|
||||
selfdrive/camerad/transforms/rgb_to_yuv.h
|
||||
selfdrive/camerad/transforms/rgb_to_yuv.cl
|
||||
selfdrive/camerad/transforms/rgb_to_yuv_test.cc
|
||||
|
||||
selfdrive/camerad/imgproc/conv.cl
|
||||
selfdrive/camerad/imgproc/pool.cl
|
||||
selfdrive/camerad/imgproc/utils.cc
|
||||
selfdrive/camerad/imgproc/utils.h
|
||||
|
||||
selfdrive/manager/__init__.py
|
||||
selfdrive/manager/build.py
|
||||
selfdrive/manager/helpers.py
|
||||
selfdrive/manager/manager.py
|
||||
selfdrive/manager/process_config.py
|
||||
selfdrive/manager/process.py
|
||||
selfdrive/manager/test/__init__.py
|
||||
selfdrive/manager/test/test_manager.py
|
||||
|
||||
selfdrive/modeld/SConscript
|
||||
selfdrive/modeld/modeld.cc
|
||||
selfdrive/modeld/dmonitoringmodeld.cc
|
||||
selfdrive/modeld/constants.py
|
||||
selfdrive/modeld/modeld
|
||||
selfdrive/modeld/dmonitoringmodeld
|
||||
|
||||
selfdrive/modeld/models/commonmodel.cc
|
||||
selfdrive/modeld/models/commonmodel.h
|
||||
selfdrive/modeld/models/driving.cc
|
||||
selfdrive/modeld/models/driving.h
|
||||
selfdrive/modeld/models/dmonitoring.cc
|
||||
selfdrive/modeld/models/dmonitoring.h
|
||||
|
||||
selfdrive/modeld/transforms/loadyuv.cc
|
||||
selfdrive/modeld/transforms/loadyuv.h
|
||||
selfdrive/modeld/transforms/loadyuv.cl
|
||||
selfdrive/modeld/transforms/transform.cc
|
||||
selfdrive/modeld/transforms/transform.h
|
||||
selfdrive/modeld/transforms/transform.cl
|
||||
|
||||
selfdrive/modeld/thneed/thneed.*
|
||||
selfdrive/modeld/thneed/serialize.cc
|
||||
selfdrive/modeld/thneed/compile.cc
|
||||
selfdrive/modeld/thneed/include/*
|
||||
|
||||
selfdrive/modeld/runners/snpemodel.cc
|
||||
selfdrive/modeld/runners/snpemodel.h
|
||||
selfdrive/modeld/runners/thneedmodel.cc
|
||||
selfdrive/modeld/runners/thneedmodel.h
|
||||
selfdrive/modeld/runners/runmodel.h
|
||||
selfdrive/modeld/runners/run.h
|
||||
|
||||
selfdrive/monitoring/dmonitoringd.py
|
||||
selfdrive/monitoring/driver_monitor.py
|
||||
|
||||
selfdrive/assets/.gitignore
|
||||
selfdrive/assets/assets.qrc
|
||||
selfdrive/assets/*.png
|
||||
selfdrive/assets/*.svg
|
||||
selfdrive/assets/fonts/*.ttf
|
||||
selfdrive/assets/images/*
|
||||
selfdrive/assets/offroad/*
|
||||
selfdrive/assets/sounds/*
|
||||
selfdrive/assets/training/*
|
||||
|
||||
phonelibs/SConscript
|
||||
|
||||
phonelibs/nanovg/*.c
|
||||
phonelibs/nanovg/*.h
|
||||
|
||||
phonelibs/libgralloc/**
|
||||
phonelibs/linux/**
|
||||
phonelibs/opencl/**
|
||||
phonelibs/zlib/*
|
||||
phonelibs/bzip2/*
|
||||
phonelibs/openmax/**
|
||||
|
||||
phonelibs/json11/json11.cpp
|
||||
phonelibs/json11/json11.hpp
|
||||
|
||||
phonelibs/qpoases/**
|
||||
|
||||
phonelibs/qrcode/*.cc
|
||||
phonelibs/qrcode/*.hpp
|
||||
|
||||
phonelibs/kaitai/*.h
|
||||
phonelibs/kaitai/*.cpp
|
||||
|
||||
phonelibs/libyuv/include/**
|
||||
phonelibs/libyuv/lib/**
|
||||
phonelibs/libyuv/larch64/**
|
||||
|
||||
phonelibs/snpe/include/**
|
||||
phonelibs/snpe/aarch64**
|
||||
phonelibs/snpe/larch64**
|
||||
phonelibs/snpe/dsp**
|
||||
|
||||
phonelibs/android_frameworks_native/**
|
||||
phonelibs/android_hardware_libhardware/**
|
||||
phonelibs/android_system_core/**
|
||||
|
||||
installer/updater/updater
|
||||
installer/updater/updater.cc
|
||||
installer/updater/update.json
|
||||
installer/updater/Makefile
|
||||
|
||||
scripts/update_now.sh
|
||||
scripts/stop_updater.sh
|
||||
|
||||
pyextra/.gitignore
|
||||
|
||||
rednose/**
|
||||
|
||||
cereal/.gitignore
|
||||
cereal/__init__.py
|
||||
cereal/car.capnp
|
||||
cereal/legacy.capnp
|
||||
cereal/log.capnp
|
||||
cereal/services.py
|
||||
cereal/SConscript
|
||||
cereal/include/**
|
||||
cereal/messaging/.gitignore
|
||||
cereal/messaging/__init__.py
|
||||
cereal/messaging/bridge.cc
|
||||
cereal/messaging/impl_msgq.cc
|
||||
cereal/messaging/impl_msgq.h
|
||||
cereal/messaging/impl_zmq.cc
|
||||
cereal/messaging/impl_zmq.h
|
||||
cereal/messaging/messaging.cc
|
||||
cereal/messaging/messaging.h
|
||||
cereal/messaging/messaging.pxd
|
||||
cereal/messaging/messaging_pyx.pyx
|
||||
cereal/messaging/msgq.cc
|
||||
cereal/messaging/msgq.h
|
||||
cereal/messaging/socketmaster.cc
|
||||
cereal/visionipc/.gitignore
|
||||
cereal/visionipc/__init__.py
|
||||
cereal/visionipc/*.cc
|
||||
cereal/visionipc/*.h
|
||||
cereal/visionipc/*.pyx
|
||||
cereal/visionipc/*.pxd
|
||||
|
||||
panda/.gitignore
|
||||
panda/__init__.py
|
||||
panda/VERSION
|
||||
panda/board/**
|
||||
panda/certs/**
|
||||
panda/crypto/**
|
||||
panda/examples/query_fw_versions.py
|
||||
panda/python/**
|
||||
|
||||
opendbc/.gitignore
|
||||
opendbc/__init__.py
|
||||
opendbc/can/__init__.py
|
||||
opendbc/can/SConscript
|
||||
opendbc/can/can_define.py
|
||||
opendbc/can/common.cc
|
||||
opendbc/can/common.h
|
||||
opendbc/can/common.pxd
|
||||
opendbc/can/common_dbc.h
|
||||
opendbc/can/dbc.cc
|
||||
opendbc/can/dbc.py
|
||||
opendbc/can/dbc_template.cc
|
||||
opendbc/can/packer.cc
|
||||
opendbc/can/packer.py
|
||||
opendbc/can/packer_pyx.pyx
|
||||
opendbc/can/parser.cc
|
||||
opendbc/can/parser.py
|
||||
opendbc/can/parser_pyx.pyx
|
||||
opendbc/can/process_dbc.py
|
||||
opendbc/can/dbc_out/.gitkeep
|
||||
opendbc/can/dbc_out/.gitignore
|
||||
|
||||
opendbc/chrysler_pacifica_2017_hybrid.dbc
|
||||
opendbc/chrysler_pacifica_2017_hybrid_private_fusion.dbc
|
||||
|
||||
opendbc/gm_global_a_powertrain.dbc
|
||||
opendbc/gm_global_a_object.dbc
|
||||
opendbc/gm_global_a_chassis.dbc
|
||||
|
||||
opendbc/ford_fusion_2018_pt.dbc
|
||||
opendbc/ford_fusion_2018_adas.dbc
|
||||
|
||||
opendbc/honda_accord_2018_can_generated.dbc
|
||||
opendbc/acura_ilx_2016_can_generated.dbc
|
||||
opendbc/acura_rdx_2018_can_generated.dbc
|
||||
opendbc/acura_rdx_2020_can_generated.dbc
|
||||
opendbc/honda_civic_touring_2016_can_generated.dbc
|
||||
opendbc/honda_civic_hatchback_ex_2017_can_generated.dbc
|
||||
opendbc/honda_civic_sedan_16_diesel_2019_can_generated.dbc
|
||||
opendbc/honda_crv_touring_2016_can_generated.dbc
|
||||
opendbc/honda_crv_ex_2017_can_generated.dbc
|
||||
opendbc/honda_crv_ex_2017_body_generated.dbc
|
||||
opendbc/honda_crv_executive_2016_can_generated.dbc
|
||||
opendbc/honda_crv_hybrid_2019_can_generated.dbc
|
||||
opendbc/honda_fit_ex_2018_can_generated.dbc
|
||||
opendbc/honda_hrv_touring_2019_can_generated.dbc
|
||||
opendbc/honda_odyssey_exl_2018_generated.dbc
|
||||
opendbc/honda_odyssey_extreme_edition_2018_china_can_generated.dbc
|
||||
opendbc/honda_pilot_touring_2017_can_generated.dbc
|
||||
opendbc/honda_ridgeline_black_edition_2017_can_generated.dbc
|
||||
opendbc/honda_insight_ex_2019_can_generated.dbc
|
||||
opendbc/acura_ilx_2016_nidec.dbc
|
||||
|
||||
opendbc/hyundai_kia_generic.dbc
|
||||
|
||||
opendbc/mazda_2017.dbc
|
||||
|
||||
opendbc/nissan_x_trail_2017.dbc
|
||||
opendbc/nissan_leaf_2018.dbc
|
||||
|
||||
opendbc/subaru_global_2017_generated.dbc
|
||||
opendbc/subaru_outback_2015_generated.dbc
|
||||
opendbc/subaru_outback_2019_generated.dbc
|
||||
opendbc/subaru_forester_2017_generated.dbc
|
||||
|
||||
opendbc/toyota_rav4_hybrid_2017_pt_generated.dbc
|
||||
opendbc/toyota_rav4_2017_pt_generated.dbc
|
||||
opendbc/toyota_prius_2017_pt_generated.dbc
|
||||
opendbc/toyota_corolla_2017_pt_generated.dbc
|
||||
opendbc/lexus_rx_350_2016_pt_generated.dbc
|
||||
opendbc/lexus_rx_hybrid_2017_pt_generated.dbc
|
||||
opendbc/toyota_nodsu_pt_generated.dbc
|
||||
opendbc/toyota_nodsu_hybrid_pt_generated.dbc
|
||||
opendbc/toyota_camry_hybrid_2018_pt_generated.dbc
|
||||
opendbc/toyota_highlander_2017_pt_generated.dbc
|
||||
opendbc/toyota_highlander_hybrid_2018_pt_generated.dbc
|
||||
opendbc/toyota_avalon_2017_pt_generated.dbc
|
||||
opendbc/toyota_sienna_xle_2018_pt_generated.dbc
|
||||
opendbc/lexus_is_2018_pt_generated.dbc
|
||||
opendbc/lexus_ct200h_2018_pt_generated.dbc
|
||||
opendbc/lexus_nx300h_2018_pt_generated.dbc
|
||||
opendbc/lexus_nx300_2018_pt_generated.dbc
|
||||
opendbc/toyota_adas.dbc
|
||||
opendbc/toyota_tss2_adas.dbc
|
||||
|
||||
opendbc/vw_mqb_2010.dbc
|
||||
|
||||
opendbc/tesla_can.dbc
|
||||
3
release/files_pc
Normal file
@@ -0,0 +1,3 @@
|
||||
phonelibs/mapbox-gl-native-qt/x86_64/**
|
||||
|
||||
phonelibs/qt-plugins/x86_64/**
|
||||
27
release/files_tici
Normal file
@@ -0,0 +1,27 @@
|
||||
installer/continue_openpilot.sh
|
||||
|
||||
phonelibs/mapbox-gl-native-qt/include/*
|
||||
|
||||
selfdrive/timezoned.py
|
||||
|
||||
selfdrive/assets/navigation/*
|
||||
selfdrive/assets/training_wide/*
|
||||
selfdrive/assets/sounds_tici/*
|
||||
|
||||
selfdrive/camerad/cameras/camera_qcom2.cc
|
||||
selfdrive/camerad/cameras/camera_qcom2.h
|
||||
selfdrive/camerad/cameras/real_debayer.cl
|
||||
|
||||
selfdrive/hardware/tici/__init__.py
|
||||
selfdrive/hardware/tici/hardware.h
|
||||
selfdrive/hardware/tici/hardware.py
|
||||
selfdrive/hardware/tici/pins.py
|
||||
selfdrive/hardware/tici/agnos.py
|
||||
selfdrive/hardware/tici/agnos.json
|
||||
selfdrive/hardware/tici/amplifier.py
|
||||
selfdrive/hardware/tici/updater
|
||||
|
||||
selfdrive/ui/qt/spinner_larch64
|
||||
selfdrive/ui/qt/text_larch64
|
||||
selfdrive/ui/qt/maps/*.cc
|
||||
selfdrive/ui/qt/maps/*.h
|
||||
5
release/identity.sh
Normal file
@@ -0,0 +1,5 @@
|
||||
export GIT_COMMITTER_NAME="Vehicle Researcher"
|
||||
export GIT_COMMITTER_EMAIL="user@comma.ai"
|
||||
export GIT_AUTHOR_NAME="Vehicle Researcher"
|
||||
export GIT_AUTHOR_EMAIL="user@comma.ai"
|
||||
export GIT_SSH_COMMAND="ssh -i /data/gitkey"
|
||||
1
selfdrive/assets/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.cc
|
||||
15
selfdrive/assets/assets.qrc
Normal file
@@ -0,0 +1,15 @@
|
||||
<!DOCTYPE RCC><RCC version="1.0">
|
||||
<qresource>
|
||||
<file>img_continue_triangle.svg</file>
|
||||
<file>img_circled_check.svg</file>
|
||||
<file>img_circled_slash.svg</file>
|
||||
<file>img_eye_open.svg</file>
|
||||
<file>img_eye_closed.svg</file>
|
||||
<file>offroad/icon_lock_closed.svg</file>
|
||||
<file>offroad/icon_checkmark.svg</file>
|
||||
<file>offroad/icon_wifi_strength_low.svg</file>
|
||||
<file>offroad/icon_wifi_strength_medium.svg</file>
|
||||
<file>offroad/icon_wifi_strength_high.svg</file>
|
||||
<file>offroad/icon_wifi_strength_full.svg</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
4
selfdrive/assets/img_circled_check.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg width="104" height="104" viewBox="0 0 104 104" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M76.3 36L43.8 67.7L28 51.9" stroke="white" stroke-width="7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M52 101.5C79.3381 101.5 101.5 79.3381 101.5 52C101.5 24.6619 79.3381 2.5 52 2.5C24.6619 2.5 2.5 24.6619 2.5 52C2.5 79.3381 24.6619 101.5 52 101.5Z" stroke="white" stroke-width="5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 439 B |
4
selfdrive/assets/img_circled_slash.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg width="104" height="104" viewBox="0 0 104 104" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M52 98C77.4051 98 98 77.4051 98 52C98 26.5949 77.4051 6 52 6C26.5949 6 6 26.5949 6 52C6 77.4051 26.5949 98 52 98Z" stroke="#696969" stroke-width="12"/>
|
||||
<path d="M19 85L85 19" stroke="#696969" stroke-width="12"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 328 B |
3
selfdrive/assets/img_continue_triangle.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="54" height="106" viewBox="0 0 54 106" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M4.01946 4.01488L47.249 54.0666L6.1184 102.141" stroke="white" stroke-width="10"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 197 B |
5
selfdrive/assets/img_eye_closed.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg width="81" height="54" viewBox="0 0 81 54" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M56.4845 7.63065C51.7905 6.01921 46.5684 5 40.8516 5C23.3024 5 10.5368 14.4989 3.27501 21.356C-0.113807 24.5209 -0.113807 29.4791 3.27501 32.644C5.49715 34.7423 8.23466 37.088 11.4669 39.3332L16.0284 36.1208C11.8215 33.3047 8.50721 30.4206 6.47928 28.5297C5.63207 27.6857 5.63207 26.5253 6.47928 25.6813C11.6835 20.7231 25.4809 9.32967 40.8516 9.32967C44.5542 9.32967 48.1656 9.99692 51.5875 11.0793L56.4845 7.63065ZM70.3373 14.7537L65.6283 18.0699C69.8565 20.9236 73.194 23.8528 75.2239 25.7868C75.9501 26.5253 75.9501 27.5802 75.2239 28.3187C70.0197 33.2769 56.3434 44.7758 40.8516 44.7758C37.1452 44.7758 33.5427 44.1237 30.1353 43.0649L25.3547 46.4316C30.0041 48.0071 35.1778 49 40.8516 49C58.4009 49 71.2875 39.5011 78.5492 32.433C81.817 29.2681 81.817 24.5209 78.5492 21.4615C76.3287 19.3647 73.5822 17.0111 70.3373 14.7537Z" fill="#BDBDBD"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M46.1473 14.9103C44.5479 14.113 42.757 13.6667 40.8663 13.6667C34.0916 13.6667 28.5996 19.3974 28.5996 26.4667C28.5996 26.7303 28.6073 26.9922 28.6223 27.2519L46.1473 14.9103ZM36.6377 38.4858C37.9559 38.9909 39.3802 39.2667 40.8663 39.2667C47.5104 39.2667 52.9208 33.7546 53.1269 26.8737L36.6377 38.4858Z" fill="#BDBDBD"/>
|
||||
<line x1="73.2745" y1="4.18015" x2="7.18015" y2="50.7255" stroke="#BDBDBD" stroke-width="6" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
4
selfdrive/assets/img_eye_open.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg width="81" height="44" viewBox="0 0 81 44" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<ellipse cx="40.8663" cy="21.4667" rx="12.2667" ry="12.8" fill="#BDBDBD"/>
|
||||
<path d="M40.8516 44C23.3024 44 10.5368 34.5011 3.27501 27.644C-0.113807 24.4791 -0.113807 19.5209 3.27501 16.356C10.5368 9.4989 23.3024 0 40.8516 0C58.4009 0 71.2875 9.6044 78.5492 16.4615C81.817 19.5209 81.817 24.2681 78.5492 27.433C71.2875 34.5011 58.4009 44 40.8516 44ZM6.47928 20.6813C5.63207 21.5253 5.63207 22.6857 6.47928 23.5297C11.6835 28.3824 25.3598 39.7758 40.8516 39.7758C56.3434 39.7758 70.0197 28.2769 75.2239 23.3187C75.9501 22.5802 75.9501 21.5253 75.2239 20.7868C70.0197 15.8286 56.2223 4.32967 40.8516 4.32967C25.4809 4.32967 11.6835 15.7231 6.47928 20.6813Z" fill="#BDBDBD"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 775 B |
BIN
selfdrive/assets/navigation/direction_arrive.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
selfdrive/assets/navigation/direction_arrive_left.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
selfdrive/assets/navigation/direction_arrive_right.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
selfdrive/assets/navigation/direction_arrive_straight.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
selfdrive/assets/navigation/direction_close.png
Normal file
|
After Width: | Height: | Size: 865 B |
BIN
selfdrive/assets/navigation/direction_continue.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
selfdrive/assets/navigation/direction_continue_left.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
selfdrive/assets/navigation/direction_continue_right.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
selfdrive/assets/navigation/direction_continue_slight_left.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
selfdrive/assets/navigation/direction_continue_slight_right.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
selfdrive/assets/navigation/direction_continue_straight.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
selfdrive/assets/navigation/direction_continue_uturn.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
selfdrive/assets/navigation/direction_depart.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
selfdrive/assets/navigation/direction_depart_left.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
selfdrive/assets/navigation/direction_depart_right.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
selfdrive/assets/navigation/direction_depart_straight.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
selfdrive/assets/navigation/direction_end_of_road_left.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
selfdrive/assets/navigation/direction_end_of_road_right.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
selfdrive/assets/navigation/direction_flag.png
Normal file
|
After Width: | Height: | Size: 658 B |
BIN
selfdrive/assets/navigation/direction_fork.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
selfdrive/assets/navigation/direction_fork_left.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
selfdrive/assets/navigation/direction_fork_right.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
selfdrive/assets/navigation/direction_fork_slight_left.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
selfdrive/assets/navigation/direction_fork_slight_right.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
selfdrive/assets/navigation/direction_fork_straight.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
selfdrive/assets/navigation/direction_invalid.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
selfdrive/assets/navigation/direction_invalid_left.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
selfdrive/assets/navigation/direction_invalid_right.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
selfdrive/assets/navigation/direction_invalid_slight_left.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
selfdrive/assets/navigation/direction_invalid_slight_right.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
selfdrive/assets/navigation/direction_invalid_straight.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
selfdrive/assets/navigation/direction_invalid_uturn.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
selfdrive/assets/navigation/direction_merge_left.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
selfdrive/assets/navigation/direction_merge_right.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
selfdrive/assets/navigation/direction_merge_slight_left.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
selfdrive/assets/navigation/direction_merge_slight_right.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
selfdrive/assets/navigation/direction_merge_straight.png
Normal file
|
After Width: | Height: | Size: 113 B |
BIN
selfdrive/assets/navigation/direction_new_name_left.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
selfdrive/assets/navigation/direction_new_name_right.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
selfdrive/assets/navigation/direction_new_name_sharp_left.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
selfdrive/assets/navigation/direction_new_name_sharp_right.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
selfdrive/assets/navigation/direction_new_name_slight_left.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
selfdrive/assets/navigation/direction_new_name_slight_right.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
selfdrive/assets/navigation/direction_new_name_straight.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
selfdrive/assets/navigation/direction_notificaiton_right.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
BIN
selfdrive/assets/navigation/direction_notification_left.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
BIN
selfdrive/assets/navigation/direction_notification_straight.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
selfdrive/assets/navigation/direction_off_ramp_left.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
selfdrive/assets/navigation/direction_off_ramp_right.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
selfdrive/assets/navigation/direction_off_ramp_slight_left.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
selfdrive/assets/navigation/direction_off_ramp_slight_right.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
selfdrive/assets/navigation/direction_on_ramp_left.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
selfdrive/assets/navigation/direction_on_ramp_right.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
selfdrive/assets/navigation/direction_on_ramp_sharp_left.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
selfdrive/assets/navigation/direction_on_ramp_sharp_right.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
selfdrive/assets/navigation/direction_on_ramp_slight_left.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
selfdrive/assets/navigation/direction_on_ramp_slight_right.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
selfdrive/assets/navigation/direction_on_ramp_straight.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
selfdrive/assets/navigation/direction_rotary.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
selfdrive/assets/navigation/direction_rotary_left.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
selfdrive/assets/navigation/direction_rotary_right.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
selfdrive/assets/navigation/direction_rotary_sharp_left.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
selfdrive/assets/navigation/direction_rotary_sharp_right.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
selfdrive/assets/navigation/direction_rotary_slight_left.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
selfdrive/assets/navigation/direction_rotary_slight_right.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |