You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added separate public entry points flutter_rtc_link_device.dart (provisioning, OTA, logs, diagnostics, generic BLE) and flutter_rtc_link_robot.dart (teleoperation, BLE control link), so an app that only needs media no longer compiles those modules, and added tool/check_module_boundaries.dart to enforce the module directions in CI.
新增独立公开入口 flutter_rtc_link_device.dart(配网、OTA、日志、诊断、通用 BLE)与 flutter_rtc_link_robot.dart(遥控、BLE 控制链路),只需要媒体能力的应用不再编译这些模块,并新增 tool/check_module_boundaries.dart 在 CI 中强制校验模块依赖方向。
Added RobotEvent, a sealed hierarchy in robot/robot_events.dart that takes over the telemetry, pause / resume, stale-drop and watchdog events previously hanging off DeviceEvent.
Added NfcTagBackend and WifiNetworkConnector: injectable adapters so the NFC and Wi-Fi stacks are supplied by the app instead of being forced on every consumer of the plugin.
Changed the public barrel flutter_rtc_link.dart to export the media core only: device and robot symbols must now be imported from flutter_rtc_link_device.dart / flutter_rtc_link_robot.dart (breaking, no compatibility shim).
Changed core/ into a dependency-free shared kernel: DeviceEvent moved to device/device_events.dart, MqttCredentials to core/rtc_credentials.dart and BleDevice to ble/ble_device.dart, so core and resilience no longer depend on device, robot, ble or platforms.
Changed RobotController.events to emit Stream<RobotEvent> instead of Stream<DeviceEvent>; DeviceEvent keeps only provisioning, OTA, log and diagnostics events.
Changed NfcProvisioningChannelImpl to require an NfcTagBackend, and renamed WifiIotSoftApChannel to SoftApProvisioningChannelImpl with a required WifiNetworkConnector; the demo app wires both with nfc_manager and wifi_iot.
Dropped the unused nordic_dfu dependency and removed ndef_record, nfc_manager and wifi_iot from the published package, cutting four native plugin integrations (and their merged Android permissions) from every install.