Skip to content

Commit

Permalink
openpilot v0.3.7 tweaks
Browse files Browse the repository at this point in the history
  • Loading branch information
Vehicle Researcher committed Oct 3, 2017
1 parent abd75ae commit 8385b27
Show file tree
Hide file tree
Showing 7 changed files with 41 additions and 5 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
.idea
model2.png

*.DSYM
*.d
*.pyc
*.pyo
Expand Down
2 changes: 1 addition & 1 deletion opendbc
8 changes: 6 additions & 2 deletions common/crash.py → selfdrive/crash.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -18,7 +20,9 @@ def install():
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)
Expand All @@ -31,6 +35,6 @@ def install():
__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
2 changes: 1 addition & 1 deletion selfdrive/manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@
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
Expand Down
1 change: 1 addition & 0 deletions selfdrive/tombstoned.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down
32 changes: 31 additions & 1 deletion selfdrive/ui/ui.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -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.

Expand All @@ -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 {
Expand Down Expand Up @@ -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) {

This comment has been minimized.

Copy link
@rbiasini

rbiasini Oct 3, 2017

Contributor

better to substitute this line with:
if (scene->cal_status == CALIBRATION_UNCALIBRATED) {
otherwise progress bar does not show up when cal_perc==0

This comment has been minimized.

Copy link
@pjlao307

pjlao307 Oct 3, 2017

Contributor

The only problem with that is you will see the bar when it first goes into the vision screen because cal_status starts off as CALIBRATION_UNCALIBRATED so after a split sec the bar goes away when the real value is set.

This comment has been minimized.

Copy link
@pjlao307

pjlao307 Oct 3, 2017

Contributor

The above scenario is for when it is already calibrated.

This comment has been minimized.

Copy link
@rbiasini

rbiasini Oct 3, 2017

Contributor

yeah, let's just change how cal_status is initialized in ui.c
int cal_status = CALIBRATION_CALIBRATED;

This comment has been minimized.

Copy link
@pjlao307

pjlao307 Oct 3, 2017

Contributor

Coolio, that'll work!

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);
Expand Down Expand Up @@ -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?
Expand Down
Binary file modified selfdrive/visiond/visiond
Binary file not shown.

0 comments on commit 8385b27

Please sign in to comment.