From c9ced7339dc189af2e4cbfc394c027bae73ecde7 Mon Sep 17 00:00:00 2001 From: Naveed Jooma Date: Tue, 1 Aug 2023 14:30:57 -0400 Subject: [PATCH 1/3] [RSDK-4265] Widgets (#78) --- example/viam_example_app/lib/main.dart | 14 +- .../viam_example_app/lib/screens/base.dart | 17 +- .../viam_example_app/lib/screens/stream.dart | 3 +- lib/src/widgets/widgets.dart | 97 ------------ lib/viam_sdk.dart | 3 - lib/widgets.dart | 4 + lib/widgets/button.dart | 146 ++++++++++++++++++ lib/widgets/camera_stream.dart | 55 +++++++ lib/widgets/joystick.dart | 44 ++++++ lib/widgets/resources/base.dart | 64 ++++++++ 10 files changed, 329 insertions(+), 118 deletions(-) delete mode 100644 lib/src/widgets/widgets.dart create mode 100644 lib/widgets.dart create mode 100644 lib/widgets/button.dart create mode 100644 lib/widgets/camera_stream.dart create mode 100644 lib/widgets/joystick.dart create mode 100644 lib/widgets/resources/base.dart diff --git a/example/viam_example_app/lib/main.dart b/example/viam_example_app/lib/main.dart index 312dfdd19c..451614eb4c 100644 --- a/example/viam_example_app/lib/main.dart +++ b/example/viam_example_app/lib/main.dart @@ -8,6 +8,7 @@ import 'package:viam_example_app/screens/sensor.dart'; import 'package:viam_example_app/screens/servo.dart'; import 'package:viam_example_app/screens/stream.dart'; import 'package:viam_sdk/viam_sdk.dart'; +import 'package:viam_sdk/widgets.dart'; void main() { runApp(const MyApp()); @@ -137,10 +138,11 @@ class _MyHomePageState extends State { } if (rname.subtype == Base.subtype.resourceSubtype && _cameraName != null) { return BaseScreen( - base: Base.fromRobot(_robot, rname.name), resourceName: rname, - camera: Camera.fromRobot(_robot, _cameraName!.name), - streamClient: _getStream(_cameraName!)); + base: Base.fromRobot(_robot, rname.name), + cameras: + _robot.resourceNames.where((e) => e.subtype == Camera.subtype.resourceSubtype).map((e) => Camera.fromRobot(_robot, e.name)), + robot: _robot); } if (rname.subtype == Board.subtype.resourceSubtype) { return BoardScreen(board: Board.fromRobot(_robot, rname.name), resourceName: rname); @@ -198,11 +200,7 @@ class _MyHomePageState extends State { ]) : _loading ? PlatformCircularProgressIndicator() - : PlatformElevatedButton( - onPressed: () { - _login(); - }, - child: const Text('Login')), + : ViamButton(onPressed: _login, text: 'Login', role: ViamButtonRole.inverse, style: ViamButtonStyle.filled) ], ), ), diff --git a/example/viam_example_app/lib/screens/base.dart b/example/viam_example_app/lib/screens/base.dart index 9ff51f1ccb..522311db91 100644 --- a/example/viam_example_app/lib/screens/base.dart +++ b/example/viam_example_app/lib/screens/base.dart @@ -1,15 +1,16 @@ import 'package:flutter/material.dart'; import 'package:flutter_platform_widgets/flutter_platform_widgets.dart'; import 'package:viam_sdk/viam_sdk.dart'; +import 'package:viam_sdk/widgets.dart'; class BaseScreen extends StatelessWidget { final Base base; final ResourceName resourceName; - final Camera camera; - final StreamClient streamClient; + final Iterable cameras; + final RobotClient robot; // TODO change BaseScreen to accept camera ResourceName. - const BaseScreen({Key? key, required this.base, required this.resourceName, required this.camera, required this.streamClient}) + const BaseScreen({Key? key, required this.base, required this.resourceName, required this.cameras, required this.robot}) : super(key: key); @override @@ -20,12 +21,10 @@ class BaseScreen extends StatelessWidget { ), iosContentPadding: true, body: Center( - child: Column( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - CameraStreamView(camera: camera, streamClient: streamClient), - BaseJoystick(base: base), - ], + child: ViamBaseScreen( + base: base, + cameras: cameras, + robotClient: robot, ), ), ); diff --git a/example/viam_example_app/lib/screens/stream.dart b/example/viam_example_app/lib/screens/stream.dart index 5bff278740..ad6aed9143 100644 --- a/example/viam_example_app/lib/screens/stream.dart +++ b/example/viam_example_app/lib/screens/stream.dart @@ -5,6 +5,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_platform_widgets/flutter_platform_widgets.dart'; import 'package:image/image.dart' as img; import 'package:viam_sdk/viam_sdk.dart'; +import 'package:viam_sdk/widgets.dart'; class StreamScreen extends StatefulWidget { final Camera camera; @@ -81,7 +82,7 @@ class _StreamScreenState extends State { style: const TextStyle(fontWeight: FontWeight.w300), ), const SizedBox(height: 16), - CameraStreamView(camera: widget.camera, streamClient: widget.client), + ViamCameraStreamView(camera: widget.camera, streamClient: widget.client), const SizedBox(height: 16), if (_imgLoaded) Image.memory(Uint8List.view(imageBytes!.buffer), scale: 3), const SizedBox(height: 16), diff --git a/lib/src/widgets/widgets.dart b/lib/src/widgets/widgets.dart deleted file mode 100644 index 4a43dc8075..0000000000 --- a/lib/src/widgets/widgets.dart +++ /dev/null @@ -1,97 +0,0 @@ -import 'dart:async'; - -import 'package:flutter/widgets.dart'; -import 'package:flutter_joystick/flutter_joystick.dart'; -import 'package:flutter_webrtc/flutter_webrtc.dart'; -import 'package:logger/logger.dart'; -import 'package:viam_sdk/viam_sdk.dart'; - -class CameraStreamView extends StatefulWidget { - final Camera camera; - final StreamClient streamClient; - - const CameraStreamView({super.key, required this.camera, required this.streamClient}); - - @override - State createState() => _CameraStreamViewState(); -} - -class _CameraStreamViewState extends State { - late RTCVideoRenderer _renderer; - late StreamSubscription _streamSub; - - @override - void initState() { - _startStream(); - super.initState(); - } - - @override - void deactivate() { - super.deactivate(); - _renderer.dispose(); - widget.streamClient.closeStream(); - _streamSub.cancel(); - } - - Future _startStream() async { - _renderer = RTCVideoRenderer(); - await _renderer.initialize(); - final stream = widget.streamClient.getStream(); - _streamSub = stream.listen((event) { - _renderer.srcObject = event; - setState(() {}); - }); - - _streamSub.onError((error, trace) => Logger().e(error)); - } - - @override - Widget build(BuildContext context) { - return Container( - constraints: const BoxConstraints(maxHeight: 300), - child: RTCVideoView(_renderer), - ); - } -} - -class BaseJoystick extends StatefulWidget { - const BaseJoystick({ - super.key, - required this.base, - }); - - final Base base; - - @override - State createState() => _BaseJoystickState(); -} - -class _BaseJoystickState extends State { - num y = 0; - num z = 0; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Text('Y: ${y.round()}% Z: ${z.round()}%'), - const SizedBox(height: 16), - Joystick( - listener: (callSetPower), - ) - ], - ); - } - - void callSetPower(StickDragDetails details) { - widget.base.setPower( - Vector3()..y = details.y * -1, - Vector3()..z = details.x * -1, - ); - setState(() { - y = details.y * -100; - z = details.x * -100; - }); - } -} diff --git a/lib/viam_sdk.dart b/lib/viam_sdk.dart index 44701f3086..9ce64de484 100644 --- a/lib/viam_sdk.dart +++ b/lib/viam_sdk.dart @@ -42,6 +42,3 @@ export 'src/rpc/dial.dart' hide AuthenticatedChannel; /// Misc export 'src/viam_sdk.dart'; - -/// Widgets -export 'src/widgets/widgets.dart'; diff --git a/lib/widgets.dart b/lib/widgets.dart new file mode 100644 index 0000000000..1218e130f7 --- /dev/null +++ b/lib/widgets.dart @@ -0,0 +1,4 @@ +export 'widgets/button.dart'; +export 'widgets/camera_stream.dart'; +export 'widgets/joystick.dart'; +export 'widgets/resources/base.dart'; diff --git a/lib/widgets/button.dart b/lib/widgets/button.dart new file mode 100644 index 0000000000..05a94f7189 --- /dev/null +++ b/lib/widgets/button.dart @@ -0,0 +1,146 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/scheduler.dart'; + +enum ViamButtonRole { + primary, + inverse, + success, + danger, + warning; + + Color get backgroundColor { + final brightness = SchedulerBinding.instance.platformDispatcher.platformBrightness; + final isDarkMode = brightness == Brightness.dark; + switch (this) { + case ViamButtonRole.primary: + return isDarkMode ? const Color.fromARGB(255, 40, 40, 41) : const Color.fromARGB(255, 240, 240, 240); + case ViamButtonRole.inverse: + return isDarkMode ? const Color.fromARGB(255, 240, 240, 240) : const Color.fromARGB(255, 40, 40, 41); + case ViamButtonRole.success: + return isDarkMode ? const Color.fromARGB(255, 105, 153, 103) : const Color.fromARGB(255, 61, 125, 63); + case ViamButtonRole.danger: + return isDarkMode ? const Color.fromARGB(255, 211, 103, 94) : const Color.fromARGB(255, 190, 53, 54); + case ViamButtonRole.warning: + return isDarkMode ? const Color.fromARGB(255, 250, 185, 82) : const Color.fromARGB(255, 242, 166, 0); + } + } + + Color get foregroundColor { + final brightness = SchedulerBinding.instance.platformDispatcher.platformBrightness; + final isDarkMode = brightness == Brightness.dark; + switch (this) { + case ViamButtonRole.primary: + return isDarkMode ? const Color.fromARGB(255, 240, 240, 240) : const Color.fromARGB(255, 40, 40, 41); + case ViamButtonRole.inverse: + return isDarkMode ? const Color.fromARGB(255, 40, 40, 41) : const Color.fromARGB(255, 240, 240, 240); + case ViamButtonRole.success: + return const Color.fromARGB(255, 255, 255, 255); + case ViamButtonRole.danger: + return const Color.fromARGB(255, 255, 255, 255); + case ViamButtonRole.warning: + return const Color.fromARGB(255, 255, 255, 255); + } + } + + MaterialColor get materialColor { + switch (this) { + case ViamButtonRole.primary: + return Colors.grey; + case ViamButtonRole.inverse: + return Colors.grey; + case ViamButtonRole.success: + return Colors.green; + case ViamButtonRole.danger: + return Colors.red; + case ViamButtonRole.warning: + return Colors.amber; + } + } + + ButtonStyle get style => + ButtonStyle(backgroundColor: MaterialStatePropertyAll(backgroundColor), foregroundColor: MaterialStatePropertyAll(foregroundColor)); +} + +enum ViamButtonStyle { + filled, + outline, + ghost; +} + +enum ViamButtonVariant { + iconOnly, + iconLeading, + iconTrailing; +} + +class ViamButton extends StatelessWidget { + final String text; + final VoidCallback onPressed; + final Widget? icon; + final ViamButtonRole role; + final ViamButtonStyle style; + final ViamButtonVariant variant; + + const ViamButton( + {required this.onPressed, + required this.text, + super.key, + this.icon, + this.role = ViamButtonRole.primary, + this.style = ViamButtonStyle.filled, + this.variant = ViamButtonVariant.iconLeading}); + + ButtonStyle get _buttonStyle { + const mainStyle = ButtonStyle(splashFactory: NoSplash.splashFactory); + + if (style == ViamButtonStyle.ghost) { + var fgColor = role.backgroundColor; + if (role == ViamButtonRole.primary || role == ViamButtonRole.inverse) { + fgColor = role.foregroundColor; + } + return mainStyle.copyWith( + backgroundColor: const MaterialStatePropertyAll(Color.fromARGB(0, 0, 0, 0)), + foregroundColor: MaterialStatePropertyAll(fgColor), + ); + } + if (style == ViamButtonStyle.outline) { + var alpha = 25; + var fgColor = role.backgroundColor; + var outlineColor = role.backgroundColor; + if (role == ViamButtonRole.primary || role == ViamButtonRole.inverse) { + alpha = 0; + fgColor = role.foregroundColor; + outlineColor = role.foregroundColor; + } + return mainStyle.copyWith( + backgroundColor: MaterialStatePropertyAll(role.backgroundColor.withAlpha(alpha)), + foregroundColor: MaterialStatePropertyAll(fgColor), + side: MaterialStatePropertyAll(BorderSide(color: outlineColor)), + ); + } + return mainStyle.copyWith( + backgroundColor: MaterialStatePropertyAll(role.backgroundColor), + foregroundColor: MaterialStatePropertyAll(role.foregroundColor), + ); + } + + @override + Widget build(BuildContext context) { + Widget child; + if (icon != null) { + if (variant == ViamButtonVariant.iconOnly) { + child = IconButton(onPressed: onPressed, icon: icon!, style: _buttonStyle); + } + if (style == ViamButtonStyle.outline) { + child = OutlinedButton.icon(onPressed: onPressed, icon: icon!, label: Text(text), style: _buttonStyle); + } + child = TextButton.icon(onPressed: onPressed, icon: icon!, label: Text(text), style: _buttonStyle); + } + if (style == ViamButtonStyle.outline) { + child = OutlinedButton(onPressed: onPressed, style: _buttonStyle, child: Text(text)); + } + child = TextButton(onPressed: onPressed, style: _buttonStyle, child: Text(text)); + + return Theme(data: ThemeData(primarySwatch: role.materialColor), child: child); + } +} diff --git a/lib/widgets/camera_stream.dart b/lib/widgets/camera_stream.dart new file mode 100644 index 0000000000..4e2b6ed768 --- /dev/null +++ b/lib/widgets/camera_stream.dart @@ -0,0 +1,55 @@ +import 'dart:async'; + +import 'package:flutter/widgets.dart'; +import 'package:flutter_webrtc/flutter_webrtc.dart'; +import 'package:logger/logger.dart'; +import 'package:viam_sdk/viam_sdk.dart'; + +class ViamCameraStreamView extends StatefulWidget { + final Camera camera; + final StreamClient streamClient; + + const ViamCameraStreamView({super.key, required this.camera, required this.streamClient}); + + @override + State createState() => _ViamCameraStreamViewState(); +} + +class _ViamCameraStreamViewState extends State { + late RTCVideoRenderer _renderer; + late StreamSubscription _streamSub; + + @override + void initState() { + _startStream(); + super.initState(); + } + + @override + void deactivate() { + super.deactivate(); + _renderer.dispose(); + widget.streamClient.closeStream(); + _streamSub.cancel(); + } + + Future _startStream() async { + _renderer = RTCVideoRenderer(); + await _renderer.initialize(); + final stream = widget.streamClient.getStream(); + _streamSub = stream.listen((event) { + _renderer.srcObject = event; + setState(() {}); + }); + + _streamSub.onError((error, trace) => Logger().e(error)); + } + + @override + Widget build(BuildContext context) { + return Container( + constraints: const BoxConstraints(maxHeight: 300), + child: RTCVideoView(_renderer), + ); + } +} diff --git a/lib/widgets/joystick.dart b/lib/widgets/joystick.dart new file mode 100644 index 0000000000..7d2f368011 --- /dev/null +++ b/lib/widgets/joystick.dart @@ -0,0 +1,44 @@ +import 'package:flutter/widgets.dart'; +import 'package:flutter_joystick/flutter_joystick.dart'; +import 'package:viam_sdk/viam_sdk.dart'; + +class ViamBaseJoystick extends StatefulWidget { + const ViamBaseJoystick({ + super.key, + required this.base, + }); + + final Base base; + + @override + State createState() => _ViamBaseJoystickState(); +} + +class _ViamBaseJoystickState extends State { + num y = 0; + num z = 0; + + @override + Widget build(BuildContext context) { + return Column( + children: [ + Text('Y: ${y.round()}% Z: ${z.round()}%'), + const SizedBox(height: 16), + Joystick( + listener: (callSetPower), + ) + ], + ); + } + + void callSetPower(StickDragDetails details) { + widget.base.setPower( + Vector3()..y = details.y * -1, + Vector3()..z = details.x * -1, + ); + setState(() { + y = details.y * -100; + z = details.x * -100; + }); + } +} diff --git a/lib/widgets/resources/base.dart b/lib/widgets/resources/base.dart new file mode 100644 index 0000000000..355ef4c2e7 --- /dev/null +++ b/lib/widgets/resources/base.dart @@ -0,0 +1,64 @@ +import 'package:flutter/material.dart'; +import 'package:viam_sdk/viam_sdk.dart'; +import 'package:viam_sdk/widgets.dart'; + +class ViamBaseScreen extends StatefulWidget { + final Base base; + final Iterable cameras; + final RobotClient robotClient; + + const ViamBaseScreen({ + Key? key, + required this.base, + required this.cameras, + required this.robotClient, + }) : super(key: key); + + @override + State createState() => _ViamBaseScreenState(); +} + +class _ViamBaseScreenState extends State { + Camera? camera; + + @override + void initState() { + camera = widget.cameras.firstOrNull; + super.initState(); + } + + @override + Widget build(BuildContext context) { + return SingleChildScrollView( + child: Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + if (widget.cameras.isNotEmpty) + Center( + child: Row(mainAxisAlignment: MainAxisAlignment.center, children: [ + const Text('Video feed from: '), + if (widget.cameras.length > 1) + DropdownButton( + value: camera, + icon: const Icon(Icons.keyboard_arrow_down), + items: widget.cameras + .map((e) => DropdownMenuItem( + value: e, + child: Text(e.name), + )) + .toList(), + onChanged: (value) => camera = value, + ) + else + Text(camera!.name) + ]), + ), + if (camera != null) ViamCameraStreamView(camera: camera!, streamClient: widget.robotClient.getStream(camera!.name)), + ViamBaseJoystick(base: widget.base) + ], + ), + ), + ); + } +} From 318fbce23bc74105e88c75c60c1c16263aca43ba Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 2 Aug 2023 15:23:57 -0400 Subject: [PATCH 2/3] [WORKFLOW] Updating protos from viamrobotics/api, commit: 179a8e483f5d53b3041aaf8de9fa7b7efb3dc6b3 (#76) Co-authored-by: viambot --- lib/protos/app/app.dart | 4 +- lib/protos/app/billing.dart | 4 +- lib/protos/app/cloud_slam.dart | 4 +- lib/protos/app/data.dart | 4 +- lib/protos/app/data_sync.dart | 2 +- lib/protos/app/ml_training.dart | 2 +- lib/protos/app/packages.dart | 4 +- lib/protos/app/robot.dart | 4 +- lib/protos/common/common.dart | 2 +- lib/protos/component/arm.dart | 2 +- lib/protos/component/audioinput.dart | 4 +- lib/protos/component/base.dart | 6 +- lib/protos/component/board.dart | 4 +- lib/protos/component/camera.dart | 4 +- lib/protos/component/encoder.dart | 4 +- lib/protos/component/gantry.dart | 4 +- lib/protos/component/generic.dart | 4 +- lib/protos/component/gripper.dart | 6 +- lib/protos/component/input_controller.dart | 2 +- lib/protos/component/motor.dart | 2 +- lib/protos/component/movementsensor.dart | 2 +- lib/protos/component/pose_tracker.dart | 2 +- lib/protos/component/powersensor.dart | 4 +- lib/protos/component/sensor.dart | 4 +- lib/protos/component/servo.dart | 4 +- lib/protos/component/testecho.dart | 4 +- lib/protos/module/module.dart | 2 +- lib/protos/robot/robot.dart | 4 +- lib/protos/service/data_manager.dart | 4 +- lib/protos/service/mlmodel.dart | 4 +- lib/protos/service/motion.dart | 6 +- lib/protos/service/navigation.dart | 4 +- lib/protos/service/sensors.dart | 4 +- lib/protos/service/shell.dart | 4 +- lib/protos/service/slam.dart | 6 +- lib/protos/service/vision.dart | 4 +- .../gen/app/cloudslam/v1/cloud_slam.pb.dart | 190 +++++- .../app/cloudslam/v1/cloud_slam.pbgrpc.dart | 40 ++ .../app/cloudslam/v1/cloud_slam.pbjson.dart | 56 +- lib/src/gen/app/datasync/v1/data_sync.pb.dart | 167 +++++ .../gen/app/datasync/v1/data_sync.pbgrpc.dart | 16 + .../gen/app/datasync/v1/data_sync.pbjson.dart | 47 ++ .../gen/app/mltraining/v1/ml_training.pb.dart | 22 +- .../app/mltraining/v1/ml_training.pbjson.dart | 14 +- .../gen/service/mlmodel/v1/mlmodel.pb.dart | 644 ++++++++++++++++++ .../service/mlmodel/v1/mlmodel.pbjson.dart | 256 ++++++- 46 files changed, 1481 insertions(+), 105 deletions(-) diff --git a/lib/protos/app/app.dart b/lib/protos/app/app.dart index ea5926ca30..f1a107038b 100644 --- a/lib/protos/app/app.dart +++ b/lib/protos/app/app.dart @@ -4,7 +4,7 @@ library viam_protos.app.app; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE -export '../../../src/gen/app/v1/app.pbenum.dart'; -export '../../../src/gen/app/v1/app.pbjson.dart'; export '../../../src/gen/app/v1/app.pb.dart'; +export '../../../src/gen/app/v1/app.pbenum.dart'; export '../../../src/gen/app/v1/app.pbgrpc.dart'; +export '../../../src/gen/app/v1/app.pbjson.dart'; diff --git a/lib/protos/app/billing.dart b/lib/protos/app/billing.dart index 6ffdebfa9d..ef5a77aeea 100644 --- a/lib/protos/app/billing.dart +++ b/lib/protos/app/billing.dart @@ -4,7 +4,7 @@ library viam_protos.app.billing; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE +export '../../../src/gen/app/v1/billing.pb.dart'; export '../../../src/gen/app/v1/billing.pbenum.dart'; -export '../../../src/gen/app/v1/billing.pbjson.dart'; export '../../../src/gen/app/v1/billing.pbgrpc.dart'; -export '../../../src/gen/app/v1/billing.pb.dart'; +export '../../../src/gen/app/v1/billing.pbjson.dart'; diff --git a/lib/protos/app/cloud_slam.dart b/lib/protos/app/cloud_slam.dart index 0bbc28013d..acff53adb7 100644 --- a/lib/protos/app/cloud_slam.dart +++ b/lib/protos/app/cloud_slam.dart @@ -4,7 +4,7 @@ library viam_protos.app.cloud_slam; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE -export '../../../src/gen/app/cloudslam/v1/cloud_slam.pbjson.dart'; -export '../../../src/gen/app/cloudslam/v1/cloud_slam.pbgrpc.dart'; export '../../../src/gen/app/cloudslam/v1/cloud_slam.pb.dart'; export '../../../src/gen/app/cloudslam/v1/cloud_slam.pbenum.dart'; +export '../../../src/gen/app/cloudslam/v1/cloud_slam.pbgrpc.dart'; +export '../../../src/gen/app/cloudslam/v1/cloud_slam.pbjson.dart'; diff --git a/lib/protos/app/data.dart b/lib/protos/app/data.dart index 198adf40c6..f9a9603ef4 100644 --- a/lib/protos/app/data.dart +++ b/lib/protos/app/data.dart @@ -4,7 +4,7 @@ library viam_protos.app.data; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE -export '../../../src/gen/app/data/v1/data.pbenum.dart'; export '../../../src/gen/app/data/v1/data.pb.dart'; -export '../../../src/gen/app/data/v1/data.pbjson.dart'; +export '../../../src/gen/app/data/v1/data.pbenum.dart'; export '../../../src/gen/app/data/v1/data.pbgrpc.dart'; +export '../../../src/gen/app/data/v1/data.pbjson.dart'; diff --git a/lib/protos/app/data_sync.dart b/lib/protos/app/data_sync.dart index 0ada30022a..9d548dcc60 100644 --- a/lib/protos/app/data_sync.dart +++ b/lib/protos/app/data_sync.dart @@ -4,7 +4,7 @@ library viam_protos.app.data_sync; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE +export '../../../src/gen/app/datasync/v1/data_sync.pb.dart'; export '../../../src/gen/app/datasync/v1/data_sync.pbenum.dart'; export '../../../src/gen/app/datasync/v1/data_sync.pbgrpc.dart'; export '../../../src/gen/app/datasync/v1/data_sync.pbjson.dart'; -export '../../../src/gen/app/datasync/v1/data_sync.pb.dart'; diff --git a/lib/protos/app/ml_training.dart b/lib/protos/app/ml_training.dart index ea15652018..bc2e8dfe61 100644 --- a/lib/protos/app/ml_training.dart +++ b/lib/protos/app/ml_training.dart @@ -4,7 +4,7 @@ library viam_protos.app.ml_training; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE +export '../../../src/gen/app/mltraining/v1/ml_training.pb.dart'; export '../../../src/gen/app/mltraining/v1/ml_training.pbenum.dart'; export '../../../src/gen/app/mltraining/v1/ml_training.pbgrpc.dart'; -export '../../../src/gen/app/mltraining/v1/ml_training.pb.dart'; export '../../../src/gen/app/mltraining/v1/ml_training.pbjson.dart'; diff --git a/lib/protos/app/packages.dart b/lib/protos/app/packages.dart index d688dc1e4d..3985e5ee28 100644 --- a/lib/protos/app/packages.dart +++ b/lib/protos/app/packages.dart @@ -4,7 +4,7 @@ library viam_protos.app.packages; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE -export '../../../src/gen/app/packages/v1/packages.pbjson.dart'; export '../../../src/gen/app/packages/v1/packages.pb.dart'; -export '../../../src/gen/app/packages/v1/packages.pbgrpc.dart'; export '../../../src/gen/app/packages/v1/packages.pbenum.dart'; +export '../../../src/gen/app/packages/v1/packages.pbgrpc.dart'; +export '../../../src/gen/app/packages/v1/packages.pbjson.dart'; diff --git a/lib/protos/app/robot.dart b/lib/protos/app/robot.dart index 6955e62dcf..841c3ac305 100644 --- a/lib/protos/app/robot.dart +++ b/lib/protos/app/robot.dart @@ -5,6 +5,6 @@ library viam_protos.app.robot; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE export '../../../src/gen/app/v1/robot.pb.dart'; -export '../../../src/gen/app/v1/robot.pbjson.dart'; -export '../../../src/gen/app/v1/robot.pbgrpc.dart'; export '../../../src/gen/app/v1/robot.pbenum.dart'; +export '../../../src/gen/app/v1/robot.pbgrpc.dart'; +export '../../../src/gen/app/v1/robot.pbjson.dart'; diff --git a/lib/protos/common/common.dart b/lib/protos/common/common.dart index fb17d7b694..196b3a81b4 100644 --- a/lib/protos/common/common.dart +++ b/lib/protos/common/common.dart @@ -4,6 +4,6 @@ library viam_protos.common.common; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE -export '../../../src/gen/common/v1/common.pbenum.dart'; export '../../../src/gen/common/v1/common.pb.dart'; +export '../../../src/gen/common/v1/common.pbenum.dart'; export '../../../src/gen/common/v1/common.pbjson.dart'; diff --git a/lib/protos/component/arm.dart b/lib/protos/component/arm.dart index 58a0aade95..1d1da3eb5b 100644 --- a/lib/protos/component/arm.dart +++ b/lib/protos/component/arm.dart @@ -6,5 +6,5 @@ library viam_protos.component.arm; // DO NOT OVERWRITE export '../../../src/gen/component/arm/v1/arm.pb.dart'; export '../../../src/gen/component/arm/v1/arm.pbenum.dart'; -export '../../../src/gen/component/arm/v1/arm.pbjson.dart'; export '../../../src/gen/component/arm/v1/arm.pbgrpc.dart'; +export '../../../src/gen/component/arm/v1/arm.pbjson.dart'; diff --git a/lib/protos/component/audioinput.dart b/lib/protos/component/audioinput.dart index 11d2bb743f..d82f2d9132 100644 --- a/lib/protos/component/audioinput.dart +++ b/lib/protos/component/audioinput.dart @@ -4,7 +4,7 @@ library viam_protos.component.audioinput; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE -export '../../../src/gen/component/audioinput/v1/audioinput.pbenum.dart'; -export '../../../src/gen/component/audioinput/v1/audioinput.pbjson.dart'; export '../../../src/gen/component/audioinput/v1/audioinput.pb.dart'; +export '../../../src/gen/component/audioinput/v1/audioinput.pbenum.dart'; export '../../../src/gen/component/audioinput/v1/audioinput.pbgrpc.dart'; +export '../../../src/gen/component/audioinput/v1/audioinput.pbjson.dart'; diff --git a/lib/protos/component/base.dart b/lib/protos/component/base.dart index 9a4c0ce045..4155573bd0 100644 --- a/lib/protos/component/base.dart +++ b/lib/protos/component/base.dart @@ -4,7 +4,7 @@ library viam_protos.component.base; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE -export '../../../src/gen/component/base/v1/base.pbjson.dart'; -export '../../../src/gen/component/base/v1/base.pbgrpc.dart'; -export '../../../src/gen/component/base/v1/base.pbenum.dart'; export '../../../src/gen/component/base/v1/base.pb.dart'; +export '../../../src/gen/component/base/v1/base.pbenum.dart'; +export '../../../src/gen/component/base/v1/base.pbgrpc.dart'; +export '../../../src/gen/component/base/v1/base.pbjson.dart'; diff --git a/lib/protos/component/board.dart b/lib/protos/component/board.dart index ea561b8d8e..225ad7cd0a 100644 --- a/lib/protos/component/board.dart +++ b/lib/protos/component/board.dart @@ -4,7 +4,7 @@ library viam_protos.component.board; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE +export '../../../src/gen/component/board/v1/board.pb.dart'; +export '../../../src/gen/component/board/v1/board.pbenum.dart'; export '../../../src/gen/component/board/v1/board.pbgrpc.dart'; export '../../../src/gen/component/board/v1/board.pbjson.dart'; -export '../../../src/gen/component/board/v1/board.pbenum.dart'; -export '../../../src/gen/component/board/v1/board.pb.dart'; diff --git a/lib/protos/component/camera.dart b/lib/protos/component/camera.dart index 3f5ef5c6ed..33607a8a5f 100644 --- a/lib/protos/component/camera.dart +++ b/lib/protos/component/camera.dart @@ -4,7 +4,7 @@ library viam_protos.component.camera; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE -export '../../../src/gen/component/camera/v1/camera.pbenum.dart'; export '../../../src/gen/component/camera/v1/camera.pb.dart'; -export '../../../src/gen/component/camera/v1/camera.pbjson.dart'; +export '../../../src/gen/component/camera/v1/camera.pbenum.dart'; export '../../../src/gen/component/camera/v1/camera.pbgrpc.dart'; +export '../../../src/gen/component/camera/v1/camera.pbjson.dart'; diff --git a/lib/protos/component/encoder.dart b/lib/protos/component/encoder.dart index 4ab29ecb35..17121c926b 100644 --- a/lib/protos/component/encoder.dart +++ b/lib/protos/component/encoder.dart @@ -4,7 +4,7 @@ library viam_protos.component.encoder; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE -export '../../../src/gen/component/encoder/v1/encoder.pbjson.dart'; -export '../../../src/gen/component/encoder/v1/encoder.pbgrpc.dart'; export '../../../src/gen/component/encoder/v1/encoder.pb.dart'; export '../../../src/gen/component/encoder/v1/encoder.pbenum.dart'; +export '../../../src/gen/component/encoder/v1/encoder.pbgrpc.dart'; +export '../../../src/gen/component/encoder/v1/encoder.pbjson.dart'; diff --git a/lib/protos/component/gantry.dart b/lib/protos/component/gantry.dart index 9f0f6732e6..125203eac1 100644 --- a/lib/protos/component/gantry.dart +++ b/lib/protos/component/gantry.dart @@ -4,7 +4,7 @@ library viam_protos.component.gantry; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE -export '../../../src/gen/component/gantry/v1/gantry.pbjson.dart'; -export '../../../src/gen/component/gantry/v1/gantry.pbgrpc.dart'; export '../../../src/gen/component/gantry/v1/gantry.pb.dart'; export '../../../src/gen/component/gantry/v1/gantry.pbenum.dart'; +export '../../../src/gen/component/gantry/v1/gantry.pbgrpc.dart'; +export '../../../src/gen/component/gantry/v1/gantry.pbjson.dart'; diff --git a/lib/protos/component/generic.dart b/lib/protos/component/generic.dart index 531726ef38..a32369c733 100644 --- a/lib/protos/component/generic.dart +++ b/lib/protos/component/generic.dart @@ -4,7 +4,7 @@ library viam_protos.component.generic; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE -export '../../../src/gen/component/generic/v1/generic.pbgrpc.dart'; -export '../../../src/gen/component/generic/v1/generic.pbjson.dart'; export '../../../src/gen/component/generic/v1/generic.pb.dart'; export '../../../src/gen/component/generic/v1/generic.pbenum.dart'; +export '../../../src/gen/component/generic/v1/generic.pbgrpc.dart'; +export '../../../src/gen/component/generic/v1/generic.pbjson.dart'; diff --git a/lib/protos/component/gripper.dart b/lib/protos/component/gripper.dart index 3832a9d563..3e0227911c 100644 --- a/lib/protos/component/gripper.dart +++ b/lib/protos/component/gripper.dart @@ -4,7 +4,7 @@ library viam_protos.component.gripper; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE -export '../../../src/gen/component/gripper/v1/gripper.pbjson.dart'; -export '../../../src/gen/component/gripper/v1/gripper.pbgrpc.dart'; -export '../../../src/gen/component/gripper/v1/gripper.pbenum.dart'; export '../../../src/gen/component/gripper/v1/gripper.pb.dart'; +export '../../../src/gen/component/gripper/v1/gripper.pbenum.dart'; +export '../../../src/gen/component/gripper/v1/gripper.pbgrpc.dart'; +export '../../../src/gen/component/gripper/v1/gripper.pbjson.dart'; diff --git a/lib/protos/component/input_controller.dart b/lib/protos/component/input_controller.dart index c0e3bcc2bf..1fda374f2a 100644 --- a/lib/protos/component/input_controller.dart +++ b/lib/protos/component/input_controller.dart @@ -6,5 +6,5 @@ library viam_protos.component.input_controller; // DO NOT OVERWRITE export '../../../src/gen/component/inputcontroller/v1/input_controller.pb.dart'; export '../../../src/gen/component/inputcontroller/v1/input_controller.pbenum.dart'; -export '../../../src/gen/component/inputcontroller/v1/input_controller.pbjson.dart'; export '../../../src/gen/component/inputcontroller/v1/input_controller.pbgrpc.dart'; +export '../../../src/gen/component/inputcontroller/v1/input_controller.pbjson.dart'; diff --git a/lib/protos/component/motor.dart b/lib/protos/component/motor.dart index e96a29f90f..7fa8495dd2 100644 --- a/lib/protos/component/motor.dart +++ b/lib/protos/component/motor.dart @@ -6,5 +6,5 @@ library viam_protos.component.motor; // DO NOT OVERWRITE export '../../../src/gen/component/motor/v1/motor.pb.dart'; export '../../../src/gen/component/motor/v1/motor.pbenum.dart'; -export '../../../src/gen/component/motor/v1/motor.pbjson.dart'; export '../../../src/gen/component/motor/v1/motor.pbgrpc.dart'; +export '../../../src/gen/component/motor/v1/motor.pbjson.dart'; diff --git a/lib/protos/component/movementsensor.dart b/lib/protos/component/movementsensor.dart index 4889437e5a..200eaaf958 100644 --- a/lib/protos/component/movementsensor.dart +++ b/lib/protos/component/movementsensor.dart @@ -4,7 +4,7 @@ library viam_protos.component.movementsensor; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE +export '../../../src/gen/component/movementsensor/v1/movementsensor.pb.dart'; export '../../../src/gen/component/movementsensor/v1/movementsensor.pbenum.dart'; export '../../../src/gen/component/movementsensor/v1/movementsensor.pbgrpc.dart'; -export '../../../src/gen/component/movementsensor/v1/movementsensor.pb.dart'; export '../../../src/gen/component/movementsensor/v1/movementsensor.pbjson.dart'; diff --git a/lib/protos/component/pose_tracker.dart b/lib/protos/component/pose_tracker.dart index 1bb1b15823..c65c5a17ed 100644 --- a/lib/protos/component/pose_tracker.dart +++ b/lib/protos/component/pose_tracker.dart @@ -6,5 +6,5 @@ library viam_protos.component.pose_tracker; // DO NOT OVERWRITE export '../../../src/gen/component/posetracker/v1/pose_tracker.pb.dart'; export '../../../src/gen/component/posetracker/v1/pose_tracker.pbenum.dart'; -export '../../../src/gen/component/posetracker/v1/pose_tracker.pbjson.dart'; export '../../../src/gen/component/posetracker/v1/pose_tracker.pbgrpc.dart'; +export '../../../src/gen/component/posetracker/v1/pose_tracker.pbjson.dart'; diff --git a/lib/protos/component/powersensor.dart b/lib/protos/component/powersensor.dart index 6bd69e3b7a..b8857bc0f3 100644 --- a/lib/protos/component/powersensor.dart +++ b/lib/protos/component/powersensor.dart @@ -5,6 +5,6 @@ library viam_protos.component.powersensor; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE export '../../../src/gen/component/powersensor/v1/powersensor.pb.dart'; -export '../../../src/gen/component/powersensor/v1/powersensor.pbjson.dart'; -export '../../../src/gen/component/powersensor/v1/powersensor.pbgrpc.dart'; export '../../../src/gen/component/powersensor/v1/powersensor.pbenum.dart'; +export '../../../src/gen/component/powersensor/v1/powersensor.pbgrpc.dart'; +export '../../../src/gen/component/powersensor/v1/powersensor.pbjson.dart'; diff --git a/lib/protos/component/sensor.dart b/lib/protos/component/sensor.dart index a0740d11c0..c6d8307399 100644 --- a/lib/protos/component/sensor.dart +++ b/lib/protos/component/sensor.dart @@ -4,7 +4,7 @@ library viam_protos.component.sensor; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE -export '../../../src/gen/component/sensor/v1/sensor.pbenum.dart'; export '../../../src/gen/component/sensor/v1/sensor.pb.dart'; -export '../../../src/gen/component/sensor/v1/sensor.pbjson.dart'; +export '../../../src/gen/component/sensor/v1/sensor.pbenum.dart'; export '../../../src/gen/component/sensor/v1/sensor.pbgrpc.dart'; +export '../../../src/gen/component/sensor/v1/sensor.pbjson.dart'; diff --git a/lib/protos/component/servo.dart b/lib/protos/component/servo.dart index ad201472f5..344925d20d 100644 --- a/lib/protos/component/servo.dart +++ b/lib/protos/component/servo.dart @@ -4,7 +4,7 @@ library viam_protos.component.servo; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE +export '../../../src/gen/component/servo/v1/servo.pb.dart'; +export '../../../src/gen/component/servo/v1/servo.pbenum.dart'; export '../../../src/gen/component/servo/v1/servo.pbgrpc.dart'; export '../../../src/gen/component/servo/v1/servo.pbjson.dart'; -export '../../../src/gen/component/servo/v1/servo.pbenum.dart'; -export '../../../src/gen/component/servo/v1/servo.pb.dart'; diff --git a/lib/protos/component/testecho.dart b/lib/protos/component/testecho.dart index e2ce4a27c8..35ad55013d 100644 --- a/lib/protos/component/testecho.dart +++ b/lib/protos/component/testecho.dart @@ -4,7 +4,7 @@ library viam_protos.component.testecho; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE -export '../../../src/gen/component/testecho/v1/testecho.pbjson.dart'; -export '../../../src/gen/component/testecho/v1/testecho.pbgrpc.dart'; export '../../../src/gen/component/testecho/v1/testecho.pb.dart'; export '../../../src/gen/component/testecho/v1/testecho.pbenum.dart'; +export '../../../src/gen/component/testecho/v1/testecho.pbgrpc.dart'; +export '../../../src/gen/component/testecho/v1/testecho.pbjson.dart'; diff --git a/lib/protos/module/module.dart b/lib/protos/module/module.dart index 1385b3cafd..ee7fcf1b32 100644 --- a/lib/protos/module/module.dart +++ b/lib/protos/module/module.dart @@ -4,7 +4,7 @@ library viam_protos.module.module; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE -export '../../../src/gen/module/v1/module.pbenum.dart'; export '../../../src/gen/module/v1/module.pb.dart'; +export '../../../src/gen/module/v1/module.pbenum.dart'; export '../../../src/gen/module/v1/module.pbgrpc.dart'; export '../../../src/gen/module/v1/module.pbjson.dart'; diff --git a/lib/protos/robot/robot.dart b/lib/protos/robot/robot.dart index fe1e67e749..f90aa15cd5 100644 --- a/lib/protos/robot/robot.dart +++ b/lib/protos/robot/robot.dart @@ -5,6 +5,6 @@ library viam_protos.robot.robot; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE export '../../../src/gen/robot/v1/robot.pb.dart'; -export '../../../src/gen/robot/v1/robot.pbjson.dart'; -export '../../../src/gen/robot/v1/robot.pbgrpc.dart'; export '../../../src/gen/robot/v1/robot.pbenum.dart'; +export '../../../src/gen/robot/v1/robot.pbgrpc.dart'; +export '../../../src/gen/robot/v1/robot.pbjson.dart'; diff --git a/lib/protos/service/data_manager.dart b/lib/protos/service/data_manager.dart index 4d76fb3c7a..906bb30df9 100644 --- a/lib/protos/service/data_manager.dart +++ b/lib/protos/service/data_manager.dart @@ -4,7 +4,7 @@ library viam_protos.service.data_manager; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE -export '../../../src/gen/service/datamanager/v1/data_manager.pbenum.dart'; export '../../../src/gen/service/datamanager/v1/data_manager.pb.dart'; -export '../../../src/gen/service/datamanager/v1/data_manager.pbjson.dart'; +export '../../../src/gen/service/datamanager/v1/data_manager.pbenum.dart'; export '../../../src/gen/service/datamanager/v1/data_manager.pbgrpc.dart'; +export '../../../src/gen/service/datamanager/v1/data_manager.pbjson.dart'; diff --git a/lib/protos/service/mlmodel.dart b/lib/protos/service/mlmodel.dart index 5dca6c9926..eab3d768af 100644 --- a/lib/protos/service/mlmodel.dart +++ b/lib/protos/service/mlmodel.dart @@ -4,7 +4,7 @@ library viam_protos.service.mlmodel; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE -export '../../../src/gen/service/mlmodel/v1/mlmodel.pbenum.dart'; export '../../../src/gen/service/mlmodel/v1/mlmodel.pb.dart'; -export '../../../src/gen/service/mlmodel/v1/mlmodel.pbjson.dart'; +export '../../../src/gen/service/mlmodel/v1/mlmodel.pbenum.dart'; export '../../../src/gen/service/mlmodel/v1/mlmodel.pbgrpc.dart'; +export '../../../src/gen/service/mlmodel/v1/mlmodel.pbjson.dart'; diff --git a/lib/protos/service/motion.dart b/lib/protos/service/motion.dart index 81ee648ec9..17b76b64e9 100644 --- a/lib/protos/service/motion.dart +++ b/lib/protos/service/motion.dart @@ -4,7 +4,7 @@ library viam_protos.service.motion; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE -export '../../../src/gen/service/motion/v1/motion.pbjson.dart'; -export '../../../src/gen/service/motion/v1/motion.pbgrpc.dart'; -export '../../../src/gen/service/motion/v1/motion.pbenum.dart'; export '../../../src/gen/service/motion/v1/motion.pb.dart'; +export '../../../src/gen/service/motion/v1/motion.pbenum.dart'; +export '../../../src/gen/service/motion/v1/motion.pbgrpc.dart'; +export '../../../src/gen/service/motion/v1/motion.pbjson.dart'; diff --git a/lib/protos/service/navigation.dart b/lib/protos/service/navigation.dart index 3d166f87b8..30d43a07be 100644 --- a/lib/protos/service/navigation.dart +++ b/lib/protos/service/navigation.dart @@ -4,7 +4,7 @@ library viam_protos.service.navigation; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE -export '../../../src/gen/service/navigation/v1/navigation.pbenum.dart'; -export '../../../src/gen/service/navigation/v1/navigation.pbjson.dart'; export '../../../src/gen/service/navigation/v1/navigation.pb.dart'; +export '../../../src/gen/service/navigation/v1/navigation.pbenum.dart'; export '../../../src/gen/service/navigation/v1/navigation.pbgrpc.dart'; +export '../../../src/gen/service/navigation/v1/navigation.pbjson.dart'; diff --git a/lib/protos/service/sensors.dart b/lib/protos/service/sensors.dart index 4b23ead290..92710c16e0 100644 --- a/lib/protos/service/sensors.dart +++ b/lib/protos/service/sensors.dart @@ -4,7 +4,7 @@ library viam_protos.service.sensors; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE -export '../../../src/gen/service/sensors/v1/sensors.pbgrpc.dart'; export '../../../src/gen/service/sensors/v1/sensors.pb.dart'; -export '../../../src/gen/service/sensors/v1/sensors.pbjson.dart'; export '../../../src/gen/service/sensors/v1/sensors.pbenum.dart'; +export '../../../src/gen/service/sensors/v1/sensors.pbgrpc.dart'; +export '../../../src/gen/service/sensors/v1/sensors.pbjson.dart'; diff --git a/lib/protos/service/shell.dart b/lib/protos/service/shell.dart index 7b4fed5ec7..0b435bd481 100644 --- a/lib/protos/service/shell.dart +++ b/lib/protos/service/shell.dart @@ -4,7 +4,7 @@ library viam_protos.service.shell; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE +export '../../../src/gen/service/shell/v1/shell.pb.dart'; +export '../../../src/gen/service/shell/v1/shell.pbenum.dart'; export '../../../src/gen/service/shell/v1/shell.pbgrpc.dart'; export '../../../src/gen/service/shell/v1/shell.pbjson.dart'; -export '../../../src/gen/service/shell/v1/shell.pbenum.dart'; -export '../../../src/gen/service/shell/v1/shell.pb.dart'; diff --git a/lib/protos/service/slam.dart b/lib/protos/service/slam.dart index 2d24276451..9791f1dcb9 100644 --- a/lib/protos/service/slam.dart +++ b/lib/protos/service/slam.dart @@ -4,7 +4,7 @@ library viam_protos.service.slam; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE -export '../../../src/gen/service/slam/v1/slam.pbjson.dart'; -export '../../../src/gen/service/slam/v1/slam.pbgrpc.dart'; -export '../../../src/gen/service/slam/v1/slam.pbenum.dart'; export '../../../src/gen/service/slam/v1/slam.pb.dart'; +export '../../../src/gen/service/slam/v1/slam.pbenum.dart'; +export '../../../src/gen/service/slam/v1/slam.pbgrpc.dart'; +export '../../../src/gen/service/slam/v1/slam.pbjson.dart'; diff --git a/lib/protos/service/vision.dart b/lib/protos/service/vision.dart index e3d2d886ce..9d634a3bdc 100644 --- a/lib/protos/service/vision.dart +++ b/lib/protos/service/vision.dart @@ -4,7 +4,7 @@ library viam_protos.service.vision; // THIS FILE IS AUTOMATICALLY GENERATED // DO NOT OVERWRITE -export '../../../src/gen/service/vision/v1/vision.pbgrpc.dart'; export '../../../src/gen/service/vision/v1/vision.pb.dart'; -export '../../../src/gen/service/vision/v1/vision.pbjson.dart'; export '../../../src/gen/service/vision/v1/vision.pbenum.dart'; +export '../../../src/gen/service/vision/v1/vision.pbgrpc.dart'; +export '../../../src/gen/service/vision/v1/vision.pbjson.dart'; diff --git a/lib/src/gen/app/cloudslam/v1/cloud_slam.pb.dart b/lib/src/gen/app/cloudslam/v1/cloud_slam.pb.dart index 9ce3d2e5ba..b1357b5a50 100644 --- a/lib/src/gen/app/cloudslam/v1/cloud_slam.pb.dart +++ b/lib/src/gen/app/cloudslam/v1/cloud_slam.pb.dart @@ -31,6 +31,7 @@ class StartMappingSessionRequest extends $pb.GeneratedMessage { ..aOS(5, _omitFieldNames ? '' : 'locationId') ..aOS(6, _omitFieldNames ? '' : 'robotId') ..aOS(7, _omitFieldNames ? '' : 'viamServerVersion') + ..aOB(8, _omitFieldNames ? '' : 'isOnline') ..hasRequiredFields = false ; @@ -119,6 +120,15 @@ class StartMappingSessionRequest extends $pb.GeneratedMessage { $core.bool hasViamServerVersion() => $_has(6); @$pb.TagNumber(7) void clearViamServerVersion() => clearField(7); + + @$pb.TagNumber(8) + $core.bool get isOnline => $_getBF(7); + @$pb.TagNumber(8) + set isOnline($core.bool v) { $_setBool(7, v); } + @$pb.TagNumber(8) + $core.bool hasIsOnline() => $_has(7); + @$pb.TagNumber(8) + void clearIsOnline() => clearField(8); } class StartMappingSessionResponse extends $pb.GeneratedMessage { @@ -439,7 +449,6 @@ class StopMappingSessionRequest extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'StopMappingSessionRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'viam.app.cloudslam.v1'), createEmptyInstance: create) ..aOS(1, _omitFieldNames ? '' : 'sessionId') - ..aOB(2, _omitFieldNames ? '' : 'saveMap') ..hasRequiredFields = false ; @@ -472,15 +481,6 @@ class StopMappingSessionRequest extends $pb.GeneratedMessage { $core.bool hasSessionId() => $_has(0); @$pb.TagNumber(1) void clearSessionId() => clearField(1); - - @$pb.TagNumber(2) - $core.bool get saveMap => $_getBF(1); - @$pb.TagNumber(2) - set saveMap($core.bool v) { $_setBool(1, v); } - @$pb.TagNumber(2) - $core.bool hasSaveMap() => $_has(1); - @$pb.TagNumber(2) - void clearSaveMap() => clearField(2); } class StopMappingSessionResponse extends $pb.GeneratedMessage { @@ -535,6 +535,176 @@ class StopMappingSessionResponse extends $pb.GeneratedMessage { void clearVersion() => clearField(2); } +class GetMappingSessionMetadataByIDRequest extends $pb.GeneratedMessage { + factory GetMappingSessionMetadataByIDRequest() => create(); + GetMappingSessionMetadataByIDRequest._() : super(); + factory GetMappingSessionMetadataByIDRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetMappingSessionMetadataByIDRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetMappingSessionMetadataByIDRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'viam.app.cloudslam.v1'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'sessionId') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetMappingSessionMetadataByIDRequest clone() => GetMappingSessionMetadataByIDRequest()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetMappingSessionMetadataByIDRequest copyWith(void Function(GetMappingSessionMetadataByIDRequest) updates) => super.copyWith((message) => updates(message as GetMappingSessionMetadataByIDRequest)) as GetMappingSessionMetadataByIDRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetMappingSessionMetadataByIDRequest create() => GetMappingSessionMetadataByIDRequest._(); + GetMappingSessionMetadataByIDRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetMappingSessionMetadataByIDRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetMappingSessionMetadataByIDRequest? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get sessionId => $_getSZ(0); + @$pb.TagNumber(1) + set sessionId($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasSessionId() => $_has(0); + @$pb.TagNumber(1) + void clearSessionId() => clearField(1); +} + +class GetMappingSessionMetadataByIDResponse extends $pb.GeneratedMessage { + factory GetMappingSessionMetadataByIDResponse() => create(); + GetMappingSessionMetadataByIDResponse._() : super(); + factory GetMappingSessionMetadataByIDResponse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetMappingSessionMetadataByIDResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetMappingSessionMetadataByIDResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'viam.app.cloudslam.v1'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'sessionMetadata', subBuilder: MappingMetadata.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetMappingSessionMetadataByIDResponse clone() => GetMappingSessionMetadataByIDResponse()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetMappingSessionMetadataByIDResponse copyWith(void Function(GetMappingSessionMetadataByIDResponse) updates) => super.copyWith((message) => updates(message as GetMappingSessionMetadataByIDResponse)) as GetMappingSessionMetadataByIDResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetMappingSessionMetadataByIDResponse create() => GetMappingSessionMetadataByIDResponse._(); + GetMappingSessionMetadataByIDResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetMappingSessionMetadataByIDResponse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetMappingSessionMetadataByIDResponse? _defaultInstance; + + @$pb.TagNumber(1) + MappingMetadata get sessionMetadata => $_getN(0); + @$pb.TagNumber(1) + set sessionMetadata(MappingMetadata v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasSessionMetadata() => $_has(0); + @$pb.TagNumber(1) + void clearSessionMetadata() => clearField(1); + @$pb.TagNumber(1) + MappingMetadata ensureSessionMetadata() => $_ensure(0); +} + +class UpdateMappingSessionMetadataByIDRequest extends $pb.GeneratedMessage { + factory UpdateMappingSessionMetadataByIDRequest() => create(); + UpdateMappingSessionMetadataByIDRequest._() : super(); + factory UpdateMappingSessionMetadataByIDRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory UpdateMappingSessionMetadataByIDRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UpdateMappingSessionMetadataByIDRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'viam.app.cloudslam.v1'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'sessionId') + ..aOS(2, _omitFieldNames ? '' : 'endStatus') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateMappingSessionMetadataByIDRequest clone() => UpdateMappingSessionMetadataByIDRequest()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateMappingSessionMetadataByIDRequest copyWith(void Function(UpdateMappingSessionMetadataByIDRequest) updates) => super.copyWith((message) => updates(message as UpdateMappingSessionMetadataByIDRequest)) as UpdateMappingSessionMetadataByIDRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateMappingSessionMetadataByIDRequest create() => UpdateMappingSessionMetadataByIDRequest._(); + UpdateMappingSessionMetadataByIDRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateMappingSessionMetadataByIDRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static UpdateMappingSessionMetadataByIDRequest? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get sessionId => $_getSZ(0); + @$pb.TagNumber(1) + set sessionId($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasSessionId() => $_has(0); + @$pb.TagNumber(1) + void clearSessionId() => clearField(1); + + @$pb.TagNumber(2) + $core.String get endStatus => $_getSZ(1); + @$pb.TagNumber(2) + set endStatus($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasEndStatus() => $_has(1); + @$pb.TagNumber(2) + void clearEndStatus() => clearField(2); +} + +class UpdateMappingSessionMetadataByIDResponse extends $pb.GeneratedMessage { + factory UpdateMappingSessionMetadataByIDResponse() => create(); + UpdateMappingSessionMetadataByIDResponse._() : super(); + factory UpdateMappingSessionMetadataByIDResponse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory UpdateMappingSessionMetadataByIDResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UpdateMappingSessionMetadataByIDResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'viam.app.cloudslam.v1'), createEmptyInstance: create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateMappingSessionMetadataByIDResponse clone() => UpdateMappingSessionMetadataByIDResponse()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateMappingSessionMetadataByIDResponse copyWith(void Function(UpdateMappingSessionMetadataByIDResponse) updates) => super.copyWith((message) => updates(message as UpdateMappingSessionMetadataByIDResponse)) as UpdateMappingSessionMetadataByIDResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateMappingSessionMetadataByIDResponse create() => UpdateMappingSessionMetadataByIDResponse._(); + UpdateMappingSessionMetadataByIDResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateMappingSessionMetadataByIDResponse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static UpdateMappingSessionMetadataByIDResponse? _defaultInstance; +} + class MappingMetadata extends $pb.GeneratedMessage { factory MappingMetadata() => create(); MappingMetadata._() : super(); diff --git a/lib/src/gen/app/cloudslam/v1/cloud_slam.pbgrpc.dart b/lib/src/gen/app/cloudslam/v1/cloud_slam.pbgrpc.dart index ed1ad881ef..f7fb453639 100644 --- a/lib/src/gen/app/cloudslam/v1/cloud_slam.pbgrpc.dart +++ b/lib/src/gen/app/cloudslam/v1/cloud_slam.pbgrpc.dart @@ -41,6 +41,14 @@ class CloudSLAMServiceClient extends $grpc.Client { '/viam.app.cloudslam.v1.CloudSLAMService/StopMappingSession', ($0.StopMappingSessionRequest value) => value.writeToBuffer(), ($core.List<$core.int> value) => $0.StopMappingSessionResponse.fromBuffer(value)); + static final _$getMappingSessionMetadataByID = $grpc.ClientMethod<$0.GetMappingSessionMetadataByIDRequest, $0.GetMappingSessionMetadataByIDResponse>( + '/viam.app.cloudslam.v1.CloudSLAMService/GetMappingSessionMetadataByID', + ($0.GetMappingSessionMetadataByIDRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.GetMappingSessionMetadataByIDResponse.fromBuffer(value)); + static final _$updateMappingSessionMetadataByID = $grpc.ClientMethod<$0.UpdateMappingSessionMetadataByIDRequest, $0.UpdateMappingSessionMetadataByIDResponse>( + '/viam.app.cloudslam.v1.CloudSLAMService/UpdateMappingSessionMetadataByID', + ($0.UpdateMappingSessionMetadataByIDRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.UpdateMappingSessionMetadataByIDResponse.fromBuffer(value)); CloudSLAMServiceClient($grpc.ClientChannel channel, {$grpc.CallOptions? options, @@ -67,6 +75,14 @@ class CloudSLAMServiceClient extends $grpc.Client { $grpc.ResponseFuture<$0.StopMappingSessionResponse> stopMappingSession($0.StopMappingSessionRequest request, {$grpc.CallOptions? options}) { return $createUnaryCall(_$stopMappingSession, request, options: options); } + + $grpc.ResponseFuture<$0.GetMappingSessionMetadataByIDResponse> getMappingSessionMetadataByID($0.GetMappingSessionMetadataByIDRequest request, {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getMappingSessionMetadataByID, request, options: options); + } + + $grpc.ResponseFuture<$0.UpdateMappingSessionMetadataByIDResponse> updateMappingSessionMetadataByID($0.UpdateMappingSessionMetadataByIDRequest request, {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateMappingSessionMetadataByID, request, options: options); + } } @$pb.GrpcServiceName('viam.app.cloudslam.v1.CloudSLAMService') @@ -109,6 +125,20 @@ abstract class CloudSLAMServiceBase extends $grpc.Service { false, ($core.List<$core.int> value) => $0.StopMappingSessionRequest.fromBuffer(value), ($0.StopMappingSessionResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.GetMappingSessionMetadataByIDRequest, $0.GetMappingSessionMetadataByIDResponse>( + 'GetMappingSessionMetadataByID', + getMappingSessionMetadataByID_Pre, + false, + false, + ($core.List<$core.int> value) => $0.GetMappingSessionMetadataByIDRequest.fromBuffer(value), + ($0.GetMappingSessionMetadataByIDResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.UpdateMappingSessionMetadataByIDRequest, $0.UpdateMappingSessionMetadataByIDResponse>( + 'UpdateMappingSessionMetadataByID', + updateMappingSessionMetadataByID_Pre, + false, + false, + ($core.List<$core.int> value) => $0.UpdateMappingSessionMetadataByIDRequest.fromBuffer(value), + ($0.UpdateMappingSessionMetadataByIDResponse value) => value.writeToBuffer())); } $async.Future<$0.StartMappingSessionResponse> startMappingSession_Pre($grpc.ServiceCall call, $async.Future<$0.StartMappingSessionRequest> request) async { @@ -131,9 +161,19 @@ abstract class CloudSLAMServiceBase extends $grpc.Service { return stopMappingSession(call, await request); } + $async.Future<$0.GetMappingSessionMetadataByIDResponse> getMappingSessionMetadataByID_Pre($grpc.ServiceCall call, $async.Future<$0.GetMappingSessionMetadataByIDRequest> request) async { + return getMappingSessionMetadataByID(call, await request); + } + + $async.Future<$0.UpdateMappingSessionMetadataByIDResponse> updateMappingSessionMetadataByID_Pre($grpc.ServiceCall call, $async.Future<$0.UpdateMappingSessionMetadataByIDRequest> request) async { + return updateMappingSessionMetadataByID(call, await request); + } + $async.Future<$0.StartMappingSessionResponse> startMappingSession($grpc.ServiceCall call, $0.StartMappingSessionRequest request); $async.Future<$0.GetActiveMappingSessionsForRobotResponse> getActiveMappingSessionsForRobot($grpc.ServiceCall call, $0.GetActiveMappingSessionsForRobotRequest request); $async.Future<$0.GetMappingSessionPointCloudResponse> getMappingSessionPointCloud($grpc.ServiceCall call, $0.GetMappingSessionPointCloudRequest request); $async.Future<$0.ListMappingSessionsResponse> listMappingSessions($grpc.ServiceCall call, $0.ListMappingSessionsRequest request); $async.Future<$0.StopMappingSessionResponse> stopMappingSession($grpc.ServiceCall call, $0.StopMappingSessionRequest request); + $async.Future<$0.GetMappingSessionMetadataByIDResponse> getMappingSessionMetadataByID($grpc.ServiceCall call, $0.GetMappingSessionMetadataByIDRequest request); + $async.Future<$0.UpdateMappingSessionMetadataByIDResponse> updateMappingSessionMetadataByID($grpc.ServiceCall call, $0.UpdateMappingSessionMetadataByIDRequest request); } diff --git a/lib/src/gen/app/cloudslam/v1/cloud_slam.pbjson.dart b/lib/src/gen/app/cloudslam/v1/cloud_slam.pbjson.dart index bdba4cf4d2..102d521177 100644 --- a/lib/src/gen/app/cloudslam/v1/cloud_slam.pbjson.dart +++ b/lib/src/gen/app/cloudslam/v1/cloud_slam.pbjson.dart @@ -24,6 +24,7 @@ const StartMappingSessionRequest$json = { {'1': 'location_id', '3': 5, '4': 1, '5': 9, '10': 'locationId'}, {'1': 'robot_id', '3': 6, '4': 1, '5': 9, '10': 'robotId'}, {'1': 'viam_server_version', '3': 7, '4': 1, '5': 9, '10': 'viamServerVersion'}, + {'1': 'is_online', '3': 8, '4': 1, '5': 8, '10': 'isOnline'}, ], }; @@ -34,7 +35,7 @@ final $typed_data.Uint8List startMappingSessionRequestDescriptor = $convert.base 'bGFtVmVyc2lvbhIZCghtYXBfbmFtZRgDIAEoCVIHbWFwTmFtZRInCg9vcmdhbml6YXRpb25faW' 'QYBCABKAlSDm9yZ2FuaXphdGlvbklkEh8KC2xvY2F0aW9uX2lkGAUgASgJUgpsb2NhdGlvbklk' 'EhkKCHJvYm90X2lkGAYgASgJUgdyb2JvdElkEi4KE3ZpYW1fc2VydmVyX3ZlcnNpb24YByABKA' - 'lSEXZpYW1TZXJ2ZXJWZXJzaW9u'); + 'lSEXZpYW1TZXJ2ZXJWZXJzaW9uEhsKCWlzX29ubGluZRgIIAEoCFIIaXNPbmxpbmU='); @$core.Deprecated('Use startMappingSessionResponseDescriptor instead') const StartMappingSessionResponse$json = { @@ -134,14 +135,13 @@ const StopMappingSessionRequest$json = { '1': 'StopMappingSessionRequest', '2': [ {'1': 'session_id', '3': 1, '4': 1, '5': 9, '10': 'sessionId'}, - {'1': 'save_map', '3': 2, '4': 1, '5': 8, '10': 'saveMap'}, ], }; /// Descriptor for `StopMappingSessionRequest`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List stopMappingSessionRequestDescriptor = $convert.base64Decode( 'ChlTdG9wTWFwcGluZ1Nlc3Npb25SZXF1ZXN0Eh0KCnNlc3Npb25faWQYASABKAlSCXNlc3Npb2' - '5JZBIZCghzYXZlX21hcBgCIAEoCFIHc2F2ZU1hcA=='); + '5JZA=='); @$core.Deprecated('Use stopMappingSessionResponseDescriptor instead') const StopMappingSessionResponse$json = { @@ -157,6 +157,56 @@ final $typed_data.Uint8List stopMappingSessionResponseDescriptor = $convert.base 'ChpTdG9wTWFwcGluZ1Nlc3Npb25SZXNwb25zZRIdCgpwYWNrYWdlX2lkGAEgASgJUglwYWNrYW' 'dlSWQSGAoHdmVyc2lvbhgCIAEoCVIHdmVyc2lvbg=='); +@$core.Deprecated('Use getMappingSessionMetadataByIDRequestDescriptor instead') +const GetMappingSessionMetadataByIDRequest$json = { + '1': 'GetMappingSessionMetadataByIDRequest', + '2': [ + {'1': 'session_id', '3': 1, '4': 1, '5': 9, '10': 'sessionId'}, + ], +}; + +/// Descriptor for `GetMappingSessionMetadataByIDRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getMappingSessionMetadataByIDRequestDescriptor = $convert.base64Decode( + 'CiRHZXRNYXBwaW5nU2Vzc2lvbk1ldGFkYXRhQnlJRFJlcXVlc3QSHQoKc2Vzc2lvbl9pZBgBIA' + 'EoCVIJc2Vzc2lvbklk'); + +@$core.Deprecated('Use getMappingSessionMetadataByIDResponseDescriptor instead') +const GetMappingSessionMetadataByIDResponse$json = { + '1': 'GetMappingSessionMetadataByIDResponse', + '2': [ + {'1': 'session_metadata', '3': 1, '4': 1, '5': 11, '6': '.viam.app.cloudslam.v1.MappingMetadata', '10': 'sessionMetadata'}, + ], +}; + +/// Descriptor for `GetMappingSessionMetadataByIDResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getMappingSessionMetadataByIDResponseDescriptor = $convert.base64Decode( + 'CiVHZXRNYXBwaW5nU2Vzc2lvbk1ldGFkYXRhQnlJRFJlc3BvbnNlElEKEHNlc3Npb25fbWV0YW' + 'RhdGEYASABKAsyJi52aWFtLmFwcC5jbG91ZHNsYW0udjEuTWFwcGluZ01ldGFkYXRhUg9zZXNz' + 'aW9uTWV0YWRhdGE='); + +@$core.Deprecated('Use updateMappingSessionMetadataByIDRequestDescriptor instead') +const UpdateMappingSessionMetadataByIDRequest$json = { + '1': 'UpdateMappingSessionMetadataByIDRequest', + '2': [ + {'1': 'session_id', '3': 1, '4': 1, '5': 9, '10': 'sessionId'}, + {'1': 'end_status', '3': 2, '4': 1, '5': 9, '10': 'endStatus'}, + ], +}; + +/// Descriptor for `UpdateMappingSessionMetadataByIDRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateMappingSessionMetadataByIDRequestDescriptor = $convert.base64Decode( + 'CidVcGRhdGVNYXBwaW5nU2Vzc2lvbk1ldGFkYXRhQnlJRFJlcXVlc3QSHQoKc2Vzc2lvbl9pZB' + 'gBIAEoCVIJc2Vzc2lvbklkEh0KCmVuZF9zdGF0dXMYAiABKAlSCWVuZFN0YXR1cw=='); + +@$core.Deprecated('Use updateMappingSessionMetadataByIDResponseDescriptor instead') +const UpdateMappingSessionMetadataByIDResponse$json = { + '1': 'UpdateMappingSessionMetadataByIDResponse', +}; + +/// Descriptor for `UpdateMappingSessionMetadataByIDResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateMappingSessionMetadataByIDResponseDescriptor = $convert.base64Decode( + 'CihVcGRhdGVNYXBwaW5nU2Vzc2lvbk1ldGFkYXRhQnlJRFJlc3BvbnNl'); + @$core.Deprecated('Use mappingMetadataDescriptor instead') const MappingMetadata$json = { '1': 'MappingMetadata', diff --git a/lib/src/gen/app/datasync/v1/data_sync.pb.dart b/lib/src/gen/app/datasync/v1/data_sync.pb.dart index 87e2fa0cbe..0290623ec5 100644 --- a/lib/src/gen/app/datasync/v1/data_sync.pb.dart +++ b/lib/src/gen/app/datasync/v1/data_sync.pb.dart @@ -223,6 +223,117 @@ class FileUploadResponse extends $pb.GeneratedMessage { void clearFileId() => clearField(1); } +enum StreamingDataCaptureUploadRequest_UploadPacket { + metadata, + data, + notSet +} + +class StreamingDataCaptureUploadRequest extends $pb.GeneratedMessage { + factory StreamingDataCaptureUploadRequest() => create(); + StreamingDataCaptureUploadRequest._() : super(); + factory StreamingDataCaptureUploadRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory StreamingDataCaptureUploadRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, StreamingDataCaptureUploadRequest_UploadPacket> _StreamingDataCaptureUploadRequest_UploadPacketByTag = { + 1 : StreamingDataCaptureUploadRequest_UploadPacket.metadata, + 2 : StreamingDataCaptureUploadRequest_UploadPacket.data, + 0 : StreamingDataCaptureUploadRequest_UploadPacket.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'StreamingDataCaptureUploadRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'viam.app.datasync.v1'), createEmptyInstance: create) + ..oo(0, [1, 2]) + ..aOM(1, _omitFieldNames ? '' : 'metadata', subBuilder: DataCaptureUploadMetadata.create) + ..a<$core.List<$core.int>>(2, _omitFieldNames ? '' : 'data', $pb.PbFieldType.OY) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + StreamingDataCaptureUploadRequest clone() => StreamingDataCaptureUploadRequest()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + StreamingDataCaptureUploadRequest copyWith(void Function(StreamingDataCaptureUploadRequest) updates) => super.copyWith((message) => updates(message as StreamingDataCaptureUploadRequest)) as StreamingDataCaptureUploadRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static StreamingDataCaptureUploadRequest create() => StreamingDataCaptureUploadRequest._(); + StreamingDataCaptureUploadRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static StreamingDataCaptureUploadRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static StreamingDataCaptureUploadRequest? _defaultInstance; + + StreamingDataCaptureUploadRequest_UploadPacket whichUploadPacket() => _StreamingDataCaptureUploadRequest_UploadPacketByTag[$_whichOneof(0)]!; + void clearUploadPacket() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + DataCaptureUploadMetadata get metadata => $_getN(0); + @$pb.TagNumber(1) + set metadata(DataCaptureUploadMetadata v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasMetadata() => $_has(0); + @$pb.TagNumber(1) + void clearMetadata() => clearField(1); + @$pb.TagNumber(1) + DataCaptureUploadMetadata ensureMetadata() => $_ensure(0); + + @$pb.TagNumber(2) + $core.List<$core.int> get data => $_getN(1); + @$pb.TagNumber(2) + set data($core.List<$core.int> v) { $_setBytes(1, v); } + @$pb.TagNumber(2) + $core.bool hasData() => $_has(1); + @$pb.TagNumber(2) + void clearData() => clearField(2); +} + +class StreamingDataCaptureUploadResponse extends $pb.GeneratedMessage { + factory StreamingDataCaptureUploadResponse() => create(); + StreamingDataCaptureUploadResponse._() : super(); + factory StreamingDataCaptureUploadResponse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory StreamingDataCaptureUploadResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'StreamingDataCaptureUploadResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'viam.app.datasync.v1'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'fileId') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + StreamingDataCaptureUploadResponse clone() => StreamingDataCaptureUploadResponse()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + StreamingDataCaptureUploadResponse copyWith(void Function(StreamingDataCaptureUploadResponse) updates) => super.copyWith((message) => updates(message as StreamingDataCaptureUploadResponse)) as StreamingDataCaptureUploadResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static StreamingDataCaptureUploadResponse create() => StreamingDataCaptureUploadResponse._(); + StreamingDataCaptureUploadResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static StreamingDataCaptureUploadResponse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static StreamingDataCaptureUploadResponse? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get fileId => $_getSZ(0); + @$pb.TagNumber(1) + set fileId($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasFileId() => $_has(0); + @$pb.TagNumber(1) + void clearFileId() => clearField(1); +} + class SensorMetadata extends $pb.GeneratedMessage { factory SensorMetadata() => create(); SensorMetadata._() : super(); @@ -658,6 +769,62 @@ class DataCaptureMetadata extends $pb.GeneratedMessage { $core.List<$core.String> get tags => $_getList(6); } +class DataCaptureUploadMetadata extends $pb.GeneratedMessage { + factory DataCaptureUploadMetadata() => create(); + DataCaptureUploadMetadata._() : super(); + factory DataCaptureUploadMetadata.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory DataCaptureUploadMetadata.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DataCaptureUploadMetadata', package: const $pb.PackageName(_omitMessageNames ? '' : 'viam.app.datasync.v1'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'uploadMetadata', subBuilder: UploadMetadata.create) + ..aOM(2, _omitFieldNames ? '' : 'sensorMetadata', subBuilder: SensorMetadata.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DataCaptureUploadMetadata clone() => DataCaptureUploadMetadata()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DataCaptureUploadMetadata copyWith(void Function(DataCaptureUploadMetadata) updates) => super.copyWith((message) => updates(message as DataCaptureUploadMetadata)) as DataCaptureUploadMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DataCaptureUploadMetadata create() => DataCaptureUploadMetadata._(); + DataCaptureUploadMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DataCaptureUploadMetadata getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static DataCaptureUploadMetadata? _defaultInstance; + + @$pb.TagNumber(1) + UploadMetadata get uploadMetadata => $_getN(0); + @$pb.TagNumber(1) + set uploadMetadata(UploadMetadata v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasUploadMetadata() => $_has(0); + @$pb.TagNumber(1) + void clearUploadMetadata() => clearField(1); + @$pb.TagNumber(1) + UploadMetadata ensureUploadMetadata() => $_ensure(0); + + @$pb.TagNumber(2) + SensorMetadata get sensorMetadata => $_getN(1); + @$pb.TagNumber(2) + set sensorMetadata(SensorMetadata v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasSensorMetadata() => $_has(1); + @$pb.TagNumber(2) + void clearSensorMetadata() => clearField(2); + @$pb.TagNumber(2) + SensorMetadata ensureSensorMetadata() => $_ensure(1); +} + const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/lib/src/gen/app/datasync/v1/data_sync.pbgrpc.dart b/lib/src/gen/app/datasync/v1/data_sync.pbgrpc.dart index 4193f86aef..9cb8a43e9e 100644 --- a/lib/src/gen/app/datasync/v1/data_sync.pbgrpc.dart +++ b/lib/src/gen/app/datasync/v1/data_sync.pbgrpc.dart @@ -29,6 +29,10 @@ class DataSyncServiceClient extends $grpc.Client { '/viam.app.datasync.v1.DataSyncService/FileUpload', ($0.FileUploadRequest value) => value.writeToBuffer(), ($core.List<$core.int> value) => $0.FileUploadResponse.fromBuffer(value)); + static final _$streamingDataCaptureUpload = $grpc.ClientMethod<$0.StreamingDataCaptureUploadRequest, $0.StreamingDataCaptureUploadResponse>( + '/viam.app.datasync.v1.DataSyncService/StreamingDataCaptureUpload', + ($0.StreamingDataCaptureUploadRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.StreamingDataCaptureUploadResponse.fromBuffer(value)); DataSyncServiceClient($grpc.ClientChannel channel, {$grpc.CallOptions? options, @@ -43,6 +47,10 @@ class DataSyncServiceClient extends $grpc.Client { $grpc.ResponseFuture<$0.FileUploadResponse> fileUpload($async.Stream<$0.FileUploadRequest> request, {$grpc.CallOptions? options}) { return $createStreamingCall(_$fileUpload, request, options: options).single; } + + $grpc.ResponseFuture<$0.StreamingDataCaptureUploadResponse> streamingDataCaptureUpload($async.Stream<$0.StreamingDataCaptureUploadRequest> request, {$grpc.CallOptions? options}) { + return $createStreamingCall(_$streamingDataCaptureUpload, request, options: options).single; + } } @$pb.GrpcServiceName('viam.app.datasync.v1.DataSyncService') @@ -64,6 +72,13 @@ abstract class DataSyncServiceBase extends $grpc.Service { false, ($core.List<$core.int> value) => $0.FileUploadRequest.fromBuffer(value), ($0.FileUploadResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.StreamingDataCaptureUploadRequest, $0.StreamingDataCaptureUploadResponse>( + 'StreamingDataCaptureUpload', + streamingDataCaptureUpload, + true, + false, + ($core.List<$core.int> value) => $0.StreamingDataCaptureUploadRequest.fromBuffer(value), + ($0.StreamingDataCaptureUploadResponse value) => value.writeToBuffer())); } $async.Future<$0.DataCaptureUploadResponse> dataCaptureUpload_Pre($grpc.ServiceCall call, $async.Future<$0.DataCaptureUploadRequest> request) async { @@ -72,4 +87,5 @@ abstract class DataSyncServiceBase extends $grpc.Service { $async.Future<$0.DataCaptureUploadResponse> dataCaptureUpload($grpc.ServiceCall call, $0.DataCaptureUploadRequest request); $async.Future<$0.FileUploadResponse> fileUpload($grpc.ServiceCall call, $async.Stream<$0.FileUploadRequest> request); + $async.Future<$0.StreamingDataCaptureUploadResponse> streamingDataCaptureUpload($grpc.ServiceCall call, $async.Stream<$0.StreamingDataCaptureUploadRequest> request); } diff --git a/lib/src/gen/app/datasync/v1/data_sync.pbjson.dart b/lib/src/gen/app/datasync/v1/data_sync.pbjson.dart index 23893cfc64..c84b0ee7c7 100644 --- a/lib/src/gen/app/datasync/v1/data_sync.pbjson.dart +++ b/lib/src/gen/app/datasync/v1/data_sync.pbjson.dart @@ -89,6 +89,37 @@ const FileUploadResponse$json = { final $typed_data.Uint8List fileUploadResponseDescriptor = $convert.base64Decode( 'ChJGaWxlVXBsb2FkUmVzcG9uc2USFwoHZmlsZV9pZBgBIAEoCVIGZmlsZUlk'); +@$core.Deprecated('Use streamingDataCaptureUploadRequestDescriptor instead') +const StreamingDataCaptureUploadRequest$json = { + '1': 'StreamingDataCaptureUploadRequest', + '2': [ + {'1': 'metadata', '3': 1, '4': 1, '5': 11, '6': '.viam.app.datasync.v1.DataCaptureUploadMetadata', '9': 0, '10': 'metadata'}, + {'1': 'data', '3': 2, '4': 1, '5': 12, '9': 0, '10': 'data'}, + ], + '8': [ + {'1': 'upload_packet'}, + ], +}; + +/// Descriptor for `StreamingDataCaptureUploadRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List streamingDataCaptureUploadRequestDescriptor = $convert.base64Decode( + 'CiFTdHJlYW1pbmdEYXRhQ2FwdHVyZVVwbG9hZFJlcXVlc3QSTQoIbWV0YWRhdGEYASABKAsyLy' + '52aWFtLmFwcC5kYXRhc3luYy52MS5EYXRhQ2FwdHVyZVVwbG9hZE1ldGFkYXRhSABSCG1ldGFk' + 'YXRhEhQKBGRhdGEYAiABKAxIAFIEZGF0YUIPCg11cGxvYWRfcGFja2V0'); + +@$core.Deprecated('Use streamingDataCaptureUploadResponseDescriptor instead') +const StreamingDataCaptureUploadResponse$json = { + '1': 'StreamingDataCaptureUploadResponse', + '2': [ + {'1': 'file_id', '3': 1, '4': 1, '5': 9, '10': 'fileId'}, + ], +}; + +/// Descriptor for `StreamingDataCaptureUploadResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List streamingDataCaptureUploadResponseDescriptor = $convert.base64Decode( + 'CiJTdHJlYW1pbmdEYXRhQ2FwdHVyZVVwbG9hZFJlc3BvbnNlEhcKB2ZpbGVfaWQYASABKAlSBm' + 'ZpbGVJZA=='); + @$core.Deprecated('Use sensorMetadataDescriptor instead') const SensorMetadata$json = { '1': 'SensorMetadata', @@ -237,3 +268,19 @@ final $typed_data.Uint8List dataCaptureMetadataDescriptor = $convert.base64Decod 'EoCVIDa2V5EioKBXZhbHVlGAIgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIFdmFsdWU6AjgB' 'SgQIAxAESgQICRAKUg9jb21wb25lbnRfbW9kZWxSCnNlc3Npb25faWQ='); +@$core.Deprecated('Use dataCaptureUploadMetadataDescriptor instead') +const DataCaptureUploadMetadata$json = { + '1': 'DataCaptureUploadMetadata', + '2': [ + {'1': 'upload_metadata', '3': 1, '4': 1, '5': 11, '6': '.viam.app.datasync.v1.UploadMetadata', '10': 'uploadMetadata'}, + {'1': 'sensor_metadata', '3': 2, '4': 1, '5': 11, '6': '.viam.app.datasync.v1.SensorMetadata', '10': 'sensorMetadata'}, + ], +}; + +/// Descriptor for `DataCaptureUploadMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List dataCaptureUploadMetadataDescriptor = $convert.base64Decode( + 'ChlEYXRhQ2FwdHVyZVVwbG9hZE1ldGFkYXRhEk0KD3VwbG9hZF9tZXRhZGF0YRgBIAEoCzIkLn' + 'ZpYW0uYXBwLmRhdGFzeW5jLnYxLlVwbG9hZE1ldGFkYXRhUg51cGxvYWRNZXRhZGF0YRJNCg9z' + 'ZW5zb3JfbWV0YWRhdGEYAiABKAsyJC52aWFtLmFwcC5kYXRhc3luYy52MS5TZW5zb3JNZXRhZG' + 'F0YVIOc2Vuc29yTWV0YWRhdGE='); + diff --git a/lib/src/gen/app/mltraining/v1/ml_training.pb.dart b/lib/src/gen/app/mltraining/v1/ml_training.pb.dart index b7cb6fc99b..a2976fc400 100644 --- a/lib/src/gen/app/mltraining/v1/ml_training.pb.dart +++ b/lib/src/gen/app/mltraining/v1/ml_training.pb.dart @@ -336,7 +336,6 @@ class TrainingJobMetadata extends $pb.GeneratedMessage { ..aOM<$2.Timestamp>(3, _omitFieldNames ? '' : 'createdOn', subBuilder: $2.Timestamp.create) ..aOM<$2.Timestamp>(4, _omitFieldNames ? '' : 'lastModified', subBuilder: $2.Timestamp.create) ..aOS(5, _omitFieldNames ? '' : 'syncedModelId') - ..aOS(6, _omitFieldNames ? '' : 'userEmail') ..aOS(7, _omitFieldNames ? '' : 'id') ..aOM<$3.Status>(8, _omitFieldNames ? '' : 'errorStatus', subBuilder: $3.Status.create) ..hasRequiredFields = false @@ -414,34 +413,25 @@ class TrainingJobMetadata extends $pb.GeneratedMessage { @$pb.TagNumber(5) void clearSyncedModelId() => clearField(5); - @$pb.TagNumber(6) - $core.String get userEmail => $_getSZ(5); - @$pb.TagNumber(6) - set userEmail($core.String v) { $_setString(5, v); } - @$pb.TagNumber(6) - $core.bool hasUserEmail() => $_has(5); - @$pb.TagNumber(6) - void clearUserEmail() => clearField(6); - @$pb.TagNumber(7) - $core.String get id => $_getSZ(6); + $core.String get id => $_getSZ(5); @$pb.TagNumber(7) - set id($core.String v) { $_setString(6, v); } + set id($core.String v) { $_setString(5, v); } @$pb.TagNumber(7) - $core.bool hasId() => $_has(6); + $core.bool hasId() => $_has(5); @$pb.TagNumber(7) void clearId() => clearField(7); @$pb.TagNumber(8) - $3.Status get errorStatus => $_getN(7); + $3.Status get errorStatus => $_getN(6); @$pb.TagNumber(8) set errorStatus($3.Status v) { setField(8, v); } @$pb.TagNumber(8) - $core.bool hasErrorStatus() => $_has(7); + $core.bool hasErrorStatus() => $_has(6); @$pb.TagNumber(8) void clearErrorStatus() => clearField(8); @$pb.TagNumber(8) - $3.Status ensureErrorStatus() => $_ensure(7); + $3.Status ensureErrorStatus() => $_ensure(6); } class CancelTrainingJobRequest extends $pb.GeneratedMessage { diff --git a/lib/src/gen/app/mltraining/v1/ml_training.pbjson.dart b/lib/src/gen/app/mltraining/v1/ml_training.pbjson.dart index 2e2139eb67..485a4b56e7 100644 --- a/lib/src/gen/app/mltraining/v1/ml_training.pbjson.dart +++ b/lib/src/gen/app/mltraining/v1/ml_training.pbjson.dart @@ -152,10 +152,13 @@ const TrainingJobMetadata$json = { {'1': 'created_on', '3': 3, '4': 1, '5': 11, '6': '.google.protobuf.Timestamp', '8': {}, '10': 'createdOn'}, {'1': 'last_modified', '3': 4, '4': 1, '5': 11, '6': '.google.protobuf.Timestamp', '8': {}, '10': 'lastModified'}, {'1': 'synced_model_id', '3': 5, '4': 1, '5': 9, '8': {}, '10': 'syncedModelId'}, - {'1': 'user_email', '3': 6, '4': 1, '5': 9, '8': {}, '10': 'userEmail'}, {'1': 'id', '3': 7, '4': 1, '5': 9, '8': {}, '10': 'id'}, {'1': 'error_status', '3': 8, '4': 1, '5': 11, '6': '.google.rpc.Status', '8': {}, '10': 'errorStatus'}, ], + '9': [ + {'1': 6, '2': 7}, + ], + '10': ['user_email'], }; /// Descriptor for `TrainingJobMetadata`. Decode as a `google.protobuf.DescriptorProto`. @@ -169,11 +172,10 @@ final $typed_data.Uint8List trainingJobMetadataDescriptor = $convert.base64Decod 'bwoNbGFzdF9tb2RpZmllZBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCLpqEng' 'MpYnNvbjoibGFzdF9tb2RpZmllZCIganNvbjoibGFzdF9tb2RpZmllZCJSDGxhc3RNb2RpZmll' 'ZBJaCg9zeW5jZWRfbW9kZWxfaWQYBSABKAlCMpqEngMtYnNvbjoic3luY2VkX21vZGVsX2lkIi' - 'Bqc29uOiJzeW5jZWRfbW9kZWxfaWQiUg1zeW5jZWRNb2RlbElkEkcKCnVzZXJfZW1haWwYBiAB' - 'KAlCKJqEngMjYnNvbjoidXNlcl9lbWFpbCIganNvbjoidXNlcl9lbWFpbCJSCXVzZXJFbWFpbB' - 'IzCgJpZBgHIAEoCUIjmoSeAx5ic29uOiJfaWQiIGpzb246ImlkLG9taXRlbXB0eSJSAmlkEmMK' - 'DGVycm9yX3N0YXR1cxgIIAEoCzISLmdvb2dsZS5ycGMuU3RhdHVzQiyahJ4DJ2Jzb246ImVycm' - '9yX3N0YXR1cyIganNvbjoiZXJyb3Jfc3RhdHVzIlILZXJyb3JTdGF0dXM='); + 'Bqc29uOiJzeW5jZWRfbW9kZWxfaWQiUg1zeW5jZWRNb2RlbElkEjMKAmlkGAcgASgJQiOahJ4D' + 'HmJzb246Il9pZCIganNvbjoiaWQsb21pdGVtcHR5IlICaWQSYwoMZXJyb3Jfc3RhdHVzGAggAS' + 'gLMhIuZ29vZ2xlLnJwYy5TdGF0dXNCLJqEngMnYnNvbjoiZXJyb3Jfc3RhdHVzIiBqc29uOiJl' + 'cnJvcl9zdGF0dXMiUgtlcnJvclN0YXR1c0oECAYQB1IKdXNlcl9lbWFpbA=='); @$core.Deprecated('Use cancelTrainingJobRequestDescriptor instead') const CancelTrainingJobRequest$json = { diff --git a/lib/src/gen/service/mlmodel/v1/mlmodel.pb.dart b/lib/src/gen/service/mlmodel/v1/mlmodel.pb.dart index 8039a9d021..9958f6835b 100644 --- a/lib/src/gen/service/mlmodel/v1/mlmodel.pb.dart +++ b/lib/src/gen/service/mlmodel/v1/mlmodel.pb.dart @@ -11,6 +11,7 @@ import 'dart:core' as $core; +import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; import '../../../google/protobuf/struct.pb.dart' as $1; @@ -27,6 +28,8 @@ class InferRequest extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'InferRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'viam.service.mlmodel.v1'), createEmptyInstance: create) ..aOS(1, _omitFieldNames ? '' : 'name') ..aOM<$1.Struct>(2, _omitFieldNames ? '' : 'inputData', subBuilder: $1.Struct.create) + ..aOM(3, _omitFieldNames ? '' : 'inputTensors', subBuilder: FlatTensors.create) + ..aOM<$1.Struct>(99, _omitFieldNames ? '' : 'extra', subBuilder: $1.Struct.create) ..hasRequiredFields = false ; @@ -70,6 +73,28 @@ class InferRequest extends $pb.GeneratedMessage { void clearInputData() => clearField(2); @$pb.TagNumber(2) $1.Struct ensureInputData() => $_ensure(1); + + @$pb.TagNumber(3) + FlatTensors get inputTensors => $_getN(2); + @$pb.TagNumber(3) + set inputTensors(FlatTensors v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasInputTensors() => $_has(2); + @$pb.TagNumber(3) + void clearInputTensors() => clearField(3); + @$pb.TagNumber(3) + FlatTensors ensureInputTensors() => $_ensure(2); + + @$pb.TagNumber(99) + $1.Struct get extra => $_getN(3); + @$pb.TagNumber(99) + set extra($1.Struct v) { setField(99, v); } + @$pb.TagNumber(99) + $core.bool hasExtra() => $_has(3); + @$pb.TagNumber(99) + void clearExtra() => clearField(99); + @$pb.TagNumber(99) + $1.Struct ensureExtra() => $_ensure(3); } class InferResponse extends $pb.GeneratedMessage { @@ -80,6 +105,7 @@ class InferResponse extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'InferResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'viam.service.mlmodel.v1'), createEmptyInstance: create) ..aOM<$1.Struct>(2, _omitFieldNames ? '' : 'outputData', subBuilder: $1.Struct.create) + ..aOM(3, _omitFieldNames ? '' : 'outputTensors', subBuilder: FlatTensors.create) ..hasRequiredFields = false ; @@ -114,6 +140,17 @@ class InferResponse extends $pb.GeneratedMessage { void clearOutputData() => clearField(2); @$pb.TagNumber(2) $1.Struct ensureOutputData() => $_ensure(0); + + @$pb.TagNumber(3) + FlatTensors get outputTensors => $_getN(1); + @$pb.TagNumber(3) + set outputTensors(FlatTensors v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasOutputTensors() => $_has(1); + @$pb.TagNumber(3) + void clearOutputTensors() => clearField(3); + @$pb.TagNumber(3) + FlatTensors ensureOutputTensors() => $_ensure(1); } class MetadataRequest extends $pb.GeneratedMessage { @@ -124,6 +161,7 @@ class MetadataRequest extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'MetadataRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'viam.service.mlmodel.v1'), createEmptyInstance: create) ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM<$1.Struct>(99, _omitFieldNames ? '' : 'extra', subBuilder: $1.Struct.create) ..hasRequiredFields = false ; @@ -156,6 +194,17 @@ class MetadataRequest extends $pb.GeneratedMessage { $core.bool hasName() => $_has(0); @$pb.TagNumber(1) void clearName() => clearField(1); + + @$pb.TagNumber(99) + $1.Struct get extra => $_getN(1); + @$pb.TagNumber(99) + set extra($1.Struct v) { setField(99, v); } + @$pb.TagNumber(99) + $core.bool hasExtra() => $_has(1); + @$pb.TagNumber(99) + void clearExtra() => clearField(99); + @$pb.TagNumber(99) + $1.Struct ensureExtra() => $_ensure(1); } class MetadataResponse extends $pb.GeneratedMessage { @@ -416,6 +465,601 @@ class File extends $pb.GeneratedMessage { void clearLabelType() => clearField(3); } +class FlatTensorDataInt8 extends $pb.GeneratedMessage { + factory FlatTensorDataInt8() => create(); + FlatTensorDataInt8._() : super(); + factory FlatTensorDataInt8.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory FlatTensorDataInt8.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FlatTensorDataInt8', package: const $pb.PackageName(_omitMessageNames ? '' : 'viam.service.mlmodel.v1'), createEmptyInstance: create) + ..a<$core.List<$core.int>>(1, _omitFieldNames ? '' : 'data', $pb.PbFieldType.OY) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FlatTensorDataInt8 clone() => FlatTensorDataInt8()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FlatTensorDataInt8 copyWith(void Function(FlatTensorDataInt8) updates) => super.copyWith((message) => updates(message as FlatTensorDataInt8)) as FlatTensorDataInt8; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FlatTensorDataInt8 create() => FlatTensorDataInt8._(); + FlatTensorDataInt8 createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FlatTensorDataInt8 getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FlatTensorDataInt8? _defaultInstance; + + @$pb.TagNumber(1) + $core.List<$core.int> get data => $_getN(0); + @$pb.TagNumber(1) + set data($core.List<$core.int> v) { $_setBytes(0, v); } + @$pb.TagNumber(1) + $core.bool hasData() => $_has(0); + @$pb.TagNumber(1) + void clearData() => clearField(1); +} + +class FlatTensorDataUInt8 extends $pb.GeneratedMessage { + factory FlatTensorDataUInt8() => create(); + FlatTensorDataUInt8._() : super(); + factory FlatTensorDataUInt8.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory FlatTensorDataUInt8.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FlatTensorDataUInt8', package: const $pb.PackageName(_omitMessageNames ? '' : 'viam.service.mlmodel.v1'), createEmptyInstance: create) + ..a<$core.List<$core.int>>(1, _omitFieldNames ? '' : 'data', $pb.PbFieldType.OY) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FlatTensorDataUInt8 clone() => FlatTensorDataUInt8()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FlatTensorDataUInt8 copyWith(void Function(FlatTensorDataUInt8) updates) => super.copyWith((message) => updates(message as FlatTensorDataUInt8)) as FlatTensorDataUInt8; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FlatTensorDataUInt8 create() => FlatTensorDataUInt8._(); + FlatTensorDataUInt8 createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FlatTensorDataUInt8 getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FlatTensorDataUInt8? _defaultInstance; + + @$pb.TagNumber(1) + $core.List<$core.int> get data => $_getN(0); + @$pb.TagNumber(1) + set data($core.List<$core.int> v) { $_setBytes(0, v); } + @$pb.TagNumber(1) + $core.bool hasData() => $_has(0); + @$pb.TagNumber(1) + void clearData() => clearField(1); +} + +class FlatTensorDataInt16 extends $pb.GeneratedMessage { + factory FlatTensorDataInt16() => create(); + FlatTensorDataInt16._() : super(); + factory FlatTensorDataInt16.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory FlatTensorDataInt16.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FlatTensorDataInt16', package: const $pb.PackageName(_omitMessageNames ? '' : 'viam.service.mlmodel.v1'), createEmptyInstance: create) + ..p<$core.int>(1, _omitFieldNames ? '' : 'data', $pb.PbFieldType.KF3) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FlatTensorDataInt16 clone() => FlatTensorDataInt16()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FlatTensorDataInt16 copyWith(void Function(FlatTensorDataInt16) updates) => super.copyWith((message) => updates(message as FlatTensorDataInt16)) as FlatTensorDataInt16; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FlatTensorDataInt16 create() => FlatTensorDataInt16._(); + FlatTensorDataInt16 createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FlatTensorDataInt16 getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FlatTensorDataInt16? _defaultInstance; + + @$pb.TagNumber(1) + $core.List<$core.int> get data => $_getList(0); +} + +class FlatTensorDataUInt16 extends $pb.GeneratedMessage { + factory FlatTensorDataUInt16() => create(); + FlatTensorDataUInt16._() : super(); + factory FlatTensorDataUInt16.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory FlatTensorDataUInt16.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FlatTensorDataUInt16', package: const $pb.PackageName(_omitMessageNames ? '' : 'viam.service.mlmodel.v1'), createEmptyInstance: create) + ..p<$core.int>(1, _omitFieldNames ? '' : 'data', $pb.PbFieldType.KF3) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FlatTensorDataUInt16 clone() => FlatTensorDataUInt16()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FlatTensorDataUInt16 copyWith(void Function(FlatTensorDataUInt16) updates) => super.copyWith((message) => updates(message as FlatTensorDataUInt16)) as FlatTensorDataUInt16; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FlatTensorDataUInt16 create() => FlatTensorDataUInt16._(); + FlatTensorDataUInt16 createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FlatTensorDataUInt16 getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FlatTensorDataUInt16? _defaultInstance; + + @$pb.TagNumber(1) + $core.List<$core.int> get data => $_getList(0); +} + +class FlatTensorDataInt32 extends $pb.GeneratedMessage { + factory FlatTensorDataInt32() => create(); + FlatTensorDataInt32._() : super(); + factory FlatTensorDataInt32.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory FlatTensorDataInt32.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FlatTensorDataInt32', package: const $pb.PackageName(_omitMessageNames ? '' : 'viam.service.mlmodel.v1'), createEmptyInstance: create) + ..p<$core.int>(1, _omitFieldNames ? '' : 'data', $pb.PbFieldType.KSF3) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FlatTensorDataInt32 clone() => FlatTensorDataInt32()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FlatTensorDataInt32 copyWith(void Function(FlatTensorDataInt32) updates) => super.copyWith((message) => updates(message as FlatTensorDataInt32)) as FlatTensorDataInt32; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FlatTensorDataInt32 create() => FlatTensorDataInt32._(); + FlatTensorDataInt32 createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FlatTensorDataInt32 getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FlatTensorDataInt32? _defaultInstance; + + @$pb.TagNumber(1) + $core.List<$core.int> get data => $_getList(0); +} + +class FlatTensorDataUInt32 extends $pb.GeneratedMessage { + factory FlatTensorDataUInt32() => create(); + FlatTensorDataUInt32._() : super(); + factory FlatTensorDataUInt32.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory FlatTensorDataUInt32.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FlatTensorDataUInt32', package: const $pb.PackageName(_omitMessageNames ? '' : 'viam.service.mlmodel.v1'), createEmptyInstance: create) + ..p<$core.int>(1, _omitFieldNames ? '' : 'data', $pb.PbFieldType.KF3) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FlatTensorDataUInt32 clone() => FlatTensorDataUInt32()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FlatTensorDataUInt32 copyWith(void Function(FlatTensorDataUInt32) updates) => super.copyWith((message) => updates(message as FlatTensorDataUInt32)) as FlatTensorDataUInt32; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FlatTensorDataUInt32 create() => FlatTensorDataUInt32._(); + FlatTensorDataUInt32 createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FlatTensorDataUInt32 getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FlatTensorDataUInt32? _defaultInstance; + + @$pb.TagNumber(1) + $core.List<$core.int> get data => $_getList(0); +} + +class FlatTensorDataInt64 extends $pb.GeneratedMessage { + factory FlatTensorDataInt64() => create(); + FlatTensorDataInt64._() : super(); + factory FlatTensorDataInt64.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory FlatTensorDataInt64.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FlatTensorDataInt64', package: const $pb.PackageName(_omitMessageNames ? '' : 'viam.service.mlmodel.v1'), createEmptyInstance: create) + ..p<$fixnum.Int64>(1, _omitFieldNames ? '' : 'data', $pb.PbFieldType.KSF6) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FlatTensorDataInt64 clone() => FlatTensorDataInt64()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FlatTensorDataInt64 copyWith(void Function(FlatTensorDataInt64) updates) => super.copyWith((message) => updates(message as FlatTensorDataInt64)) as FlatTensorDataInt64; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FlatTensorDataInt64 create() => FlatTensorDataInt64._(); + FlatTensorDataInt64 createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FlatTensorDataInt64 getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FlatTensorDataInt64? _defaultInstance; + + @$pb.TagNumber(1) + $core.List<$fixnum.Int64> get data => $_getList(0); +} + +class FlatTensorDataUInt64 extends $pb.GeneratedMessage { + factory FlatTensorDataUInt64() => create(); + FlatTensorDataUInt64._() : super(); + factory FlatTensorDataUInt64.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory FlatTensorDataUInt64.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FlatTensorDataUInt64', package: const $pb.PackageName(_omitMessageNames ? '' : 'viam.service.mlmodel.v1'), createEmptyInstance: create) + ..p<$fixnum.Int64>(1, _omitFieldNames ? '' : 'data', $pb.PbFieldType.KF6) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FlatTensorDataUInt64 clone() => FlatTensorDataUInt64()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FlatTensorDataUInt64 copyWith(void Function(FlatTensorDataUInt64) updates) => super.copyWith((message) => updates(message as FlatTensorDataUInt64)) as FlatTensorDataUInt64; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FlatTensorDataUInt64 create() => FlatTensorDataUInt64._(); + FlatTensorDataUInt64 createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FlatTensorDataUInt64 getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FlatTensorDataUInt64? _defaultInstance; + + @$pb.TagNumber(1) + $core.List<$fixnum.Int64> get data => $_getList(0); +} + +class FlatTensorDataFloat extends $pb.GeneratedMessage { + factory FlatTensorDataFloat() => create(); + FlatTensorDataFloat._() : super(); + factory FlatTensorDataFloat.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory FlatTensorDataFloat.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FlatTensorDataFloat', package: const $pb.PackageName(_omitMessageNames ? '' : 'viam.service.mlmodel.v1'), createEmptyInstance: create) + ..p<$core.double>(1, _omitFieldNames ? '' : 'data', $pb.PbFieldType.KF) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FlatTensorDataFloat clone() => FlatTensorDataFloat()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FlatTensorDataFloat copyWith(void Function(FlatTensorDataFloat) updates) => super.copyWith((message) => updates(message as FlatTensorDataFloat)) as FlatTensorDataFloat; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FlatTensorDataFloat create() => FlatTensorDataFloat._(); + FlatTensorDataFloat createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FlatTensorDataFloat getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FlatTensorDataFloat? _defaultInstance; + + @$pb.TagNumber(1) + $core.List<$core.double> get data => $_getList(0); +} + +class FlatTensorDataDouble extends $pb.GeneratedMessage { + factory FlatTensorDataDouble() => create(); + FlatTensorDataDouble._() : super(); + factory FlatTensorDataDouble.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory FlatTensorDataDouble.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FlatTensorDataDouble', package: const $pb.PackageName(_omitMessageNames ? '' : 'viam.service.mlmodel.v1'), createEmptyInstance: create) + ..p<$core.double>(1, _omitFieldNames ? '' : 'data', $pb.PbFieldType.KD) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FlatTensorDataDouble clone() => FlatTensorDataDouble()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FlatTensorDataDouble copyWith(void Function(FlatTensorDataDouble) updates) => super.copyWith((message) => updates(message as FlatTensorDataDouble)) as FlatTensorDataDouble; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FlatTensorDataDouble create() => FlatTensorDataDouble._(); + FlatTensorDataDouble createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FlatTensorDataDouble getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FlatTensorDataDouble? _defaultInstance; + + @$pb.TagNumber(1) + $core.List<$core.double> get data => $_getList(0); +} + +enum FlatTensor_Tensor { + int8Tensor, + uint8Tensor, + int16Tensor, + uint16Tensor, + int32Tensor, + uint32Tensor, + int64Tensor, + uint64Tensor, + floatTensor, + doubleTensor, + notSet +} + +class FlatTensor extends $pb.GeneratedMessage { + factory FlatTensor() => create(); + FlatTensor._() : super(); + factory FlatTensor.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory FlatTensor.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, FlatTensor_Tensor> _FlatTensor_TensorByTag = { + 2 : FlatTensor_Tensor.int8Tensor, + 3 : FlatTensor_Tensor.uint8Tensor, + 4 : FlatTensor_Tensor.int16Tensor, + 5 : FlatTensor_Tensor.uint16Tensor, + 6 : FlatTensor_Tensor.int32Tensor, + 7 : FlatTensor_Tensor.uint32Tensor, + 8 : FlatTensor_Tensor.int64Tensor, + 9 : FlatTensor_Tensor.uint64Tensor, + 10 : FlatTensor_Tensor.floatTensor, + 11 : FlatTensor_Tensor.doubleTensor, + 0 : FlatTensor_Tensor.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FlatTensor', package: const $pb.PackageName(_omitMessageNames ? '' : 'viam.service.mlmodel.v1'), createEmptyInstance: create) + ..oo(0, [2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) + ..p<$fixnum.Int64>(1, _omitFieldNames ? '' : 'shape', $pb.PbFieldType.KF6) + ..aOM(2, _omitFieldNames ? '' : 'int8Tensor', subBuilder: FlatTensorDataInt8.create) + ..aOM(3, _omitFieldNames ? '' : 'uint8Tensor', subBuilder: FlatTensorDataUInt8.create) + ..aOM(4, _omitFieldNames ? '' : 'int16Tensor', subBuilder: FlatTensorDataInt16.create) + ..aOM(5, _omitFieldNames ? '' : 'uint16Tensor', subBuilder: FlatTensorDataUInt16.create) + ..aOM(6, _omitFieldNames ? '' : 'int32Tensor', subBuilder: FlatTensorDataInt32.create) + ..aOM(7, _omitFieldNames ? '' : 'uint32Tensor', subBuilder: FlatTensorDataUInt32.create) + ..aOM(8, _omitFieldNames ? '' : 'int64Tensor', subBuilder: FlatTensorDataInt64.create) + ..aOM(9, _omitFieldNames ? '' : 'uint64Tensor', subBuilder: FlatTensorDataUInt64.create) + ..aOM(10, _omitFieldNames ? '' : 'floatTensor', subBuilder: FlatTensorDataFloat.create) + ..aOM(11, _omitFieldNames ? '' : 'doubleTensor', subBuilder: FlatTensorDataDouble.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FlatTensor clone() => FlatTensor()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FlatTensor copyWith(void Function(FlatTensor) updates) => super.copyWith((message) => updates(message as FlatTensor)) as FlatTensor; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FlatTensor create() => FlatTensor._(); + FlatTensor createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FlatTensor getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FlatTensor? _defaultInstance; + + FlatTensor_Tensor whichTensor() => _FlatTensor_TensorByTag[$_whichOneof(0)]!; + void clearTensor() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + $core.List<$fixnum.Int64> get shape => $_getList(0); + + @$pb.TagNumber(2) + FlatTensorDataInt8 get int8Tensor => $_getN(1); + @$pb.TagNumber(2) + set int8Tensor(FlatTensorDataInt8 v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasInt8Tensor() => $_has(1); + @$pb.TagNumber(2) + void clearInt8Tensor() => clearField(2); + @$pb.TagNumber(2) + FlatTensorDataInt8 ensureInt8Tensor() => $_ensure(1); + + @$pb.TagNumber(3) + FlatTensorDataUInt8 get uint8Tensor => $_getN(2); + @$pb.TagNumber(3) + set uint8Tensor(FlatTensorDataUInt8 v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasUint8Tensor() => $_has(2); + @$pb.TagNumber(3) + void clearUint8Tensor() => clearField(3); + @$pb.TagNumber(3) + FlatTensorDataUInt8 ensureUint8Tensor() => $_ensure(2); + + @$pb.TagNumber(4) + FlatTensorDataInt16 get int16Tensor => $_getN(3); + @$pb.TagNumber(4) + set int16Tensor(FlatTensorDataInt16 v) { setField(4, v); } + @$pb.TagNumber(4) + $core.bool hasInt16Tensor() => $_has(3); + @$pb.TagNumber(4) + void clearInt16Tensor() => clearField(4); + @$pb.TagNumber(4) + FlatTensorDataInt16 ensureInt16Tensor() => $_ensure(3); + + @$pb.TagNumber(5) + FlatTensorDataUInt16 get uint16Tensor => $_getN(4); + @$pb.TagNumber(5) + set uint16Tensor(FlatTensorDataUInt16 v) { setField(5, v); } + @$pb.TagNumber(5) + $core.bool hasUint16Tensor() => $_has(4); + @$pb.TagNumber(5) + void clearUint16Tensor() => clearField(5); + @$pb.TagNumber(5) + FlatTensorDataUInt16 ensureUint16Tensor() => $_ensure(4); + + @$pb.TagNumber(6) + FlatTensorDataInt32 get int32Tensor => $_getN(5); + @$pb.TagNumber(6) + set int32Tensor(FlatTensorDataInt32 v) { setField(6, v); } + @$pb.TagNumber(6) + $core.bool hasInt32Tensor() => $_has(5); + @$pb.TagNumber(6) + void clearInt32Tensor() => clearField(6); + @$pb.TagNumber(6) + FlatTensorDataInt32 ensureInt32Tensor() => $_ensure(5); + + @$pb.TagNumber(7) + FlatTensorDataUInt32 get uint32Tensor => $_getN(6); + @$pb.TagNumber(7) + set uint32Tensor(FlatTensorDataUInt32 v) { setField(7, v); } + @$pb.TagNumber(7) + $core.bool hasUint32Tensor() => $_has(6); + @$pb.TagNumber(7) + void clearUint32Tensor() => clearField(7); + @$pb.TagNumber(7) + FlatTensorDataUInt32 ensureUint32Tensor() => $_ensure(6); + + @$pb.TagNumber(8) + FlatTensorDataInt64 get int64Tensor => $_getN(7); + @$pb.TagNumber(8) + set int64Tensor(FlatTensorDataInt64 v) { setField(8, v); } + @$pb.TagNumber(8) + $core.bool hasInt64Tensor() => $_has(7); + @$pb.TagNumber(8) + void clearInt64Tensor() => clearField(8); + @$pb.TagNumber(8) + FlatTensorDataInt64 ensureInt64Tensor() => $_ensure(7); + + @$pb.TagNumber(9) + FlatTensorDataUInt64 get uint64Tensor => $_getN(8); + @$pb.TagNumber(9) + set uint64Tensor(FlatTensorDataUInt64 v) { setField(9, v); } + @$pb.TagNumber(9) + $core.bool hasUint64Tensor() => $_has(8); + @$pb.TagNumber(9) + void clearUint64Tensor() => clearField(9); + @$pb.TagNumber(9) + FlatTensorDataUInt64 ensureUint64Tensor() => $_ensure(8); + + @$pb.TagNumber(10) + FlatTensorDataFloat get floatTensor => $_getN(9); + @$pb.TagNumber(10) + set floatTensor(FlatTensorDataFloat v) { setField(10, v); } + @$pb.TagNumber(10) + $core.bool hasFloatTensor() => $_has(9); + @$pb.TagNumber(10) + void clearFloatTensor() => clearField(10); + @$pb.TagNumber(10) + FlatTensorDataFloat ensureFloatTensor() => $_ensure(9); + + @$pb.TagNumber(11) + FlatTensorDataDouble get doubleTensor => $_getN(10); + @$pb.TagNumber(11) + set doubleTensor(FlatTensorDataDouble v) { setField(11, v); } + @$pb.TagNumber(11) + $core.bool hasDoubleTensor() => $_has(10); + @$pb.TagNumber(11) + void clearDoubleTensor() => clearField(11); + @$pb.TagNumber(11) + FlatTensorDataDouble ensureDoubleTensor() => $_ensure(10); +} + +class FlatTensors extends $pb.GeneratedMessage { + factory FlatTensors() => create(); + FlatTensors._() : super(); + factory FlatTensors.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory FlatTensors.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FlatTensors', package: const $pb.PackageName(_omitMessageNames ? '' : 'viam.service.mlmodel.v1'), createEmptyInstance: create) + ..m<$core.String, FlatTensor>(1, _omitFieldNames ? '' : 'tensors', entryClassName: 'FlatTensors.TensorsEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OM, valueCreator: FlatTensor.create, valueDefaultOrMaker: FlatTensor.getDefault, packageName: const $pb.PackageName('viam.service.mlmodel.v1')) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FlatTensors clone() => FlatTensors()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FlatTensors copyWith(void Function(FlatTensors) updates) => super.copyWith((message) => updates(message as FlatTensors)) as FlatTensors; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FlatTensors create() => FlatTensors._(); + FlatTensors createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FlatTensors getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FlatTensors? _defaultInstance; + + @$pb.TagNumber(1) + $core.Map<$core.String, FlatTensor> get tensors => $_getMap(0); +} + const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/lib/src/gen/service/mlmodel/v1/mlmodel.pbjson.dart b/lib/src/gen/service/mlmodel/v1/mlmodel.pbjson.dart index a53282129d..cbd9c50312 100644 --- a/lib/src/gen/service/mlmodel/v1/mlmodel.pbjson.dart +++ b/lib/src/gen/service/mlmodel/v1/mlmodel.pbjson.dart @@ -34,38 +34,46 @@ const InferRequest$json = { '2': [ {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, {'1': 'input_data', '3': 2, '4': 1, '5': 11, '6': '.google.protobuf.Struct', '10': 'inputData'}, + {'1': 'input_tensors', '3': 3, '4': 1, '5': 11, '6': '.viam.service.mlmodel.v1.FlatTensors', '10': 'inputTensors'}, + {'1': 'extra', '3': 99, '4': 1, '5': 11, '6': '.google.protobuf.Struct', '10': 'extra'}, ], }; /// Descriptor for `InferRequest`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List inferRequestDescriptor = $convert.base64Decode( 'CgxJbmZlclJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZRI2CgppbnB1dF9kYXRhGAIgASgLMh' - 'cuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdFIJaW5wdXREYXRh'); + 'cuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdFIJaW5wdXREYXRhEkkKDWlucHV0X3RlbnNvcnMYAyAB' + 'KAsyJC52aWFtLnNlcnZpY2UubWxtb2RlbC52MS5GbGF0VGVuc29yc1IMaW5wdXRUZW5zb3JzEi' + '0KBWV4dHJhGGMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdFIFZXh0cmE='); @$core.Deprecated('Use inferResponseDescriptor instead') const InferResponse$json = { '1': 'InferResponse', '2': [ {'1': 'output_data', '3': 2, '4': 1, '5': 11, '6': '.google.protobuf.Struct', '10': 'outputData'}, + {'1': 'output_tensors', '3': 3, '4': 1, '5': 11, '6': '.viam.service.mlmodel.v1.FlatTensors', '10': 'outputTensors'}, ], }; /// Descriptor for `InferResponse`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List inferResponseDescriptor = $convert.base64Decode( 'Cg1JbmZlclJlc3BvbnNlEjgKC291dHB1dF9kYXRhGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLl' - 'N0cnVjdFIKb3V0cHV0RGF0YQ=='); + 'N0cnVjdFIKb3V0cHV0RGF0YRJLCg5vdXRwdXRfdGVuc29ycxgDIAEoCzIkLnZpYW0uc2Vydmlj' + 'ZS5tbG1vZGVsLnYxLkZsYXRUZW5zb3JzUg1vdXRwdXRUZW5zb3Jz'); @$core.Deprecated('Use metadataRequestDescriptor instead') const MetadataRequest$json = { '1': 'MetadataRequest', '2': [ {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'extra', '3': 99, '4': 1, '5': 11, '6': '.google.protobuf.Struct', '10': 'extra'}, ], }; /// Descriptor for `MetadataRequest`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List metadataRequestDescriptor = $convert.base64Decode( - 'Cg9NZXRhZGF0YVJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZQ=='); + 'Cg9NZXRhZGF0YVJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZRItCgVleHRyYRhjIAEoCzIXLm' + 'dvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RSBWV4dHJh'); @$core.Deprecated('Use metadataResponseDescriptor instead') const MetadataResponse$json = { @@ -136,3 +144,245 @@ final $typed_data.Uint8List fileDescriptor = $convert.base64Decode( 'B0aW9uEkEKCmxhYmVsX3R5cGUYAyABKA4yIi52aWFtLnNlcnZpY2UubWxtb2RlbC52MS5MYWJl' 'bFR5cGVSCWxhYmVsVHlwZQ=='); +@$core.Deprecated('Use flatTensorDataInt8Descriptor instead') +const FlatTensorDataInt8$json = { + '1': 'FlatTensorDataInt8', + '2': [ + {'1': 'data', '3': 1, '4': 1, '5': 12, '10': 'data'}, + ], +}; + +/// Descriptor for `FlatTensorDataInt8`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List flatTensorDataInt8Descriptor = $convert.base64Decode( + 'ChJGbGF0VGVuc29yRGF0YUludDgSEgoEZGF0YRgBIAEoDFIEZGF0YQ=='); + +@$core.Deprecated('Use flatTensorDataUInt8Descriptor instead') +const FlatTensorDataUInt8$json = { + '1': 'FlatTensorDataUInt8', + '2': [ + {'1': 'data', '3': 1, '4': 1, '5': 12, '10': 'data'}, + ], +}; + +/// Descriptor for `FlatTensorDataUInt8`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List flatTensorDataUInt8Descriptor = $convert.base64Decode( + 'ChNGbGF0VGVuc29yRGF0YVVJbnQ4EhIKBGRhdGEYASABKAxSBGRhdGE='); + +@$core.Deprecated('Use flatTensorDataInt16Descriptor instead') +const FlatTensorDataInt16$json = { + '1': 'FlatTensorDataInt16', + '2': [ + { + '1': 'data', + '3': 1, + '4': 3, + '5': 7, + '8': {'2': true}, + '10': 'data', + }, + ], +}; + +/// Descriptor for `FlatTensorDataInt16`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List flatTensorDataInt16Descriptor = $convert.base64Decode( + 'ChNGbGF0VGVuc29yRGF0YUludDE2EhYKBGRhdGEYASADKAdCAhABUgRkYXRh'); + +@$core.Deprecated('Use flatTensorDataUInt16Descriptor instead') +const FlatTensorDataUInt16$json = { + '1': 'FlatTensorDataUInt16', + '2': [ + { + '1': 'data', + '3': 1, + '4': 3, + '5': 7, + '8': {'2': true}, + '10': 'data', + }, + ], +}; + +/// Descriptor for `FlatTensorDataUInt16`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List flatTensorDataUInt16Descriptor = $convert.base64Decode( + 'ChRGbGF0VGVuc29yRGF0YVVJbnQxNhIWCgRkYXRhGAEgAygHQgIQAVIEZGF0YQ=='); + +@$core.Deprecated('Use flatTensorDataInt32Descriptor instead') +const FlatTensorDataInt32$json = { + '1': 'FlatTensorDataInt32', + '2': [ + { + '1': 'data', + '3': 1, + '4': 3, + '5': 15, + '8': {'2': true}, + '10': 'data', + }, + ], +}; + +/// Descriptor for `FlatTensorDataInt32`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List flatTensorDataInt32Descriptor = $convert.base64Decode( + 'ChNGbGF0VGVuc29yRGF0YUludDMyEhYKBGRhdGEYASADKA9CAhABUgRkYXRh'); + +@$core.Deprecated('Use flatTensorDataUInt32Descriptor instead') +const FlatTensorDataUInt32$json = { + '1': 'FlatTensorDataUInt32', + '2': [ + { + '1': 'data', + '3': 1, + '4': 3, + '5': 7, + '8': {'2': true}, + '10': 'data', + }, + ], +}; + +/// Descriptor for `FlatTensorDataUInt32`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List flatTensorDataUInt32Descriptor = $convert.base64Decode( + 'ChRGbGF0VGVuc29yRGF0YVVJbnQzMhIWCgRkYXRhGAEgAygHQgIQAVIEZGF0YQ=='); + +@$core.Deprecated('Use flatTensorDataInt64Descriptor instead') +const FlatTensorDataInt64$json = { + '1': 'FlatTensorDataInt64', + '2': [ + { + '1': 'data', + '3': 1, + '4': 3, + '5': 16, + '8': {'2': true}, + '10': 'data', + }, + ], +}; + +/// Descriptor for `FlatTensorDataInt64`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List flatTensorDataInt64Descriptor = $convert.base64Decode( + 'ChNGbGF0VGVuc29yRGF0YUludDY0EhYKBGRhdGEYASADKBBCAhABUgRkYXRh'); + +@$core.Deprecated('Use flatTensorDataUInt64Descriptor instead') +const FlatTensorDataUInt64$json = { + '1': 'FlatTensorDataUInt64', + '2': [ + { + '1': 'data', + '3': 1, + '4': 3, + '5': 6, + '8': {'2': true}, + '10': 'data', + }, + ], +}; + +/// Descriptor for `FlatTensorDataUInt64`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List flatTensorDataUInt64Descriptor = $convert.base64Decode( + 'ChRGbGF0VGVuc29yRGF0YVVJbnQ2NBIWCgRkYXRhGAEgAygGQgIQAVIEZGF0YQ=='); + +@$core.Deprecated('Use flatTensorDataFloatDescriptor instead') +const FlatTensorDataFloat$json = { + '1': 'FlatTensorDataFloat', + '2': [ + { + '1': 'data', + '3': 1, + '4': 3, + '5': 2, + '8': {'2': true}, + '10': 'data', + }, + ], +}; + +/// Descriptor for `FlatTensorDataFloat`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List flatTensorDataFloatDescriptor = $convert.base64Decode( + 'ChNGbGF0VGVuc29yRGF0YUZsb2F0EhYKBGRhdGEYASADKAJCAhABUgRkYXRh'); + +@$core.Deprecated('Use flatTensorDataDoubleDescriptor instead') +const FlatTensorDataDouble$json = { + '1': 'FlatTensorDataDouble', + '2': [ + { + '1': 'data', + '3': 1, + '4': 3, + '5': 1, + '8': {'2': true}, + '10': 'data', + }, + ], +}; + +/// Descriptor for `FlatTensorDataDouble`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List flatTensorDataDoubleDescriptor = $convert.base64Decode( + 'ChRGbGF0VGVuc29yRGF0YURvdWJsZRIWCgRkYXRhGAEgAygBQgIQAVIEZGF0YQ=='); + +@$core.Deprecated('Use flatTensorDescriptor instead') +const FlatTensor$json = { + '1': 'FlatTensor', + '2': [ + {'1': 'shape', '3': 1, '4': 3, '5': 6, '10': 'shape'}, + {'1': 'int8_tensor', '3': 2, '4': 1, '5': 11, '6': '.viam.service.mlmodel.v1.FlatTensorDataInt8', '9': 0, '10': 'int8Tensor'}, + {'1': 'uint8_tensor', '3': 3, '4': 1, '5': 11, '6': '.viam.service.mlmodel.v1.FlatTensorDataUInt8', '9': 0, '10': 'uint8Tensor'}, + {'1': 'int16_tensor', '3': 4, '4': 1, '5': 11, '6': '.viam.service.mlmodel.v1.FlatTensorDataInt16', '9': 0, '10': 'int16Tensor'}, + {'1': 'uint16_tensor', '3': 5, '4': 1, '5': 11, '6': '.viam.service.mlmodel.v1.FlatTensorDataUInt16', '9': 0, '10': 'uint16Tensor'}, + {'1': 'int32_tensor', '3': 6, '4': 1, '5': 11, '6': '.viam.service.mlmodel.v1.FlatTensorDataInt32', '9': 0, '10': 'int32Tensor'}, + {'1': 'uint32_tensor', '3': 7, '4': 1, '5': 11, '6': '.viam.service.mlmodel.v1.FlatTensorDataUInt32', '9': 0, '10': 'uint32Tensor'}, + {'1': 'int64_tensor', '3': 8, '4': 1, '5': 11, '6': '.viam.service.mlmodel.v1.FlatTensorDataInt64', '9': 0, '10': 'int64Tensor'}, + {'1': 'uint64_tensor', '3': 9, '4': 1, '5': 11, '6': '.viam.service.mlmodel.v1.FlatTensorDataUInt64', '9': 0, '10': 'uint64Tensor'}, + {'1': 'float_tensor', '3': 10, '4': 1, '5': 11, '6': '.viam.service.mlmodel.v1.FlatTensorDataFloat', '9': 0, '10': 'floatTensor'}, + {'1': 'double_tensor', '3': 11, '4': 1, '5': 11, '6': '.viam.service.mlmodel.v1.FlatTensorDataDouble', '9': 0, '10': 'doubleTensor'}, + ], + '8': [ + {'1': 'tensor'}, + ], +}; + +/// Descriptor for `FlatTensor`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List flatTensorDescriptor = $convert.base64Decode( + 'CgpGbGF0VGVuc29yEhQKBXNoYXBlGAEgAygGUgVzaGFwZRJOCgtpbnQ4X3RlbnNvchgCIAEoCz' + 'IrLnZpYW0uc2VydmljZS5tbG1vZGVsLnYxLkZsYXRUZW5zb3JEYXRhSW50OEgAUgppbnQ4VGVu' + 'c29yElEKDHVpbnQ4X3RlbnNvchgDIAEoCzIsLnZpYW0uc2VydmljZS5tbG1vZGVsLnYxLkZsYX' + 'RUZW5zb3JEYXRhVUludDhIAFILdWludDhUZW5zb3ISUQoMaW50MTZfdGVuc29yGAQgASgLMiwu' + 'dmlhbS5zZXJ2aWNlLm1sbW9kZWwudjEuRmxhdFRlbnNvckRhdGFJbnQxNkgAUgtpbnQxNlRlbn' + 'NvchJUCg11aW50MTZfdGVuc29yGAUgASgLMi0udmlhbS5zZXJ2aWNlLm1sbW9kZWwudjEuRmxh' + 'dFRlbnNvckRhdGFVSW50MTZIAFIMdWludDE2VGVuc29yElEKDGludDMyX3RlbnNvchgGIAEoCz' + 'IsLnZpYW0uc2VydmljZS5tbG1vZGVsLnYxLkZsYXRUZW5zb3JEYXRhSW50MzJIAFILaW50MzJU' + 'ZW5zb3ISVAoNdWludDMyX3RlbnNvchgHIAEoCzItLnZpYW0uc2VydmljZS5tbG1vZGVsLnYxLk' + 'ZsYXRUZW5zb3JEYXRhVUludDMySABSDHVpbnQzMlRlbnNvchJRCgxpbnQ2NF90ZW5zb3IYCCAB' + 'KAsyLC52aWFtLnNlcnZpY2UubWxtb2RlbC52MS5GbGF0VGVuc29yRGF0YUludDY0SABSC2ludD' + 'Y0VGVuc29yElQKDXVpbnQ2NF90ZW5zb3IYCSABKAsyLS52aWFtLnNlcnZpY2UubWxtb2RlbC52' + 'MS5GbGF0VGVuc29yRGF0YVVJbnQ2NEgAUgx1aW50NjRUZW5zb3ISUQoMZmxvYXRfdGVuc29yGA' + 'ogASgLMiwudmlhbS5zZXJ2aWNlLm1sbW9kZWwudjEuRmxhdFRlbnNvckRhdGFGbG9hdEgAUgtm' + 'bG9hdFRlbnNvchJUCg1kb3VibGVfdGVuc29yGAsgASgLMi0udmlhbS5zZXJ2aWNlLm1sbW9kZW' + 'wudjEuRmxhdFRlbnNvckRhdGFEb3VibGVIAFIMZG91YmxlVGVuc29yQggKBnRlbnNvcg=='); + +@$core.Deprecated('Use flatTensorsDescriptor instead') +const FlatTensors$json = { + '1': 'FlatTensors', + '2': [ + {'1': 'tensors', '3': 1, '4': 3, '5': 11, '6': '.viam.service.mlmodel.v1.FlatTensors.TensorsEntry', '10': 'tensors'}, + ], + '3': [FlatTensors_TensorsEntry$json], +}; + +@$core.Deprecated('Use flatTensorsDescriptor instead') +const FlatTensors_TensorsEntry$json = { + '1': 'TensorsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 11, '6': '.viam.service.mlmodel.v1.FlatTensor', '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `FlatTensors`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List flatTensorsDescriptor = $convert.base64Decode( + 'CgtGbGF0VGVuc29ycxJLCgd0ZW5zb3JzGAEgAygLMjEudmlhbS5zZXJ2aWNlLm1sbW9kZWwudj' + 'EuRmxhdFRlbnNvcnMuVGVuc29yc0VudHJ5Ugd0ZW5zb3JzGl8KDFRlbnNvcnNFbnRyeRIQCgNr' + 'ZXkYASABKAlSA2tleRI5CgV2YWx1ZRgCIAEoCzIjLnZpYW0uc2VydmljZS5tbG1vZGVsLnYxLk' + 'ZsYXRUZW5zb3JSBXZhbHVlOgI4AQ=='); + From c36161b825b7c1dad172c2349930a19a3a3d1215 Mon Sep 17 00:00:00 2001 From: Naveed Jooma Date: Wed, 2 Aug 2023 15:33:02 -0400 Subject: [PATCH 3/3] [RSDK-4265] Board and Sensor Widgets (#80) --- example/viam_example_app/.gitignore | 1 + example/viam_example_app/lib/main.dart | 19 ++- .../viam_example_app/lib/screens/base.dart | 5 +- .../viam_example_app/lib/screens/board.dart | 75 +--------- .../viam_example_app/lib/screens/sensor.dart | 34 +---- example/viam_example_app/pubspec.yaml | 7 +- lib/widgets.dart | 2 + lib/widgets/button.dart | 99 +++++++++++--- lib/widgets/resources/base.dart | 4 +- lib/widgets/resources/board.dart | 101 ++++++++++++++ lib/widgets/resources/sensor.dart | 128 ++++++++++++++++++ pubspec.yaml | 1 + 12 files changed, 347 insertions(+), 129 deletions(-) create mode 100644 example/viam_example_app/.gitignore create mode 100644 lib/widgets/resources/board.dart create mode 100644 lib/widgets/resources/sensor.dart diff --git a/example/viam_example_app/.gitignore b/example/viam_example_app/.gitignore new file mode 100644 index 0000000000..03bd4129be --- /dev/null +++ b/example/viam_example_app/.gitignore @@ -0,0 +1 @@ +*.env diff --git a/example/viam_example_app/lib/main.dart b/example/viam_example_app/lib/main.dart index 451614eb4c..730212a967 100644 --- a/example/viam_example_app/lib/main.dart +++ b/example/viam_example_app/lib/main.dart @@ -1,5 +1,6 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:flutter_platform_widgets/flutter_platform_widgets.dart'; import 'package:viam_example_app/screens/base.dart'; import 'package:viam_example_app/screens/board.dart'; @@ -10,7 +11,8 @@ import 'package:viam_example_app/screens/stream.dart'; import 'package:viam_sdk/viam_sdk.dart'; import 'package:viam_sdk/widgets.dart'; -void main() { +void main() async { + await dotenv.load(); runApp(const MyApp()); } @@ -92,8 +94,8 @@ class _MyHomePageState extends State { _loading = true; }); final robotFut = RobotClient.atAddress( - '', - RobotClientOptions.withLocationSecret(''), + dotenv.env['ROBOT_LOCATION'] ?? '', + RobotClientOptions.withLocationSecret(dotenv.env['LOCATION_SECRET'] ?? ''), ); robotFut.then((value) { @@ -138,7 +140,6 @@ class _MyHomePageState extends State { } if (rname.subtype == Base.subtype.resourceSubtype && _cameraName != null) { return BaseScreen( - resourceName: rname, base: Base.fromRobot(_robot, rname.name), cameras: _robot.resourceNames.where((e) => e.subtype == Camera.subtype.resourceSubtype).map((e) => Camera.fromRobot(_robot, e.name)), @@ -200,7 +201,15 @@ class _MyHomePageState extends State { ]) : _loading ? PlatformCircularProgressIndicator() - : ViamButton(onPressed: _login, text: 'Login', role: ViamButtonRole.inverse, style: ViamButtonStyle.filled) + : Column(children: [ + ViamButton( + onPressed: _login, + text: 'Login', + role: ViamButtonRole.inverse, + style: ViamButtonFillStyle.filled, + size: ViamButtonSizeClass.xl, + ) + ]) ], ), ), diff --git a/example/viam_example_app/lib/screens/base.dart b/example/viam_example_app/lib/screens/base.dart index 522311db91..d8846123b4 100644 --- a/example/viam_example_app/lib/screens/base.dart +++ b/example/viam_example_app/lib/screens/base.dart @@ -5,13 +5,10 @@ import 'package:viam_sdk/widgets.dart'; class BaseScreen extends StatelessWidget { final Base base; - final ResourceName resourceName; final Iterable cameras; final RobotClient robot; - // TODO change BaseScreen to accept camera ResourceName. - const BaseScreen({Key? key, required this.base, required this.resourceName, required this.cameras, required this.robot}) - : super(key: key); + const BaseScreen({Key? key, required this.base, required this.cameras, required this.robot}) : super(key: key); @override Widget build(BuildContext context) { diff --git a/example/viam_example_app/lib/screens/board.dart b/example/viam_example_app/lib/screens/board.dart index 58b3270221..3318062c1f 100644 --- a/example/viam_example_app/lib/screens/board.dart +++ b/example/viam_example_app/lib/screens/board.dart @@ -1,41 +1,19 @@ import 'package:flutter/material.dart'; import 'package:flutter_platform_widgets/flutter_platform_widgets.dart'; import 'package:viam_sdk/viam_sdk.dart'; +import 'package:viam_sdk/widgets/resources/board.dart'; -class BoardScreen extends StatefulWidget { +class BoardScreen extends StatelessWidget { final Board board; final ResourceName resourceName; const BoardScreen({Key? key, required this.board, required this.resourceName}) : super(key: key); @override - State createState() { - return _BoardScreenState(); - } -} - -class _BoardScreenState extends State { - String getPin = ''; - String setPin = ''; - bool high = false; - late BoardStatus status = const BoardStatus({}, {}); - - Future _fetchStatus() async { - status = await widget.board.status(); - setState(() {}); - } - - @override - void initState() { - super.initState(); - _fetchStatus(); - } - - @override - Widget build(BuildContext context) { + Widget build(Object context) { return PlatformScaffold( appBar: PlatformAppBar( - title: Text(widget.resourceName.name.toUpperCase()), + title: Text(resourceName.name.toUpperCase()), ), iosContentPadding: true, body: Center( @@ -43,52 +21,11 @@ class _BoardScreenState extends State { children: [ const SizedBox(height: 16), PlatformText( - '${widget.resourceName.namespace}:${widget.resourceName.type}:${widget.resourceName.subtype}/${widget.resourceName.name}', + '${resourceName.namespace}:${resourceName.type}:${resourceName.subtype}/${resourceName.name}', style: const TextStyle(fontWeight: FontWeight.w300), ), const SizedBox(height: 16), - PlatformText( - 'Analogs: ${status.analogs}', - style: const TextStyle(fontWeight: FontWeight.w300), - ), - const SizedBox(height: 16), - PlatformText( - 'Digital Interrupts: ${status.digitalInterrupts}', - style: const TextStyle(fontWeight: FontWeight.w300), - ), - const SizedBox(height: 16), - Text('GPIO', style: Theme.of(context).textTheme.headlineSmall), - Row( - children: [ - const Spacer(), - Expanded( - child: TextFormField( - onChanged: (value) => setPin = value, - decoration: const InputDecoration( - border: UnderlineInputBorder(), - labelText: 'Pin', - ), - ), - ), - const Spacer(), - DropdownButton( - value: high, - items: const [ - DropdownMenuItem(value: true, child: Text('High')), - DropdownMenuItem(value: false, child: Text('Low')), - ], - onChanged: ((value) => setState(() { - high = value!; - })), - ), - const Spacer() - ], - ), - const SizedBox(height: 16), - PlatformElevatedButton( - child: const Text('Set Pin State'), - onPressed: () => widget.board.setGpioState(setPin, high), - ) + ViamBoardWidget(board: board) ], ), ), diff --git a/example/viam_example_app/lib/screens/sensor.dart b/example/viam_example_app/lib/screens/sensor.dart index 605b60d566..353d312a75 100644 --- a/example/viam_example_app/lib/screens/sensor.dart +++ b/example/viam_example_app/lib/screens/sensor.dart @@ -1,36 +1,19 @@ import 'package:flutter/material.dart'; import 'package:flutter_platform_widgets/flutter_platform_widgets.dart'; import 'package:viam_sdk/viam_sdk.dart'; +import 'package:viam_sdk/widgets.dart'; -class SensorScreen extends StatefulWidget { +class SensorScreen extends StatelessWidget { final Sensor sensor; final ResourceName resourceName; const SensorScreen({Key? key, required this.sensor, required this.resourceName}) : super(key: key); - @override - State createState() { - return _SensorScreenState(); - } -} - -class _SensorScreenState extends State { - Map readings = {}; - - void _getReadings() { - final readingsFut = widget.sensor.readings(); - readingsFut.then((value) => setState( - () { - readings = value; - }, - )); - } - @override Widget build(BuildContext context) { return PlatformScaffold( appBar: PlatformAppBar( - title: Text(widget.resourceName.name.toUpperCase()), + title: Text(resourceName.name.toUpperCase()), ), iosContentPadding: true, body: Center( @@ -38,18 +21,11 @@ class _SensorScreenState extends State { children: [ const Padding(padding: EdgeInsets.symmetric(vertical: 8, horizontal: 0)), PlatformText( - '${widget.resourceName.namespace}:${widget.resourceName.type}:${widget.resourceName.subtype}/${widget.resourceName.name}', + '${resourceName.namespace}:${resourceName.type}:${resourceName.subtype}/${resourceName.name}', style: const TextStyle(fontWeight: FontWeight.w300), ), const Padding(padding: EdgeInsets.symmetric(vertical: 8, horizontal: 0)), - DataTable( - columns: const [DataColumn(label: Text('Reading')), DataColumn(label: Text('Value'))], - rows: readings.keys.map((e) => DataRow(cells: [DataCell(Text(e)), DataCell(Text(readings[e].toString()))])).toList()), - const Padding(padding: EdgeInsets.symmetric(vertical: 8, horizontal: 0)), - PlatformElevatedButton( - child: const Text('Get readings'), - onPressed: () => _getReadings(), - ) + ViamSensorWidget(sensor: sensor), ], ), ), diff --git a/example/viam_example_app/pubspec.yaml b/example/viam_example_app/pubspec.yaml index 16b2752714..91ce1762cb 100644 --- a/example/viam_example_app/pubspec.yaml +++ b/example/viam_example_app/pubspec.yaml @@ -1,11 +1,11 @@ name: viam_example_app description: An example app using Viam's Flutter SDK -publish_to: 'none' # Remove this line if you wish to publish to pub.dev +publish_to: "none" # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.0 <4.0.0' + sdk: ">=3.0.0 <4.0.0" dependencies: flutter: @@ -16,6 +16,7 @@ dependencies: flutter_platform_widgets: ^3.2.1 flutter_webrtc: ^0.9.35 image: ^4.0.17 + flutter_dotenv: ^5.1.0 dev_dependencies: flutter_launcher_icons: ^0.13.1 @@ -25,6 +26,8 @@ dev_dependencies: flutter: uses-material-design: true + assets: + - .env flutter_launcher_icons: android: "launcher_icon" diff --git a/lib/widgets.dart b/lib/widgets.dart index 1218e130f7..6cc7e079a1 100644 --- a/lib/widgets.dart +++ b/lib/widgets.dart @@ -2,3 +2,5 @@ export 'widgets/button.dart'; export 'widgets/camera_stream.dart'; export 'widgets/joystick.dart'; export 'widgets/resources/base.dart'; +export 'widgets/resources/board.dart'; +export 'widgets/resources/sensor.dart'; diff --git a/lib/widgets/button.dart b/lib/widgets/button.dart index 05a94f7189..17fd6d9c92 100644 --- a/lib/widgets/button.dart +++ b/lib/widgets/button.dart @@ -1,12 +1,22 @@ import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; +/// The role of the button. enum ViamButtonRole { + /// Standard button. Light gray background, dark gray foreground (inverse when in dark mode) primary, + + /// Inverse of the primary button, Dark gray background, light gray foreground (inverse when in dark mode) inverse, + + /// A button to indicate a successful operation, will result in a green color scheme success, - danger, - warning; + + /// A button to indicate a warning state, will result in an amber color scheme + warning, + + /// A button to indicate a dangerous operation, will result in an red color scheme + danger; Color get backgroundColor { final brightness = SchedulerBinding.instance.platformDispatcher.platformBrightness; @@ -61,12 +71,54 @@ enum ViamButtonRole { ButtonStyle(backgroundColor: MaterialStatePropertyAll(backgroundColor), foregroundColor: MaterialStatePropertyAll(foregroundColor)); } -enum ViamButtonStyle { +enum ViamButtonFillStyle { filled, outline, ghost; } +enum ViamButtonSizeClass { + xs, + small, + medium, + large, + xl; + + double get fontSize { + switch (this) { + case xs: + return 10; + case small: + return 12; + case medium: + return 14; + case large: + return 18; + case xl: + return 24; + } + } + + EdgeInsets get padding { + switch (this) { + case xs: + return const EdgeInsets.symmetric(vertical: 0, horizontal: 0); + case small: + return const EdgeInsets.symmetric(vertical: 16, horizontal: 20); + case medium: + return const EdgeInsets.symmetric(vertical: 18, horizontal: 32); + case large: + return const EdgeInsets.symmetric(vertical: 20, horizontal: 40); + case xl: + return const EdgeInsets.symmetric(vertical: 22, horizontal: 52); + } + } + + ButtonStyle get style { + return ButtonStyle(textStyle: MaterialStatePropertyAll(TextStyle(fontSize: fontSize)), padding: MaterialStatePropertyAll(padding)); + } +} + enum ViamButtonVariant { iconOnly, iconLeading, @@ -76,10 +128,11 @@ enum ViamButtonVariant { class ViamButton extends StatelessWidget { final String text; final VoidCallback onPressed; - final Widget? icon; + final IconData? icon; final ViamButtonRole role; - final ViamButtonStyle style; + final ViamButtonFillStyle style; final ViamButtonVariant variant; + final ViamButtonSizeClass size; const ViamButton( {required this.onPressed, @@ -87,13 +140,14 @@ class ViamButton extends StatelessWidget { super.key, this.icon, this.role = ViamButtonRole.primary, - this.style = ViamButtonStyle.filled, + this.style = ViamButtonFillStyle.filled, + this.size = ViamButtonSizeClass.medium, this.variant = ViamButtonVariant.iconLeading}); ButtonStyle get _buttonStyle { - const mainStyle = ButtonStyle(splashFactory: NoSplash.splashFactory); + final mainStyle = const ButtonStyle(splashFactory: NoSplash.splashFactory).merge(size.style); - if (style == ViamButtonStyle.ghost) { + if (style == ViamButtonFillStyle.ghost) { var fgColor = role.backgroundColor; if (role == ViamButtonRole.primary || role == ViamButtonRole.inverse) { fgColor = role.foregroundColor; @@ -103,7 +157,7 @@ class ViamButton extends StatelessWidget { foregroundColor: MaterialStatePropertyAll(fgColor), ); } - if (style == ViamButtonStyle.outline) { + if (style == ViamButtonFillStyle.outline) { var alpha = 25; var fgColor = role.backgroundColor; var outlineColor = role.backgroundColor; @@ -128,19 +182,26 @@ class ViamButton extends StatelessWidget { Widget build(BuildContext context) { Widget child; if (icon != null) { - if (variant == ViamButtonVariant.iconOnly) { - child = IconButton(onPressed: onPressed, icon: icon!, style: _buttonStyle); - } - if (style == ViamButtonStyle.outline) { - child = OutlinedButton.icon(onPressed: onPressed, icon: icon!, label: Text(text), style: _buttonStyle); + final prePadding = (variant == ViamButtonVariant.iconOnly) ? const Text(' ') : const SizedBox.shrink(); + final iconWidget = Row(children: [prePadding, Icon(icon!)]); + final label = (variant == ViamButtonVariant.iconOnly) + ? const SizedBox.shrink() + : Text( + text, + style: const TextStyle(fontWeight: FontWeight.bold), + ); + final first = (variant == ViamButtonVariant.iconTrailing) ? label : iconWidget; + final second = (variant == ViamButtonVariant.iconTrailing) ? iconWidget : label; + if (style == ViamButtonFillStyle.outline) { + child = OutlinedButton.icon(onPressed: onPressed, icon: first, label: second, style: _buttonStyle); + } else { + child = TextButton.icon(onPressed: onPressed, icon: first, label: second, style: _buttonStyle); } - child = TextButton.icon(onPressed: onPressed, icon: icon!, label: Text(text), style: _buttonStyle); - } - if (style == ViamButtonStyle.outline) { + } else if (style == ViamButtonFillStyle.outline) { child = OutlinedButton(onPressed: onPressed, style: _buttonStyle, child: Text(text)); + } else { + child = TextButton(onPressed: onPressed, style: _buttonStyle, child: Text(text)); } - child = TextButton(onPressed: onPressed, style: _buttonStyle, child: Text(text)); - return Theme(data: ThemeData(primarySwatch: role.materialColor), child: child); } } diff --git a/lib/widgets/resources/base.dart b/lib/widgets/resources/base.dart index 355ef4c2e7..f72594c1ad 100644 --- a/lib/widgets/resources/base.dart +++ b/lib/widgets/resources/base.dart @@ -1,6 +1,8 @@ import 'package:flutter/material.dart'; import 'package:viam_sdk/viam_sdk.dart'; -import 'package:viam_sdk/widgets.dart'; + +import '../camera_stream.dart'; +import '../joystick.dart'; class ViamBaseScreen extends StatefulWidget { final Base base; diff --git a/lib/widgets/resources/board.dart b/lib/widgets/resources/board.dart new file mode 100644 index 0000000000..4afc8c5b7f --- /dev/null +++ b/lib/widgets/resources/board.dart @@ -0,0 +1,101 @@ +import 'package:flutter/material.dart'; +import 'package:viam_sdk/viam_sdk.dart'; + +import '../button.dart'; + +class ViamBoardWidget extends StatefulWidget { + final Board board; + + const ViamBoardWidget({ + Key? key, + required this.board, + }) : super(key: key); + + @override + State createState() => _ViamBoardWidgetState(); +} + +class _ViamBoardWidgetState extends State { + String setPin = ''; + bool high = false; + BoardStatus status = const BoardStatus({}, {}); + + Future _fetchStatus() async { + final response = await widget.board.status(); + setState(() { + status = response; + }); + } + + @override + void initState() { + super.initState(); + _fetchStatus(); + } + + @override + Widget build(BuildContext context) { + return Theme( + data: ThemeData(primarySwatch: Colors.grey), + child: SingleChildScrollView( + child: Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + if (status.analogs.isNotEmpty) + Column(children: [ + const Text('Analogs'), + DataTable( + columns: const [DataColumn(label: Text('Analog')), DataColumn(label: Text('Value'))], + rows: status.analogs.keys + .map((e) => DataRow(cells: [DataCell(Text(e)), DataCell(Text(status.analogs[e].toString()))])) + .toList()), + const SizedBox(height: 16), + ]), + if (status.digitalInterrupts.isNotEmpty) + Column(children: [ + const Text('Digital Interrupts'), + DataTable( + columns: const [DataColumn(label: Text('Digital Interrupt')), DataColumn(label: Text('Value'))], + rows: status.digitalInterrupts.keys + .map((e) => DataRow(cells: [DataCell(Text(e)), DataCell(Text(status.digitalInterrupts[e].toString()))])) + .toList()), + const SizedBox(height: 16), + ]), + const Text('GPIO', style: TextStyle(fontSize: 24)), + Row( + children: [ + const Spacer(), + Expanded( + child: TextFormField( + onChanged: (value) => setState(() { + setPin = value; + }), + decoration: const InputDecoration(border: UnderlineInputBorder(), labelText: 'Pin'), + )), + const Spacer(), + DropdownButton( + value: high, + items: const [ + DropdownMenuItem(value: true, child: Text('High')), + DropdownMenuItem(value: false, child: Text('Low')) + ], + onChanged: (value) => setState(() { + high = value!; + })), + const Spacer(), + ], + ), + const SizedBox(height: 16), + ViamButton( + onPressed: () => widget.board.setGpioState(setPin, high), + text: 'Set Pin State', + role: ViamButtonRole.inverse, + size: ViamButtonSizeClass.large, + ) + ], + ), + ), + )); + } +} diff --git a/lib/widgets/resources/sensor.dart b/lib/widgets/resources/sensor.dart new file mode 100644 index 0000000000..0156268861 --- /dev/null +++ b/lib/widgets/resources/sensor.dart @@ -0,0 +1,128 @@ +import 'dart:async'; + +import 'package:flutter/material.dart'; +import 'package:intl/intl.dart'; +import 'package:viam_sdk/viam_sdk.dart'; + +import '../button.dart'; + +class ViamSensorWidget extends StatefulWidget { + final Sensor sensor; + final Duration? refreshInterval; + final bool showLastRefreshed; + final bool showRefreshControls; + + const ViamSensorWidget({ + Key? key, + required this.sensor, + this.refreshInterval = const Duration(milliseconds: 5000), + this.showLastRefreshed = true, + this.showRefreshControls = true, + }) : super(key: key); + + @override + State createState() { + return _ViamSensorWidgetState(); + } +} + +class _ViamSensorWidgetState extends State { + Map readings = {}; + Timer? timer; + DateTime? lastRefreshed; + bool isPaused = false; + + Future getReadings() async { + try { + final response = await widget.sensor.readings(); + setState( + () { + readings = Map.fromEntries(response.entries.toList()..sort((a, b) => a.key.compareTo(b.key))); + lastRefreshed = DateTime.now(); + }, + ); + } catch (e) { + Text('Error: $e'); + } + } + + void refresh() { + getReadings(); + } + + void playPause() { + setState(() => isPaused = !isPaused); + if (isPaused) { + timer?.cancel(); + } else { + getReadings(); + _createTimer(); + } + } + + void _createTimer() { + if (widget.refreshInterval != null) { + timer = Timer.periodic(widget.refreshInterval!, (_) { + refresh(); + }); + } + } + + String formattedDated(DateTime date) { + return DateFormat('yyyy-MM-dd HH:ss:SS').format(date); + } + + @override + void initState() { + super.initState(); + getReadings(); + _createTimer(); + } + + @override + void dispose() { + timer?.cancel(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return SingleChildScrollView( + child: Center( + child: Column( + children: [ + DataTable( + columns: const [DataColumn(label: Text('Reading')), DataColumn(label: Text('Value'))], + rows: readings.keys.map((e) => DataRow(cells: [DataCell(Text(e)), DataCell(Text(readings[e].toString()))])).toList()), + if (widget.showLastRefreshed && lastRefreshed != null) + Column(children: [ + const SizedBox(height: 8), + Text('Updated at: ${formattedDated(lastRefreshed!)}'), + ]), + if (widget.showRefreshControls) + Column(children: [ + const SizedBox(height: 8), + Row(mainAxisAlignment: MainAxisAlignment.center, children: [ + ViamButton( + onPressed: playPause, + text: isPaused ? 'Play' : 'Pause', + icon: isPaused ? Icons.play_arrow : Icons.pause, + variant: ViamButtonVariant.iconOnly, + style: ViamButtonFillStyle.ghost, + ), + const SizedBox(width: 8), + ViamButton( + onPressed: refresh, + text: 'Refresh', + icon: Icons.refresh, + variant: ViamButtonVariant.iconOnly, + style: ViamButtonFillStyle.ghost, + ), + ]), + ]), + ], + ), + ), + ); + } +} diff --git a/pubspec.yaml b/pubspec.yaml index 2fa2b46c4f..585263a04e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -18,6 +18,7 @@ dependencies: fixnum: ^1.1.0 flutter_joystick: ^0.0.3 collection: ^1.17.1 + intl: ^0.18.1 dev_dependencies: flutter_test: