转发接口调整
This commit is contained in:
@@ -661,8 +661,14 @@ async def measure_and_send(req: MeasureAndSendRequest = MeasureAndSendRequest())
|
||||
detail=f"水准仪测量失败: {fm_result.get('error_desc') or fm_result.get('raw_text') or '未知错误'}"
|
||||
)
|
||||
|
||||
r = fm_result.get("staff_reading")
|
||||
hd = fm_result.get("distance")
|
||||
values = fm_result.get("values", [])
|
||||
if len(values) < 1:
|
||||
raise HTTPException(
|
||||
status_code=502,
|
||||
detail=f"数据异常失败: {fm_result}"
|
||||
)
|
||||
r = values[-1]
|
||||
hd = values[-2]
|
||||
if r is None or hd is None:
|
||||
raise HTTPException(
|
||||
status_code=502,
|
||||
@@ -670,7 +676,15 @@ async def measure_and_send(req: MeasureAndSendRequest = MeasureAndSendRequest())
|
||||
)
|
||||
|
||||
# 4. 直接发到手机蓝牙
|
||||
ok = svc.send_measurement(r, hd)
|
||||
try:
|
||||
r = float(r) if r not in (None, "", b"") else 0.0
|
||||
hd = float(hd) if hd not in (None, "", b"") else 0.0
|
||||
except (ValueError, TypeError):
|
||||
raise HTTPException(
|
||||
status_code=502,
|
||||
detail=f"水准仪返回数据错误: {json.dumps(fm_result, ensure_ascii=False)}"
|
||||
)
|
||||
ok = svc.send_measurement(hd, r)
|
||||
|
||||
return {
|
||||
"status": "ok" if ok else "send_error",
|
||||
|
||||
@@ -282,7 +282,7 @@ class DiniClient:
|
||||
self.ser.write(tx_bytes)
|
||||
self.ser.flush()
|
||||
|
||||
time.sleep(2.0 if measure_mode else 0.25)
|
||||
time.sleep(5.0 if measure_mode else 0.25)
|
||||
|
||||
raw = self._read_response()
|
||||
if raw:
|
||||
|
||||
Reference in New Issue
Block a user