예제 #1
0
  public static void changeVehicleMode(
      MavLinkDrone drone, VehicleMode newMode, ICommandListener listener) {
    if (drone == null) return;

    int mavType;
    switch (newMode.getDroneType()) {
      default:
      case Type.TYPE_COPTER:
        mavType = MAV_TYPE.MAV_TYPE_QUADROTOR;
        break;

      case Type.TYPE_PLANE:
        mavType = MAV_TYPE.MAV_TYPE_FIXED_WING;
        break;

      case Type.TYPE_ROVER:
        mavType = MAV_TYPE.MAV_TYPE_GROUND_ROVER;
        break;
    }

    drone.getState().changeFlightMode(ApmModes.getMode(newMode.getMode(), mavType), listener);
  }
예제 #2
0
  public static CharSequence getFlightModeLabel(Context context, VehicleMode flightMode) {
    if (context == null || flightMode == null) return null;

    switch (flightMode) {
      case COPTER_LOITER:
        // FLY
        return context.getText(R.string.copter_loiter_label);

      case COPTER_ALT_HOLD:
        // FLY Manual
        return context.getText(R.string.copter_alt_hold_label);

      case COPTER_RTL:
        // Return Home
        return context.getText(R.string.copter_rtl_label);

      case COPTER_GUIDED:
        // Take off
        //                return context.getText(R.string.copter_guided_label);
        return null;

      case COPTER_AUTOTUNE:
        // Auto-tune
        return context.getText(R.string.copter_auto_tune_label);

      case COPTER_POSHOLD:
        // Position Hold
        return context.getText(R.string.copter_pos_hold_label);

      case COPTER_AUTO:
        // Mission
        return context.getText(R.string.copter_auto_label);

      default:
        return flightMode.getLabel();
    }
  }