Git Product home page Git Product logo

dronekit-android's People

Contributors

alexshafir avatar andrewtusik avatar arthurbenemann avatar aussiemod avatar azrin1972 avatar billbonney avatar bob01 avatar brad112358 avatar bys1123 avatar djellison78 avatar djmedina avatar fpvcuritiba avatar geeksville avatar gmorph avatar gregparsons avatar hamishwillee avatar helibot avatar jason4short avatar jeroennijhof avatar kellyschrock avatar m4gr3d avatar madbeef avatar metalnow avatar mrpollo avatar phmagic avatar realbuxtehuder avatar squilter avatar teemperor avatar tshapinsky avatar zumbrunnen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dronekit-android's Issues

FollowMe NPE

java.lang.NullpointerException
at
org.droidplanner.core.gcs.roi.ROIEstimator.updateRIO(ROIEstimator.java:90)
at
org.droidplanner.core.gcs.roi.ROIEstimator$1.run(ROIEstimattor.java:30)
at
...

using version 1.2.9

DroneKit Client Library Eclipse Support

i have been trying and failing to get the Client library working in Eclipse.
Eclipse doesn't like AAR files, so I have been extracting the contents, but in the latest DroneKit this gives missing references.
It appears that the AidlLib.jar is the problem. It has grown from about 500K to 2.5MB and seems to have an AndroidManifest as well as the Android Support compatibility library.
I thought I could try building a client library in AndroidStudio, but even this is a problem as it doesn't like the AidlLib.jar due to the support lib and manifest.
I tried removing the Android compatibility lib from my Studio test app and it still fails with the manifest:
Error:duplicate files during packaging of APK /Users/shawn/AndroidStudioProjects/dronekit/app/build/outputs/apk/app-debug-unaligned.apk
Path in archive: AndroidManifest.xml
Origin 1: /Users/shawn/AndroidStudioProjects/dronekit/app/build/intermediates/resources/resources-debug.ap_
Origin 2: /Users/shawn/AndroidStudioProjects/dronekit/app/build/intermediates/exploded-aar/com.o3dr/dronekit-android/2.2.19/libs/AidlLib.jar
You can ignore those files in your build.gradle:
android {
packagingOptions {
exclude 'AndroidManifest.xml'
}
}

Now I could continue trying to get this to work, but I think the AidlLib.jar build is just not right, as it was just classes before.

Tutorials required!

Here I will list tutorials that would definitely benefit to all users of 3DRServices and are currently missing:

  • Parameters read/write
  • Mission CRUD

Parameters cache update

Sending a new value for a parameter to the vehicle should invalidate the cached list of parameters.

USB double connection bug

If you connect 3DR Radio to your phone/tablet, but copter is not in range, and after that try to connect 2 times via USB, first try will fail (as it should be), but second will succeed. This error is cyclic e.g. if you disconnect, then connect again first attempt will fail, second will succeed and so on.

Also, if you unplug 3DR Radio when connection is established, AttributeEvent.STATE_DISCONNECTED will occur. But after fake connection described above is established, unplugging creates NPE MavLinkConnection.java:232.

Trigger tlog logging on arm/disarm events

Tlog is currently logged as soon as the app is connected to the vehicle.
Change it to start logging when the copter is armed, and stop when the copter is disarmed.

Follow Type HeadingAngle

Please expose also the Follow Type "HeadingAngle" (which seems to be the generic function to Follow_Left, Follow_Right, Follow_Lead) together with a function to set the angle to the 3DRService interface. In my app I would like to set a certain heading angle, e.g. 45°.

DOC: Setting up SITL on linux does not cover connecting using UDP in Tower

FYI some confusion from this user on getting SITL set up: http://android.dronekit.io/getting_started.html#setting-up-sitl-on-linux

From user (to Phu):

"I think if the steps you listed above were included in http://android.dronekit.io/getting_started.html#setting-up-sitl-on-linux, it would clear up most of the confusion. There are some instructions on setting up SITL in those docs, but more guidance would certainly be helpful. The missing part for me was that I didn't know I had to connect using UDP in Tower."

The instructions that were provided additionally:

"UDP is the default type for Mavlink messages to get through.

Have you tried running SITL with an explicit --out IP address?

Steps: Connect your SITL machine and your Nexus to the same Wi-FI network.

Navigate to ardupilot/ArduCopter

Run:

sim_vehicle.sh -L 3DRBerkeley --console --out <MOBILE_DEVICE_IP>:14550

This says: run SITL with a default location of 3DRBerkeley and pip it out to MOBILE_DEVICE_IP.

Then on your Nexus, use a UDP connection, no need to specify the IP of vehicle.
"

Repo name update

