fix:雷达距离调节改为厘米和分米
This commit is contained in:
111
web.py
111
web.py
@@ -903,14 +903,36 @@ class RenderWorker(threading.Thread):
|
||||
|
||||
# 雷达信息
|
||||
if cfg.get("show_radar", 1):
|
||||
unit_str = "厘米" if cfg.get("radar_unit", 0) else "分米"
|
||||
dist_val = (radar_dist * 10 if cfg.get("radar_unit", 0)
|
||||
else radar_dist)
|
||||
alarm_d = cfg.get("radar_alarm_dist", 50)
|
||||
rc = ((255, 80, 80) if dist_val <= alarm_d else (180, 220, 255))
|
||||
texts.append((bw + 10, 48,
|
||||
f"雷达: {dist_val} {unit_str} 报警值: {alarm_d}{unit_str}",
|
||||
rc, 26))
|
||||
radar_dist_dm = radar_dist # 原始数据是分米
|
||||
alarm_d_dm = cfg.get("radar_alarm_dist", 50) # 报警值单位也是分米
|
||||
|
||||
# 当距离大于60分米(6米)时不显示
|
||||
if radar_dist_dm > 60:
|
||||
pass # 不显示
|
||||
else:
|
||||
# 转换为米(保留1位小数)或厘米
|
||||
if radar_dist_dm >= 10: # 大于等于1米,用米显示
|
||||
dist_val = radar_dist_dm / 10.0
|
||||
unit_str = "米"
|
||||
dist_text = f"{dist_val:.1f}"
|
||||
else: # 小于1米,用厘米显示
|
||||
dist_val = radar_dist_dm * 10
|
||||
unit_str = "厘米"
|
||||
dist_text = f"{dist_val:.0f}"
|
||||
|
||||
# 报警值也转换为对应单位
|
||||
if alarm_d_dm >= 10:
|
||||
alarm_val = alarm_d_dm / 10.0
|
||||
alarm_unit = "米"
|
||||
alarm_text = f"{alarm_val:.1f}"
|
||||
else:
|
||||
alarm_val = alarm_d_dm * 10
|
||||
alarm_unit = "厘米"
|
||||
alarm_text = f"{alarm_val:.0f}"
|
||||
|
||||
# 颜色逻辑:使用转换后的分米值进行比较(报警值原始单位是分米)
|
||||
rc = ((255, 80, 80) if radar_dist_dm <= alarm_d_dm else (180, 220, 255))
|
||||
texts.append((10, sh-108, f"雷达: {dist_text}{unit_str} 报警值: {alarm_text}{alarm_unit}", rc, 22))
|
||||
|
||||
# 停机状态
|
||||
stop_text = "已停机" if is_stopped else "运行中"
|
||||
@@ -984,11 +1006,36 @@ class RenderWorker(threading.Thread):
|
||||
|
||||
# 雷达信息
|
||||
if cfg.get("show_radar", 1):
|
||||
unit_str = "厘米" if cfg.get("radar_unit", 0) else "分米"
|
||||
dist_val = (radar_dist * 10 if cfg.get("radar_unit", 0) else radar_dist)
|
||||
alarm_d = cfg.get("radar_alarm_dist", 50)
|
||||
rc = ((255, 80, 80) if dist_val <= alarm_d else (180, 220, 255))
|
||||
texts.append((10, sh-108, f"雷达: {dist_val} {unit_str} 报警值: {alarm_d}{unit_str}", rc, 22))
|
||||
radar_dist_dm = radar_dist # 原始数据是分米
|
||||
alarm_d_dm = cfg.get("radar_alarm_dist", 50) # 报警值单位也是分米
|
||||
|
||||
# 当距离大于60分米(6米)时不显示
|
||||
if radar_dist_dm > 60:
|
||||
pass # 不显示
|
||||
else:
|
||||
# 转换为米(保留1位小数)或厘米
|
||||
if radar_dist_dm >= 10: # 大于等于1米,用米显示
|
||||
dist_val = radar_dist_dm / 10.0
|
||||
unit_str = "米"
|
||||
dist_text = f"{dist_val:.1f}"
|
||||
else: # 小于1米,用厘米显示
|
||||
dist_val = radar_dist_dm * 10
|
||||
unit_str = "厘米"
|
||||
dist_text = f"{dist_val:.0f}"
|
||||
|
||||
# 报警值也转换为对应单位
|
||||
if alarm_d_dm >= 10:
|
||||
alarm_val = alarm_d_dm / 10.0
|
||||
alarm_unit = "米"
|
||||
alarm_text = f"{alarm_val:.1f}"
|
||||
else:
|
||||
alarm_val = alarm_d_dm * 10
|
||||
alarm_unit = "厘米"
|
||||
alarm_text = f"{alarm_val:.0f}"
|
||||
|
||||
# 颜色逻辑:使用转换后的分米值进行比较(报警值原始单位是分米)
|
||||
rc = ((255, 80, 80) if radar_dist_dm <= alarm_d_dm else (180, 220, 255))
|
||||
texts.append((10, sh-108, f"雷达: {dist_text}{unit_str} 报警值: {alarm_text}{alarm_unit}", rc, 22))
|
||||
|
||||
# 状态信息
|
||||
stop_text = "已停机" if is_stopped else "运行中"
|
||||
@@ -1055,11 +1102,37 @@ class RenderWorker(threading.Thread):
|
||||
|
||||
# 雷达信息
|
||||
if cfg.get("show_radar", 1):
|
||||
unit_str = "厘米" if cfg.get("radar_unit", 0) else "分米"
|
||||
dist_val = (radar_dist * 10 if cfg.get("radar_unit", 0) else radar_dist)
|
||||
alarm_d = cfg.get("radar_alarm_dist", 50)
|
||||
rc = ((255, 80, 80) if dist_val <= alarm_d else (180, 220, 255))
|
||||
texts.append((bw+10, sh-80, f"雷达: {dist_val} {unit_str} 阈值: {alarm_d}{unit_str}", rc, 22))
|
||||
radar_dist_dm = radar_dist # 原始数据是分米
|
||||
alarm_d_dm = cfg.get("radar_alarm_dist", 50) # 报警值单位也是分米
|
||||
|
||||
# 当距离大于60分米(6米)时不显示
|
||||
if radar_dist_dm > 60:
|
||||
pass # 不显示
|
||||
else:
|
||||
# 转换为米(保留1位小数)或厘米
|
||||
if radar_dist_dm >= 10: # 大于等于1米,用米显示
|
||||
dist_val = radar_dist_dm / 10.0
|
||||
unit_str = "米"
|
||||
dist_text = f"{dist_val:.1f}"
|
||||
else: # 小于1米,用厘米显示
|
||||
dist_val = radar_dist_dm * 10
|
||||
unit_str = "厘米"
|
||||
dist_text = f"{dist_val:.0f}"
|
||||
|
||||
# 报警值也转换为对应单位
|
||||
if alarm_d_dm >= 10:
|
||||
alarm_val = alarm_d_dm / 10.0
|
||||
alarm_unit = "米"
|
||||
alarm_text = f"{alarm_val:.1f}"
|
||||
else:
|
||||
alarm_val = alarm_d_dm * 10
|
||||
alarm_unit = "厘米"
|
||||
alarm_text = f"{alarm_val:.0f}"
|
||||
|
||||
# 颜色逻辑:使用转换后的分米值进行比较(报警值原始单位是分米)
|
||||
rc = ((255, 80, 80) if radar_dist_dm <= alarm_d_dm else (180, 220, 255))
|
||||
texts.append((10, sh-108, f"雷达: {dist_text}{unit_str} 报警值: {alarm_text}{alarm_unit}", rc, 22))
|
||||
|
||||
|
||||
# 状态信息
|
||||
stop_text = "已停机" if is_stopped else "运行中"
|
||||
@@ -1493,7 +1566,7 @@ class SettingsPanel(QWidget):
|
||||
"key":"radar_alarm_dist", "min":5, "max":50, "step":5},
|
||||
{"name":"雷达距离单位", "type":"toggle",
|
||||
"key":"radar_unit",
|
||||
"values":[0, 1], "labels":["分米", "厘米"]},
|
||||
"values":[0, 1], "labels":["米", "厘米"]},
|
||||
{"name":"显示雷达距离", "type":"toggle",
|
||||
"key":"show_radar",
|
||||
"values":[0, 1], "labels":["关闭", "开启"]},
|
||||
|
||||
Reference in New Issue
Block a user