andruav_android_app's Issues
FCB "3DR service connection closed"
Using Matek F405 V2 flight controller and android 8.1.0.
The phone connects to the web client as expected. When I connect to the flight controller via USB, selecting the same baud rate that works connecting the FCB directly to mission planner (115200), the triangle icon in the top left corner turns blue but the FCB box on the menu is not green, and it keeps saying "3DR service connection closed". There is a notification saying "DroneKit-Android". The web client says no FCB connected.
RTK corrections
This is not really an issue but instead an enhancement request. It would be nice to be able to inject NTRIP GPS corrections for an RTK gps directly from the drone's android phone into the FCB.
This would be very powerful for people who don't want to rely on mission control for the corrections and increase overall drone reliability.
This data is typically derived from a government network. and can be used in lieu of a fixed RTK correction base station. In Spain, the connection string is similar to this:
Java 11 & API > 30
Does anyone encounter this when trying to compile the code?
A problem occurred evaluating project ':andruavmiddlelibrary'.
Failed to apply plugin 'com.android.internal.library'.
Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
andruav_android_app/build.gradle
Line 49 in 3c968ae
potential duplicate class conflict with Kotlin (org.jetbrains:annotations)
andruav_android_app/webrtc/build.gradle
Line 46 in 3c968ae
Android Studio Flamingo | 2022.2.1 Patch 1
Build #AI-222.4459.24.2221.9971841, built on April 20, 2023
Runtime version: 17.0.6+0-b2043.56-9586694 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 10 10.0
Non-Bundled Plugins:
org.intellij.plugins.markdown (222.4345.5)
Video connection problem again
I had thought that the problem was solved now.
however, while I go out for flying outdoors, the video connection failed to establish again. when drone card connected to WIFI, not LTE, the video connection could be estabilished.
Despite many many attempts, the connection couldn't be established. Initially, I believed that turning off the network program had solved the issue, but that was not the case.
Although changing the settings (including the initial installation, ID, and network) worked the first time, but connection is not established after that. it is common repeated problem until now
there is no docs about connecting mission planner via UDP
getting the drone Altitude realtime
Event_Vehicle_Flying_Changed.mAndruavWe7da.FCBoard.getAltitude() vs Event_Vehicle_Flying_Changed.mAndruavWe7da.getActiveIMU().getAltitude() == getActiveGPS().getAltitude()
It seems like FCBoard.getAltitude() always returns zero and never changes.
android uav status is alive even though the drone card cell phone is turned off
android UAV status is alive on GCS even though the drone card cell phone is turned off.
If after the above, I reject permissions (by pressing "Cancel") a message, "Link Connection: FAILED" appears but the green triangle still turns green. So it has not connected but it incorrectly shows that it has.
On the FCB page's menu there is an "Auto Connect FCB" check box but this doesn't seem to work. I assume checking this should make the Andruav AP app automatically connect to the flight controller when opened.
Cross-platform development
In Windows's filesystem, they are identified as the same file (Uppercase and lowercase). How should the user change it?
Map appears as a white screen.
Although the telemetry connection is well-established, the map is not displaying properly and appears as a white screen.
GpsStatus APIs not supported, please use GnssStatus APIs instead
Caused by: java.lang.UnsupportedOperationException: GpsStatus APIs not supported, please use GnssStatus APIs instead
at android.location.LocationManager.addGpsStatusListener(LocationManager.java:2462)
at ap.andruavmiddlelibrary.sensors.Sensor_GPS.registerSensor(Sensor_GPS.java:527)
at ap.sensors.SensorService.RegisterListeners(SensorService.java:326)
at ap.sensors.SensorService.onStartCommand(SensorService.java:378)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4913)
at android.app.ActivityThread.-$$Nest$mhandleServiceArgs(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2335)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:240)
at android.os.Looper.loop(Looper.java:351)
at android.app.ActivityThread.main(ActivityThread.java:8364)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1013)
This class was deprecated in API level 24.
Use GnssStatus instead.
On the FCB page, after pushing the connect triangle, "Allow the app Andruav-AP to access the USB device?" along with a "Use by default for this USB device?" checkbox. This pop-up always appears but it would be nice if I didn't need to permission it each time.
Video encoding problem with samsung phones.
I have had this issue on every samsung phone I have tested. S4, S9, S10e and A21s all of them really struggle to get over 1fps when a lot of the image starts to move, my best guess is that its trying to capture video at a stupid high resolution because the window on the web streaming client gets huge when I open the video. Is it possible samsungs allow capture at photo resolutions so its trying to send something like 16mp stills rather than 1080 video?
Get from VCS from windows Android Studio
four of the following files need to remove from the repository to help contribute to the project.
Thumbs.db_encryptable 1
Thumbs.db_encryptable 2
Thumbs.db_encryptable 3
Thumbs.db_encryptable 4
Video connection problem on a GCS app.
Hello,
I would like to use this app and potentially support the development of this complex application in the future if I can learn this code structure. Specifically, I am interested in improving the ardupilot's capabilities for use on a maritime drone.
However, I have encountered a problem with this app. When I click the "Video" button on the GCS app, it always displays "Video is connecting" but fails to connect. I installed this app yesterday, it is first time I'm using this app. however, this app was used yesterday for 5 minutes flying, so I don't believe it's a problem with my settings. Yesterday, I also had trouble with the "Video is connecting" message consistently displaying on the screen.
for your reference, telemetry is connecting properly, and I was able to hear the "PreArm: Throttle below failsafe" message on both the GCS and drone card. Additionally, I am able to successfully receive photos from the drone card when I press the "shoot" button on the GCS, so I don't believe it's a connection issue.
I have tried using a mobile hotspot, public wifi, and a portable wifi router that worked well for video streaming on other GCS. Therefore, I don't believe it's a problem with the connection speed.
The only issue seems to be that the video is not connecting now. I tried "ask for help" button but there is no log file automatically attached.
CheckAppPermissions.checkPermissionAndRequest
Is there contains a logic error for this logic check?
when PackageManager.PERMISSION_GRANTED it will return true yet it goes into the if statement to request for permission.
So, the check should be this way, right, missing !?
if ( ! checkPermission(activity,permission))
Note: If your app targets Build.VERSION_CODES.R or higher, WRITE_EXTERNAL_STORAGE permission has no effect.
Connection issues and enhancements
enabled logging options, but couldn't find log file on both GCS and drone card
I enabled logging options for analyzing my video connection problem, but couldn't find log file on both GCS and drone card.
It would be nice if there were a way to automatically connect to the internet after the application starts instead of forcing the user to push the connect button
turn off the log 'No subscribers registered for event class xxx.xxx'
I had tried the two followings, but it does not work.
- EventBus.builder().logNoSubscriberMessages(true).installDefaultEventBus();
- //EventBus.builder().logNoSubscriberMessages(false).installDefaultEventBus();
I still getting these
No subscribers registered for event class com.andruav.event.droneReport_Event.Event_IMU_Ready
No subscribers registered for event class de.greenrobot.event.NoSubscriberEvent
How does it work?
cannot connect with mission planner.
something is wrong with andruav, i cannot connect to any of my phones, they all show up as working on the webclient, but i cannot connect to them from mission planner..
Backup access code during upgrade
After a new release of the Android app I often find that I need to re-enter my access code. It would be nice if this could be backed-up and restored so users don't need to re-enter it.
build target 33
More needs to be done before the app can safely move to AP1 33.
Under build target 33, all permissions are allowed still missing permission keeps popping up.
images are attached.
READ_EXTERNAL_STORAGE is deprecated (and is not granted) when targeting Android 13+.
If you need to query or interact with MediaStore or media files on the shared storage,
you should instead use one or more new storage permissions: READ_MEDIA_IMAGES,
READ_MEDIA_VIDEO or READ_MEDIA_AUDIO.
AndruavMessage_CameraSwitch cannot be cast to AndruavMessage_CameraZoom
I got an error yesterday. Still trying to see what is the problem with the unmodified code.
Today, I cannot even start the live video streaming.
Event D No subscribers registered for event class de.greenrobot.event.NoSubscriberEvent
org.webrtc.Logging I CameraStatistics: Camera fps: 10.
System.err W java.lang.ClassCastException: com.andruav.protocol.commands.textMessages.AndruavMessage_CameraSwitch cannot be cast to com.andruav.protocol.commands.textMessages.AndruavMessage_CameraZoom
System.err W at com.andruav.protocol.communication.websocket.AndruavWSClientBase.executeInternalCommand_default(AndruavWSClientBase.java:883)
System.err W at com.andruav.protocol.communication.websocket.AndruavWSClientBase.Execute(AndruavWSClientBase.java:1554)
System.err W at com.andruav.protocol.communication.websocket.AndruavWSClientBase.onTextMessage(AndruavWSClientBase.java:588)
System.err W at com.andruav.protocol.communication.websocket.AndruavWSClientBase_TooTallNate$1.onMessage(AndruavWSClientBase_TooTallNate.java:153)
System.err W at org.java_websocket.client.WebSocketClient.onWebsocketMessage(WebSocketClient.java:462)
System.err W at org.java_websocket.drafts.Draft_6455.processFrame(Draft_6455.java:696)
System.err W at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:367)
System.err W at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:212)
System.err W at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:389)
System.err W at java.lang.Thread.run(Thread.java:1012)
org.webrtc.Logging I CameraCapturer: switchCamera
org.webrtc.Logging I CameraCapturer: switchCamera internal
OplusCamer...agerGlobal I setClientInfo, packageName: com.wikitude.sdksamples, uid: 10474, pid: 14009
org.webrtc.Logging I CameraCapturer: switchCamera: Stopping session
org.webrtc.Logging I CameraCapturer: switchCamera done
org.webrtc.Logging I Camera2Session: Stop camera2 session on camera 0
org.webrtc.Logging I Camera2Session: Stop internal
org.webrtc.Logging I SurfaceTextureHelper: stopListening()
BufferQueueProducer D SurfaceTexture-1-14009-2 disconnect: api 4
CameraManagerGlobal E Camera 5 is not available. Ignore physical camera status change
org.webrtc.Logging I Camera2Session: Stop done
org.webrtc.Logging I Camera2Session: Create new camera2 session on camera 1
org.webrtc.Logging I Camera2Session: start
OplusCamer...agerGlobal I setClientInfo, packageName: com.wikitude.sdksamples, uid: 10474, pid: 14009
org.webrtc.Logging I Camera2Session: Available preview sizes: [2328x1748, 2304x1728, 2304x1296, 2048x1080, 2160x1080, 1920x1080, 1920x864, 1920x822, 1600x1200, 1600x800, 1600x720, 1600x592, 1584x720, 1440x1080, 1280x960, 1280x768, 1024x768, 1280x720, 1200x1200, 1188x540, 1200x540, 1080x1080, 840x360, 800x400, 792x360, 720x540, 720x480, 640x640, 640x480, 640x360, 352x288, 320x240, 176x144]
org.webrtc.Logging I Camera2Session: Available fps ranges: [[10.0:10.0], [15.0:15.0], [24.0:24.0], [10.0:30.0], [15.0:30.0], [30.0:30.0]]
org.webrtc.Logging I Camera2Session: Using capture format: 1280x720@[10.0:10.0]
org.webrtc.Logging I Camera2Session: Opening camera 1
OplusCamer...agerGlobal I setClientInfo, packageName: com.wikitude.sdksamples, uid: 10474, pid: 14009
libc W Access denied finding property "persist.vendor.camera.privapp.list"
OplusCamer...agerGlobal I setClientInfo, packageName: com.wikitude.sdksamples, uid: 10474, pid: 14009
OplusCameraUtils I current activityName: ap.andruav_ap.activities.fpv.drone.FPVDroneRTCWebCamActivity
OplusCameraUtils I getComponentName, componentName: com.wikitude.sdksamples/ap.andruav_ap.activities.fpv.drone.FPVDroneRTCWebCamActivity, packageName:com.wikitude.sdksamples, activityName:ap.andruav_ap.activities.fpv.drone.FPVDroneRTCWebCamActivity
org.webrtc.Logging I Camera2Session: Camera device closed.
OplusCamer...icsManager D addPreviewInfo, eventMap: {halLevel=3, preview_time=90316, cameraId=0, pkgName=com.wikitude.sdksamples, apLevel=2}
OplusCamer...icsManager D addInfo, eventMap: {halLevel=3, cameraId=0, disconnectTime=1688375408365, pkgName=com.wikitude.sdksamples, connentTime=1688375318049, apLevel=2, timeCost=90316}
org.webrtc.Logging I Camera2Session: Camera opened.
BufferQueueProducer D SurfaceTexture-1-14009-2 connect: api=4 producerControlledByApp=true
OplusCamer...icsManager D addInfo, eventMap: {halLevel=3, cameraId=1, pkgName=com.wikitude.sdksamples, connentTime=1688375408395, apLevel=2}
org.webrtc.Logging I Camera2Session: Camera capture session configured.
org.webrtc.Logging I Camera2Session: Using video stabilization.
org.webrtc.Logging I Camera2Session: Auto-focus is not available.
org.webrtc.Logging I Camera2Session: Camera device successfully started.
org.webrtc.Logging I CameraCapturer: Create session done. Switch state: IN_PROGRESS
org.webrtc.Logging I SurfaceTextureHelper: Setting listener to org.webrtc.Camera2Session$CaptureSessionCallback$$ExternalSyntheticLambda0@6314d4
tude.sdksamples I createIfNeeded: Recreate new EGLImage since dataspace changed
Sensor_GPS D has been onSatelliteStatusChanged
Sensor_GPS D onSatelliteStatusChanged = NULL misFirstFix = false
Event D No subscribers registered for event class ap.andruavmiddlelibrary.sensors._7asasatEvents.Event_GPS_NMEA
Event D No subscribers registered for event class de.greenrobot.event.NoSubscriberEvent
ssl certificate expired -- site not functioning
cloud.ardupilot.org:8001/webclient.html
certificate just expired a few days ago.
however I am still able connect to the vehicle via mission control and UDPCI
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.