feat(device): 启动自动连接 USB 串口 + 隐藏设置页配置项 + 标题栏连接状态
- 新增 AutoSerialConnect 服务:启动后自动连接第一个 USB 串口设备, 固定 115200/8/N/1,连接失败时每 3s 重试,断开后重新进入重试循环 - main.dart 通过 ProviderContainer 在 runApp 之前触发 autoSerialConnectProvider - 移除设置页「串口配置」菜单项及对应面板分支 - StatusBar 在「设备运行状态」前增加串口连接状态指示(已连接/连接中/未连接)
This commit is contained in:
@@ -2,6 +2,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import '../../../core/database/database_service.dart';
|
||||
import '../models/serial_config.dart';
|
||||
import '../services/auto_serial_connect.dart';
|
||||
import '../services/device_message_service.dart';
|
||||
import '../services/json_protocol.dart';
|
||||
import '../services/runner_interface.dart';
|
||||
@@ -15,6 +16,18 @@ final serialPortServiceProvider = Provider<SerialPortService>((ref) {
|
||||
return service;
|
||||
});
|
||||
|
||||
/// 启动自动连接服务
|
||||
///
|
||||
/// 通过 [main] 中的 ProviderContainer 在 runApp 之前触发一次,
|
||||
/// 服务内部立即尝试连接第一个 USB 串口设备,失败时按 3s 间隔重试。
|
||||
final autoSerialConnectProvider = Provider<AutoSerialConnect>((ref) {
|
||||
final service = ref.watch(serialPortServiceProvider);
|
||||
final auto = AutoSerialConnect(service);
|
||||
auto.start();
|
||||
ref.onDispose(auto.dispose);
|
||||
return auto;
|
||||
});
|
||||
|
||||
/// JSON 协议编解码器(可在调试/真机协议不一致时整体替换)
|
||||
final jsonProtocolProvider = Provider<JsonProtocolService>((ref) {
|
||||
return JsonProtocolService();
|
||||
|
||||
Reference in New Issue
Block a user