move method

Future<void> move(
  1. String profileToken, {
  2. required Vector2D direction,
  3. Vector1D? zoom,
  4. BackupMove backupMove = BackupMove.continuous,
})

Helper method

Implementation

Future<void> move(
  String profileToken, {
  required Vector2D direction,
  Vector1D? zoom,
  BackupMove backupMove = BackupMove.continuous,
}) async {
  loggy.debug('move');

  var zoomAdjust = zoom ?? Vector1D(x: 0);

  try {
    await relativeMove(
      profileToken,
      PtzVector(panTilt: direction, zoom: zoomAdjust),
      configurationCache[configurationCache.keys.first]?.defaultPtzSpeed,
    );
  } catch (err) {
    loggy.error('Relative move failed');

    loggy.error(err);

    loggy.error('Attempting workaround with $backupMove move');

    switch (backupMove) {
      case BackupMove.absolute:
        _simulateMoveWithAbsolute(profileToken, direction, zoom);

      case BackupMove.continuous:
        _simulateMoveWithContinuous(profileToken, direction, zoom);
    }
  }
}