openpilot v0.3.7 tweaks
old-commit-hash: 8385b27cad0cdf6a358561deb5c092451e99ce83
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -4,6 +4,7 @@
|
||||
.idea
|
||||
model2.png
|
||||
|
||||
*.DSYM
|
||||
*.d
|
||||
*.pyc
|
||||
*.pyo
|
||||
|
||||
2
opendbc
2
opendbc
Submodule opendbc updated: 063032ff2b...e25689edc1
@@ -2,6 +2,8 @@
|
||||
import os
|
||||
import sys
|
||||
|
||||
from selfdrive.swaglog import cloudlog
|
||||
|
||||
if os.getenv("NOLOG") or os.getenv("NOCRASH"):
|
||||
def capture_exception(*exc_info):
|
||||
pass
|
||||
@@ -18,7 +20,9 @@ else:
|
||||
client = Client('https://1994756b5e6f41cf939a4c65de45f4f2:cefebaf3a8aa40d182609785f7189bd7@app.getsentry.com/77924',
|
||||
install_sys_hook=False, transport=HTTPTransport)
|
||||
|
||||
capture_exception = client.captureException
|
||||
def capture_exception(*args, **kwargs):
|
||||
client.captureException(*args, **kwargs)
|
||||
cloudlog.error("crash", exc_info=kwargs.get('exc_info', 1))
|
||||
|
||||
def bind_user(**kwargs):
|
||||
client.user_context(kwargs)
|
||||
@@ -31,6 +35,6 @@ else:
|
||||
__excepthook__ = sys.excepthook
|
||||
def handle_exception(*exc_info):
|
||||
if exc_info[0] not in (KeyboardInterrupt, SystemExit):
|
||||
client.captureException(exc_info=exc_info)
|
||||
capture_exception(exc_info=exc_info)
|
||||
__excepthook__(*exc_info)
|
||||
sys.excepthook = handle_exception
|
||||
@@ -36,8 +36,8 @@ import selfdrive.messaging as messaging
|
||||
from selfdrive.thermal import read_thermal
|
||||
from selfdrive.registration import register
|
||||
from selfdrive.version import version
|
||||
import selfdrive.crash as crash
|
||||
|
||||
import common.crash as crash
|
||||
from common.params import Params
|
||||
|
||||
from selfdrive.loggerd.config import ROOT
|
||||
|
||||
@@ -61,6 +61,7 @@ def report_tombstone(fn, client):
|
||||
user={'id': os.environ.get('DONGLE_ID')},
|
||||
message=message,
|
||||
)
|
||||
cloudlog.error({"tombstone": message})
|
||||
|
||||
|
||||
def main(gctx):
|
||||
|
||||
@@ -32,6 +32,11 @@
|
||||
|
||||
#include "cereal/gen/c/log.capnp.h"
|
||||
|
||||
// Calibration status values from controlsd.py
|
||||
#define CALIBRATION_UNCALIBRATED 0
|
||||
#define CALIBRATION_CALIBRATED 1
|
||||
#define CALIBRATION_INVALID 2
|
||||
|
||||
#define UI_BUF_COUNT 4
|
||||
|
||||
typedef struct UIScene {
|
||||
@@ -48,7 +53,6 @@ typedef struct UIScene {
|
||||
float mpc_y[50];
|
||||
|
||||
bool world_objects_visible;
|
||||
// TODO(mgraczyk): Remove and use full frame for everything.
|
||||
mat3 warp_matrix; // transformed box -> frame.
|
||||
mat4 extrinsic_matrix; // Last row is 0 so we can use mat4.
|
||||
|
||||
@@ -68,6 +72,10 @@ typedef struct UIScene {
|
||||
char alert_text2[1024];
|
||||
|
||||
float awareness_status;
|
||||
|
||||
// Used to display calibration progress
|
||||
int cal_status;
|
||||
int cal_perc;
|
||||
} UIScene;
|
||||
|
||||
typedef struct UIState {
|
||||
@@ -844,6 +852,25 @@ static void ui_draw_vision(UIState *s) {
|
||||
255 * scene->awareness_status, 0, 128));
|
||||
nvgFill(s->vg);
|
||||
}
|
||||
|
||||
// Draw calibration progress (if needed)
|
||||
if (scene->cal_status == CALIBRATION_UNCALIBRATED && scene->cal_perc > 0) {
|
||||
int rec_width = 1020;
|
||||
int x_pos = 470;
|
||||
nvgBeginPath(s->vg);
|
||||
nvgStrokeWidth(s->vg, 14);
|
||||
nvgRoundedRect(s->vg, (1920-rec_width)/2, 970, rec_width, 100, 20);
|
||||
nvgStroke(s->vg);
|
||||
nvgFillColor(s->vg, nvgRGBA(10,100,220,180));
|
||||
nvgFill(s->vg);
|
||||
|
||||
nvgFontSize(s->vg, labelfontsize);
|
||||
nvgTextAlign(s->vg, NVG_ALIGN_LEFT | NVG_ALIGN_BASELINE);
|
||||
nvgFillColor(s->vg, nvgRGBA(255, 255, 255, 220));
|
||||
char calib_status_str[32];
|
||||
snprintf(calib_status_str, sizeof(calib_status_str), "Calibration In Progress: %d%%", scene->cal_perc);
|
||||
nvgText(s->vg, x_pos, 1040, calib_status_str, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
nvgEndFrame(s->vg);
|
||||
@@ -1138,6 +1165,9 @@ static void ui_update(UIState *s) {
|
||||
struct cereal_LiveCalibrationData datad;
|
||||
cereal_read_LiveCalibrationData(&datad, eventd.liveCalibration);
|
||||
|
||||
s->scene.cal_status = datad.calStatus;
|
||||
s->scene.cal_perc = datad.calPerc;
|
||||
|
||||
// should we still even have this?
|
||||
capn_list32 warpl = datad.warpMatrix2;
|
||||
capn_resolve(&warpl.p); // is this a bug?
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a5078532dfc830e278a83b885c19f8e7a2a7073ea3f3bb389f2323702f40cb6b
|
||||
oid sha256:973fdfae18bb0b5c33b107d06241d22e11f6794468c8327d413874aad5945ff0
|
||||
size 13285152
|
||||
|
||||
Reference in New Issue
Block a user