コード例 #1
0
  public static FollowAlgorithm.FollowModes followTypeToMode(
      MavLinkDrone drone, FollowType followType) {
    final FollowAlgorithm.FollowModes followMode;

    switch (followType) {
      case ABOVE:
        followMode =
            (drone.getFirmwareType() == FirmwareType.ARDU_SOLO)
                ? FollowAlgorithm.FollowModes.SPLINE_ABOVE
                : FollowAlgorithm.FollowModes.ABOVE;
        break;

      case LEAD:
        followMode = FollowAlgorithm.FollowModes.LEAD;
        break;

      default:
      case LEASH:
        followMode =
            (drone.getFirmwareType() == FirmwareType.ARDU_SOLO)
                ? FollowAlgorithm.FollowModes.SPLINE_LEASH
                : FollowAlgorithm.FollowModes.LEASH;
        break;

      case CIRCLE:
        followMode = FollowAlgorithm.FollowModes.CIRCLE;
        break;

      case LEFT:
        followMode = FollowAlgorithm.FollowModes.LEFT;
        break;

      case RIGHT:
        followMode = FollowAlgorithm.FollowModes.RIGHT;
        break;

      case GUIDED_SCAN:
        followMode = FollowAlgorithm.FollowModes.GUIDED_SCAN;
        break;

      case LOOK_AT_ME:
        followMode = FollowAlgorithm.FollowModes.LOOK_AT_ME;
        break;

      case SOLO_SHOT:
        followMode = FollowAlgorithm.FollowModes.SOLO_SHOT;
        break;
    }
    return followMode;
  }