auto_poweroff
This commit is contained in:
12
network.py
12
network.py
@@ -1258,6 +1258,7 @@ class NetworkManager:
|
||||
if not laser_manager.calibration_active:
|
||||
laser_manager.turn_on_laser()
|
||||
time.sleep_ms(100)
|
||||
hardware_manager.stop_idle_timer() # 停表
|
||||
if not config.HARDCODE_LASER_POINT:
|
||||
laser_manager.start_calibration()
|
||||
self.safe_enqueue({"result": "calibrating"}, 2)
|
||||
@@ -1268,6 +1269,7 @@ class NetworkManager:
|
||||
from laser_manager import laser_manager
|
||||
laser_manager.turn_off_laser()
|
||||
laser_manager.stop_calibration()
|
||||
hardware_manager.start_idle_timer() # 开表
|
||||
self.safe_enqueue({"result": "laser_off"}, 2)
|
||||
elif inner_cmd == 4: # 上报电量
|
||||
voltage = get_bus_voltage()
|
||||
@@ -1303,6 +1305,8 @@ class NetworkManager:
|
||||
mode = "4g"
|
||||
self.logger.info("ota auto-selected: 4g (WiFi not available or no credentials)")
|
||||
|
||||
hardware_manager.stop_idle_timer() # 停表,注意OTA停表之后,就没有再开表,因为OTA后面会重启,会重新开表
|
||||
|
||||
if mode == "4g":
|
||||
ota_manager._set_ota_url(ota_url) # 记录 OTA URL,供命令7使用
|
||||
ota_manager._start_update_thread()
|
||||
@@ -1348,6 +1352,7 @@ class NetworkManager:
|
||||
self.logger.info("[TEST] 收到TCP射箭触发命令")
|
||||
self._manual_trigger_flag = True
|
||||
self.safe_enqueue({"result": "trigger_ack"}, 2)
|
||||
hardware_manager.start_idle_timer() # 重新计时
|
||||
elif inner_cmd == 42: # 关机命令
|
||||
self.logger.info("[SHUTDOWN] 收到TCP关机命令,准备关机...")
|
||||
self.safe_enqueue({"result": "shutdown_ack"}, 2)
|
||||
@@ -1362,7 +1367,8 @@ class NetworkManager:
|
||||
time.sleep_ms(2000)
|
||||
os.system("sync") # 刷新文件系统缓存到磁盘,防止数据丢失
|
||||
time.sleep_ms(500)
|
||||
os.system("poweroff")
|
||||
# os.system("poweroff")
|
||||
hardware_manager.power_off()
|
||||
return
|
||||
elif inner_cmd == 43: # 上传日志命令
|
||||
# 格式: {"cmd":43, "data":{"ssid":"xxx","password":"xxx","url":"xxx", ...}}
|
||||
@@ -1373,7 +1379,9 @@ class NetworkManager:
|
||||
include_rotated = inner_data.get("include_rotated", True)
|
||||
max_files = inner_data.get("max_files")
|
||||
archive_format = inner_data.get("archive", "tgz") # tgz 或 zip
|
||||
|
||||
|
||||
hardware_manager.start_idle_timer() # 重新计时
|
||||
|
||||
if not upload_url:
|
||||
self.logger.error("[LOG_UPLOAD] 缺少 url 参数")
|
||||
self.safe_enqueue({"result": "log_upload_failed", "reason": "missing_url"}, 2)
|
||||
|
||||
Reference in New Issue
Block a user