Hi all, the repo is being renamed from 3DRServices to DroneKit-Android.
Given github nice toolkit, the update should be transparent to all devs/users. However don't hesitate to let me know if you experiences issues with the renamed git repo.

Thanks!

STATUSTEXT parsing

When MAVLINK_MSG_ID_STATUSTEXT is received, 3DRServices simply brings its message to developer.

Instead, it would be useful for developer to get PreArm, Arm etc. errors reasons by enum, thus omitting parsing step.

user camera profile not loading

my camera profile stored under droidplanner camerainfo are not listed in structure scanner or survey. i also try to crate a new dir called camera_info. but the same problem camera xml files which are in this dirs will not loaded. i use the latest version from google play and an samsung galaxy s3 phone

negative values for altitude (setGuidedAltitude)

Please allow negative values for setGuidedAltitude, on version 1.2.8 it seems to be limited to 2m for copter. I want to use it in the mountains during a descent with negative altitude (to arming) up to at least 1000m.

function to set ROI altitude during FollowMe

It seems that in version 1.2.8 the ROI altitude for normal FollowMe (not guided scan) seems to be fixed to 0 meters. It would be nice to have a function to set the ROI altitude during FollowMe, like the function setGuidedAltitude(double altitude) just for ROI.

Doc: Delete the built HTML in the repo?

It is not normal to also upload the built HTML in the same tree - is this intentional?

Propose changes:

  • Delete the build tree from the repo
  • Add the build tree to .gitignore
  • Add *~ to .gitignore so temporary files are not shown in git

dronekit client library not published

The documentation for DroneKit says to use the client library via:
compile 'com.o3dr:dronekit-android:2.2.+'

But the only libraries on http://jcenter.bintray.com/com/o3dr/ are 3dr-services-lib.

I have tried a local build of dronekit but that ends up with missing com.o3dr.android.client imports for ControlTower, Drone etc. although com.o3dr.services.android.lib imports are OK.
Admittedly I am trying to extract the AAR to use it in Eclipse, but this was working for the 3DR Services Lib.

Piggyback off of existing connection

For dp-pebble I was hoping to wait for the user to connect using droidplanner. Then once the user connected, dp-pebble would automatically get connected as well.

Something that would allow me to call drone.connectExisting()

Doc: Add vagrantfile and documentation to support contribution

Copy and update the documentation support from DroneKit-Python. This includes the vagrantfile to automate docs building and a contribution page.

@ne0fhyk - I have assigned to you for the vagrantfile updates (chase @mrpollo for any help needed). When those are complete please re-assign to me and I will add/update the contributing page. OK?

Raw Mavlink message cannot be sent

I tried sending raw Mavlink message via Drone.sendMavlinkMessage(). Copter doesn't react. Tried ARM and RC_OVERRIDE messages
Reason:
sendMavlinkMessage() under the hood sets sysId and compId, but target_system and target_component are left blank
Quickfix: set target_system = 1 of your Mavlink message

DOC: Better wording to describe "3DR Services" on http://android.dronekit.io/

http://android.dronekit.io/ or index.rst

The second paragraph should be swapped with the last paragraph (is "least important" information for developers)

The word "guide" in the second paragraph isn't quite right because it implies "instructions" rather than "listing"

The guide to apps built with DroneKit can be found 
on the Google Play Store under the name: 3DR Services.

Catalog (or even listing) would be better. So:

The catalog of apps built with DroneKit can be found 
on the Google Play Store under the name: 3DR Services.

or

A catalog of all DroneKit apps on the Google Play Store can be found in 3DR Services.

Add support for gimbals attitude read/write

E.g. read/write gimbals roll, pitch, yaw via Mavlink message (radio output is not a clean design).
Additionally, add option to control copters yaw (for example, if gimbal is 2-axis)

Unclear disconnect flow

Per guide, one needs to listen to onStart/onStop events and disconnect during onStop. However, when configuration changes, onStop is called, so that drone is disconnected, while app still requires connection to drone. From user perspective it could be loss of drone control from, say, orientation change.
Reconnecting is not good idea, because drone could be in-flight, and sudden disconnect might cause a failsafe.

DOC - Improved headings formatting

Sphinx doesn't care what underline characters you use to mark up headings, as long as they are longer than the preceding text.

However it is usually easier to read and edit the markup if you use the following underline markup pattern for the different levels and have a space before the heading (except for title)

================
Document Title 
================

A first level heading
=====================

A second level heading
----------------------------------------

 etc

This is because = is the easiest character for your eye to scan as a heading line.

USB ConnectionResult.getErrorCode always 0

When attempt to connect to drone via USB fails, onDroneConnectionFailed(ConnectionResult connectionResult) is called. When you try connectionResult.getErrorCode(), you always get zero.

It would be useful for developers to know why connection failed with error code.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.