remove temp/battery level display to fix black/freeze screen.

This commit is contained in:
dragonpilot
2020-01-31 17:18:40 +10:00
parent 41b72be473
commit ea3be014b3
3 changed files with 48 additions and 61 deletions
+6 -18
View File
@@ -813,14 +813,6 @@ static void ui_draw_infobar(UIState *s) {
localtime_r(&rawtime, &timeinfo);
strftime(date_time, sizeof(date_time),"%D %T", &timeinfo);
// Create temp string
char temp[7];
snprintf(temp, sizeof(temp), "% 3d°C", s->scene.pa0);
// create battery percentage string
char battery[5];
snprintf(battery, sizeof(battery), "% 3d%%", s->scene.batteryPercent);
if (s->dragon_ui_dev_mini) {
char rel_steer[9];
snprintf(rel_steer, sizeof(rel_steer), "%s% 5.1f°", s->scene.angleSteers < 0? "-" : "+", fabs(s->scene.angleSteers));
@@ -842,10 +834,8 @@ static void ui_draw_infobar(UIState *s) {
snprintf(
infobar,
sizeof(infobar),
"%s /TMP: %s /BAT: %s /REL: %s /DES: %s /DIS: %s",
"%s /REL: %s /DES: %s /DIS: %s",
date_time,
temp,
battery,
rel_steer,
des_steer,
lead_dist
@@ -854,10 +844,8 @@ static void ui_draw_infobar(UIState *s) {
snprintf(
infobar,
sizeof(infobar),
"%s /TMP: %s /BAT: %s",
date_time,
temp,
battery
"%s",
date_time
);
}
@@ -1297,11 +1285,11 @@ void ui_nvg_init(UIState *s) {
s->font_courbd = nvgCreateFont(s->vg, "courbd", "../assets/fonts/courbd.ttf");
assert(s->font_courbd >= 0);
s->font_sans_regular = nvgCreateFont(s->vg, "sans-regular", "../../dragonpilot/chinese-fonts/NotoSansCJKtc-Regular.otf");
s->font_sans_regular = nvgCreateFont(s->vg, "sans-regular", "../assets/fonts/opensans_regular.ttf");
assert(s->font_sans_regular >= 0);
s->font_sans_semibold = nvgCreateFont(s->vg, "sans-semibold", "../../dragonpilot/chinese-fonts/NotoSansCJKtc-Medium.otf");
s->font_sans_semibold = nvgCreateFont(s->vg, "sans-semibold", "../assets/fonts/opensans_semibold.ttf");
assert(s->font_sans_semibold >= 0);
s->font_sans_bold = nvgCreateFont(s->vg, "sans-bold", "../../dragonpilot/chinese-fonts/NotoSansCJKtc-Bold.otf");
s->font_sans_bold = nvgCreateFont(s->vg, "sans-bold", "../assets/fonts/opensans_bold.ttf");
assert(s->font_sans_bold >= 0);
assert(s->img_wheel >= 0);
+28 -39
View File
@@ -237,7 +237,20 @@ static void ui_init_vision(UIState *s, const VisionStreamBufs back_bufs,
s->limit_set_speed_timeout = UI_FREQ;
// dragonpilot, 1hz
s->dragon_ui_timeout = 100;
s->dragon_ui_speed_timeout = UI_FREQ * 3.1;
s->dragon_ui_event_timeout = UI_FREQ * 3.2;
s->dragon_ui_maxspeed_timeout = UI_FREQ * 3.3;
s->dragon_ui_face_timeout = UI_FREQ * 3.4;
s->dragon_ui_dev_timeout = UI_FREQ * 3.5;
s->dragon_ui_dev_mini_timeout = UI_FREQ * 3.6;
s->dragon_enable_dashcam_timeout = UI_FREQ * 3.7;
s->dragon_ui_volume_boost_timeout = UI_FREQ * 3.8;
s->dragon_driving_ui_timeout = UI_FREQ * 3.9;
s->dragon_ui_lane_timeout = UI_FREQ * 4.0;
s->dragon_ui_lead_timeout = UI_FREQ * 4.1;
s->dragon_ui_path_timeout = UI_FREQ * 4.2;
s->dragon_ui_blinker_timeout = UI_FREQ * 4.3;
s->dragon_waze_mode_timeout = UI_FREQ * 4.4;
}
static PathData read_path(cereal_ModelData_PathData_ptr pathp) {
@@ -876,7 +889,6 @@ int main(int argc, char* argv[]) {
set_volume(MIN_VOLUME);
s->volume_timeout = 5 * UI_FREQ;
s->dragon_ui_info_timeout = 5 * UI_FREQ;
int draws = 0;
while (!do_exit) {
bool should_swap = false;
@@ -985,36 +997,13 @@ int main(int argc, char* argv[]) {
s->controls_seen = false;
}
// update ui temp/battery values only when vision is up.
if (s->awake && s->vision_connected) {
if (s->dragon_ui_info_timeout > 0) {
s->dragon_ui_info_timeout--;
} else {
// update temp
int temp = open("/sys/devices/virtual/thermal/thermal_zone25/temp", O_RDONLY);
if (temp >= 0) {
char temp_buf[3];
read(temp, temp_buf, 3);
s->scene.pa0 = atoi(temp_buf);
}
// update battery level
int battery = open("/sys/class/power_supply/battery/capacity", O_RDONLY);
if (battery >= 0) {
char battery_buf[3];
read(battery, battery_buf, 3);
s->scene.batteryPercent = atoi(battery_buf);
}
s->dragon_ui_info_timeout = 5 * UI_FREQ;
}
}
read_param_bool_timeout(&s->is_metric, "IsMetric", &s->is_metric_timeout);
read_param_bool_timeout(&s->longitudinal_control, "LongitudinalControl", &s->longitudinal_control_timeout);
read_param_bool_timeout(&s->limit_set_speed, "LimitSetSpeed", &s->limit_set_speed_timeout);
read_param_float_timeout(&s->speed_lim_off, "SpeedLimitOffset", &s->limit_set_speed_timeout);
// dragonpilot
read_param_float_timeout(&s->dragon_ui_volume_boost, "DragonUIVolumeBoost", &s->dragon_ui_timeout);
read_param_bool_timeout(&s->dragon_waze_mode, "DragonWazeMode", &s->dragon_ui_timeout);
read_param_float_timeout(&s->dragon_ui_volume_boost, "DragonUIVolumeBoost", &s->dragon_ui_volume_boost_timeout);
read_param_bool_timeout(&s->dragon_waze_mode, "DragonWazeMode", &s->dragon_waze_mode_timeout);
if (s->dragon_waze_mode) {
s->dragon_ui_speed = false;
@@ -1030,18 +1019,18 @@ int main(int argc, char* argv[]) {
s->dragon_ui_path = false;
s->dragon_ui_blinker = false;
} else {
read_param_bool_timeout(&s->dragon_ui_speed, "DragonUISpeed", &s->dragon_ui_timeout);
read_param_bool_timeout(&s->dragon_ui_event, "DragonUIEvent", &s->dragon_ui_timeout);
read_param_bool_timeout(&s->dragon_ui_maxspeed, "DragonUIMaxSpeed", &s->dragon_ui_timeout);
read_param_bool_timeout(&s->dragon_ui_face, "DragonUIFace", &s->dragon_ui_timeout);
read_param_bool_timeout(&s->dragon_ui_dev, "DragonUIDev", &s->dragon_ui_timeout);
read_param_bool_timeout(&s->dragon_ui_dev_mini, "DragonUIDevMini", &s->dragon_ui_timeout);
read_param_bool_timeout(&s->dragon_enable_dashcam, "DragonEnableDashcam", &s->dragon_ui_timeout);
read_param_bool_timeout(&s->dragon_driving_ui, "DragonDrivingUI", &s->dragon_ui_timeout);
read_param_bool_timeout(&s->dragon_ui_lane, "DragonUILane", &s->dragon_ui_timeout);
read_param_bool_timeout(&s->dragon_ui_lead, "DragonUILead", &s->dragon_ui_timeout);
read_param_bool_timeout(&s->dragon_ui_path, "DragonUIPath", &s->dragon_ui_timeout);
read_param_bool_timeout(&s->dragon_ui_blinker, "DragonUIBlinker", &s->dragon_ui_timeout);
read_param_bool_timeout(&s->dragon_ui_speed, "DragonUISpeed", &s->dragon_ui_speed_timeout);
read_param_bool_timeout(&s->dragon_ui_event, "DragonUIEvent", &s->dragon_ui_event_timeout);
read_param_bool_timeout(&s->dragon_ui_maxspeed, "DragonUIMaxSpeed", &s->dragon_ui_maxspeed_timeout);
read_param_bool_timeout(&s->dragon_ui_face, "DragonUIFace", &s->dragon_ui_face_timeout);
read_param_bool_timeout(&s->dragon_ui_dev, "DragonUIDev", &s->dragon_ui_dev_timeout);
read_param_bool_timeout(&s->dragon_ui_dev_mini, "DragonUIDevMini", &s->dragon_ui_dev_mini_timeout);
read_param_bool_timeout(&s->dragon_enable_dashcam, "DragonEnableDashcam", &s->dragon_enable_dashcam_timeout);
read_param_bool_timeout(&s->dragon_driving_ui, "DragonDrivingUI", &s->dragon_driving_ui_timeout);
read_param_bool_timeout(&s->dragon_ui_lane, "DragonUILane", &s->dragon_ui_lane_timeout);
read_param_bool_timeout(&s->dragon_ui_lead, "DragonUILead", &s->dragon_ui_lead_timeout);
read_param_bool_timeout(&s->dragon_ui_path, "DragonUIPath", &s->dragon_ui_path_timeout);
read_param_bool_timeout(&s->dragon_ui_blinker, "DragonUIBlinker", &s->dragon_ui_blinker_timeout);
}
pthread_mutex_unlock(&s->lock);
+14 -4
View File
@@ -122,8 +122,6 @@ typedef struct UIScene {
// for minimal UI
float angleSteersDes;
float angleSteers;
int pa0;
int batteryPercent;
// for blinker, from kegman
bool leftBlinker;
@@ -257,8 +255,20 @@ typedef struct UIState {
// dragonpilot
SubSocket *carstate_sock;
int dragon_ui_info_timeout;
int dragon_ui_timeout;
int dragon_ui_speed_timeout;
int dragon_ui_event_timeout;
int dragon_ui_maxspeed_timeout;
int dragon_ui_face_timeout;
int dragon_ui_dev_timeout;
int dragon_ui_dev_mini_timeout;
int dragon_enable_dashcam_timeout;
int dragon_ui_volume_boost_timeout;
int dragon_driving_ui_timeout;
int dragon_ui_lane_timeout;
int dragon_ui_lead_timeout;
int dragon_ui_path_timeout;
int dragon_ui_blinker_timeout;
int dragon_waze_mode_timeout;
bool dragon_ui_speed;
bool dragon_ui_event;