Git Product home page Git Product logo

bluetooth_gnss's People

Contributors

auricgoldfinger avatar ykasidit 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

Watchers

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

bluetooth_gnss's Issues

UBX message pitch,roll,yaw

Would it possible to log UBX binary message so have a full time and space information afterwards?

Is binary data logged?

Redesign main screen

Hide "usage" informations or move them i.e. the About menu.

In practice, especially when driving a car or a bike, this is more useful to see main informations:

  • mount point (or station ID)
  • baseline (distance between the rover and the base)
  • Horizontal / vertical / 3D precision (2D RMS)
  • fix type (fixed, float, dgps…)

For example, see Lefebure NTRIP client:

Log directory is not created on Android 11

When running Bluetooth GNSS on Android 11, the "bluetooth_gnss_logs' directory is not created and log files are not accessible. It is ok on Android 9.

I suspect that the problem is related to "scoped storage" restrictions in Android 11. As in the Android SDK doc, from Android 11, apps are no longer permitted to create their own app-specific directories in the external storage but the system provides app-specific directories which are accessible with the getExternalFilesDirs() calls.

Status of gnss in the notification bar.

Hello,

Thank you for making this great tool!

Is it possible to see in the notification bar, rather than a square, the type of positioning?:

  • Normal> N
  • DGPS> D
  • FLOAT> F
  • RTK> R

Server for bluetooth_gnss?

Hi, is the specification of the server and transmission open and available? I mean I want to have my own "EcoDoidGPS-Broadcast" device.

GPS Garmin Montana 700i not connecting

Hello,

I am having a persistent issue where I cannot establish a mock GPS location with my (brand new) Garmin Montana 700i. In fact, it seems I can only establish a GPS Bluetooth connection through one of their apps (Extreme, or another) and this may be the core of the issue. Considering, however, that this is not the issue and being connected through the app works, BLUETOOTH GNSS shows that all pre-connect checklist is functioning (Bluetooth powered is ON, Paired with Bluetooth Device, Target device selected, and Location is on), but then it either fails to establish a mock GPS location or it stays perpetually in the "Connecting" page.

Any ideas on how to circumvent this? Could it be an issue with the permissions of the GPS device itself?

Many thanks!

Gsnn_bluetooth

Funktioniert und es ist auch für mich eine große Erleichterung.

Auto-reconnect mode not working

Either I don't properly understand this mode or it is not working.
What I would expect, when I enable it, is, that when the connection to the external Bluetooth GNSS receiver was lost, the app would reconnect as soon as possible.

I. e. if the receiver is out of range for a short time, the app disconnects and should reconnect as soon as the receiver is back in range. Instead the app never reconnects.

WLAN-Monitor

WLAN Monitor is a small network tool. It makes it possible to scan the connected WIFI and log various data. Logging can be done in different formats. As a text file (csv), Excel with diagrams (quality - time and signal strength - time) or in a MySql database. https://apps.microsoft.com/detail/9nw6k64vclt4

Sort mountpoints by distance

During a trip this is difficult to find the nearest base, especially with a long mount list (e.g. centipede with 160 bases)
It will be useful to have a sort option (by name, distance…) and to display the distance in the list.

Add app to f-droid

Hi,

I really like your App and since the only open source alternative I found is outdated, I think it would be great to have your App on the f-droid store. (https://f-droid.org/)

(What is F-Droid?
F-Droid is an installable catalogue of FOSS (Free and Open Source Software) applications for the Android platform. The client makes it easy to browse, install, and keep track of updates on your device.)

The inclusion policy of f-droid (https://f-droid.org/en/docs/Inclusion_Policy/) states:
"For software to be FLOSS, the software in its entirety must be so - including all libraries and dependencies used. Additionally, it must be buildable with only FLOSS tools."

If this is the case for your App and you like the idea that the App is on the f-droid store you or I could submit a "Request For Packaging" or you could put together the relevant metadata and submit that via the F-Droid Data repository, which will drastically speed up the inclusion of the application. (https://f-droid.org/en/contribute/)

All in all there is no action required by you, if you support the inclusion to f-droid. I could submit the request for packaging, but of course I let you decide. You can also take care of it by yourself or decide to not have it on f-droid.

Thank you in advance.

NTRIP with zedf9

Hi people first I want to say thank you for your app. Second.. I am working with zed f9 connected to uart1 by Bluetooth and working good. However when I activate the NTRIP option all data "freeze" the GGA and RMC count stop, however the NTRIP count still growing.I am testing with a caster/server at 115200 . I tested at 4800 too and got same behavior.Do you have any suggestions?

[wishlist] pull GPS from Garmin watch bluetooth

Not sure this is possible, but would be nice if you could somehow scrape the GPS coordinates off a Garmin smart watch such as Garmin Instinct or Garmin Fenix. These have bluetooth but connect to Garmin's free app. You would somehow need to analyse the bluetooth comms to see if it's possible. This would enable many more users to use your app, since there are a lot of these devices out there and Garmin watches have pretty accurate GPS's. One use case would be for more accurate GPS and to save battery consumption on the android phone.

Request MQTT Connection to PointPerfect

Would it be possible to add an MQTT client so that Bluetooth GNSS would have an additional option to use Pointperfect in place of an NTRip. This would provide users with a low cost rtk correction service which has a large service area. Currently, RTK2Go has very few base stations within a reasonable distance in rural areas and paid rtk services are too expensive for occasional use by individuals and also do not support rural areas. Thank you

Feature request: simplified screen

When connected, I would like an alternative screen with large texts that can be easily read while driving. Just a limited number of fields, selectable from a list, including fix type (with colour code), speed, xDOP, ubloxXY accuracy... Something inspired from Lefebure client.

The app is "popping upp" unintentionally as the topmost app

When running Bluetooth GNSS and press "overview" (or "Home") system button (e.g. to change the topmost app on the device), the Bluetooth GNSS shortly appears as the topmost app (without me, to do nothing else). This happens usually so quickly, that I've got no change to select another app in the overview view. If I'm quick enough I may be able to choose other app, but still, quickly the GNSS Bluetooth becomes topmost app again... Occasionally the other app may stay the topmost app making it's use possible.

I've an ancient Samsung Galaxy Tab Active 2, and Honor MediaPad M5 Lite. The same problem appears on both devices. Some months ago it did not appeared with Honor (I didn't have Samsung at that time). Bluetooth GNSS version is 1.0.49. The other app, I usually want to use is OpenOrienteering Mapper.

Display GNSS status on lock screen notifications

Could be useful to display i.e fix type, accuracy… instead of device bluetooth id.
Displayed data could be textual or simply coloured icons (🟢 🟡 🔴 for accuracy, battery or storage level…)
Related to #20

0 Sats in use but still get the correct position?

Hi,

When I use the application and connect to a GNSS device via bluetooth and an NTRIP server, I do get a latitude and a longitude that pretty much correspond to my current location, but the field "N Sats used TOTAL" displays 0 and the following fields related to the different constellations display "No data" for the number of satellites in view.

This is most likely a bug or else how would I get a position that is correct?

I provided a screenshot of the application. I'm using a Samsung Galaxy S20 FE with up to date Android version if that helps.

Screenshot_20220218-141635

Logging doesn't work (Android11) unless re-set manually

This may be strongly related to #16 (which seemed to be resolved).
Right now it works this way:

  1. enable log directory
  2. a dir selector pops up, select dir
  3. accept permission from android
  4. connect to BT and logging works. disconnect at the end, exit.

  1. next time the program remembers enabled log directory and it's directory, also "propbably" remembers the permission
  2. after BT connect there is no logging, the display shows "no data" for all three log related status lines.

  1. logging can be restored the following way, but have to be repeated at every start:
  2. disconect (or start app)
  3. switch off logging
  4. switch on logging, select parent dir, select dir, accept permissions, and do as from step one.

May it be that the permission grant isn't remebered somehow?

Listing nearest NTRIP streams first ?

I have checked the List nearest streams first checkbox.
But the first stream shown several thousands of kilometers apart.

( I have turned on GPS before s.t. my location is known)
What am I missing?

Thanks,
Helmut

Connect Failed: java.lang.SecurityException android ... UID 10371 / PID 18403 lacks permission

Since the new update (1.0.48) I'm unable to connect to my Garmin GLO 2 device from my Nokia 8.5 (Android 12) phone.
I can still connect using my Samsung Galaxy Tab 7, though its on the older version (1.0.39).

The error appears on the notification bar:
Connect Failed: java.lang.SecurityException android ... UID 10371 / PID 18403 lacks permission ...

debug log posted below

I've tried:

  • restarting my Nokia device
  • uninstalling/reinstalling Bluetooth GNSS app
  • Clear cache and data
  • Re-pairing my GLO device

image
image

Debug log:
DEBUG: btgnss_nmea_p: set_callback() com.clearevo.libbluetooth_gnss_service.bluetooth_gnss_service@aaef733
DEBUG: btgnss_rfcmgr: tcp_server_host null so disabled conencting to tcp server mode...
DEBUG: btgnss_rfcmgr: init() done m_readline_callback_mode: true
DEBUG: btgnss_rfcmgr: connect() start
DEBUG: btgnss_rfcmgr: createRfcommSocketToServiceRecord SPP_WELL_KNOWN_UUNID
DEBUG: btgnss_rfcmgr: calling m_bluetooth_socket.connect() START m_target_bt_server_dev: name: Garmin GLO 2 #4ce1c bdaddr: 90:F1:57:F4:CE:1C
DEBUG: btgnss_rfcmgr: connect() exception: java.lang.SecurityException: UID 10371 / PID 18403 lacks permission android.permission.BLUETOOTH: stack_trace:
at android.os.Parcel.createExceptionOrNull(Parcel.java:2426)
at android.os.Parcel.createException(Parcel.java:2410)
at android.os.Parcel.readException(Parcel.java:2393)
at android.os.Parcel.readException(Parcel.java:2335)
at android.bluetooth.IBluetoothSocketManager$Stub$Proxy.connectSocket(IBluetoothSocketManager.java:227)
at android.bluetooth.BluetoothSocket.connect(BluetoothSocket.java:404)
at com.clearevo.libbluetooth_gnss_service.rfcomm_conn_mgr.connect(rfcomm_conn_mgr.java:256)
at com.clearevo.libbluetooth_gnss_service.bluetooth_gnss_service$8.run(bluetooth_gnss_service.java:743)

DEBUG: btgnss_rfcmgr: m_bluetooth_socket close() done

Wrong APK at tag v1.0.41?

The APK attached to tag v1.0.41 identifies as

package: name='com.clearevo.bluetooth_gnss' versionCode='40' versionName='1.0.40'

Could it be you accidentally attached the wrong file (or forgot to adjust the version before building)? Would be nice if it were fixed so updates are propagated (my updater abandons the file as it already has versionCode: 40).

Thanks!

NTRIP problem

Hi,

I've managed to configure the NTRIP settings. Yesterday I had "List streams from above server" working. (Now it doesn't work with the settings unchanged, by the way. It just says "Failed to list mount-points list from the server specified.")

However, after connecting my device, a small error message kept on popping up with HTTP 401 Unauthorized error.
I've double-checked my credentials, even registered a new account at www.euref-ip.net and have tried that one.

Is there anything I can check - from a browser or within the app?

I'm trying version 1.0.33 on an Android 10 phone.

Selecting the log directory requires going up and back on android 11

At stram start right now the program enters the log directory (using the system dialog) but there is no "use" button, so I have to go up a directory then enter the dir again, and there's the "use this dir" button and all works well.

I'd guess there's a separate call to use the already allowed directory without re-asking for user confirmation?

Landscape orientation problems

Landscape screen (like in a car's phone holder) does not work too well:

screenshot

First of all, the blue header takes too much space.
Then there is a huge white gap between item texts and values. Maybe a responsive two-column layout?

When addressing Issue #20, maybe this one could be also thought of.

[wishlist] play soundfile when fix quality changes

I would be neat to have a feature where I could assign (existing) sound files to playwhen fix changes.

I imagine it to make an "frtk" sound when changing from dgps or from rtk, etc. So I could be alerted when precision is getting down without constantly checking the screen.

Similarly it would be useful to play some alert sound when network stream is broken or reconnected successfully.

Probably for you it'd be easiest to let the user assign the sounds, and do nothing if nothing's assigned.

Also probably there should be some cooldown time between alerts (say, 15 seconds, preferably a user setting).

Can't connect to BT-359

Error message
Connect failed: java.io.IOException: read failed, socket might closed or timeout, read ret: -1

Thank you

NPE in MainActivity

I still don't know how to reproduce it and I'm still trying to find a solution for it, but sometimes I get a stacktrace in a Toast message:

WARNING: check _is_bt_connected failed: PlatformException(error, Attempt to invoke virtual method 'boolean com.clearevo.libbluetooth_gnss_service.bluetooth_gnss_service.is_ntrip_connected()' on a null object reference, null, java.lang.NullPointerException: Attempt to invoke virtual method 'boolean com.clearevo.libbluetooth_gnss_service.bluetooth_gnss_service.is_ntrip_connected()' on a null object reference
   at com.clearevo.bluetooth_gnss.MainActivity$2.onMetodCall(MainActivity.java:180)
   at io.flutter.plugin.common...

result.success(m_service.is_ntrip_connected());

The code could be changed with result.success(m_service != null && m_service.is_ntrip_connected()); but I'm trying to find out what causes m_service to be null...

Work around: close the app, swipe it away and reopen 😃

Fails to parse RMC message

I'm not sure whether the fault is in bluetooth_gnss, libbluetooth_gnss, or marine-api, but my GNSS device (A SkyTraq PX1122R) outputs an NMEA v4.1 RMC which has the nav status field at the end. See https://gpsd.gitlab.io/gpsd/NMEA.html#_rmc_recommended_minimum_navigation_information
The error I get is:

12-17 12:37:31.141  3618 31261 D btgnss_service: service: on_updated_nmea_params() start
12-17 12:37:31.141  3618 31261 D btgnss_service: ellips_height_key valid
12-17 12:37:31.142  3618 31261 D btgnss_service: bluetooth_gnss_service on_updated_nmea_params exception: java.lang.NullPointerException: Attempt to invoke virtual method 'double java.lang.Double.doubleValue()' on a null object reference
12-17 12:37:31.142  3618 31261 D btgnss_service: 	at com.clearevo.libbluetooth_gnss_service.bluetooth_gnss_service.on_updated_nmea_params(bluetooth_gnss_service.java:1165)
12-17 12:37:31.142  3618 31261 D btgnss_service: 	at com.clearevo.libecodroidgnss_parse.gnss_sentence_parser.parse_nmea_string(gnss_sentence_parser.java:308)
12-17 12:37:31.142  3618 31261 D btgnss_service: 	at com.clearevo.libecodroidgnss_parse.gnss_sentence_parser.parse(gnss_sentence_parser.java:95)
12-17 12:37:31.142  3618 31261 D btgnss_service: 	at com.clearevo.libbluetooth_gnss_service.bluetooth_gnss_service.on_readline(bluetooth_gnss_service.java:796)
12-17 12:37:31.142  3618 31261 D btgnss_service: 	at com.clearevo.libecodroidbluetooth.inputstream_to_queue_reader_thread.run(inputstream_to_queue_reader_thread.java:140)
12-17 12:37:31.142  3618 31261 D btgnss_service: service: on_updated_nmea_params() act
12-17 12:37:31.142  3618 31261 D btgnss_mainactvty: mainactivity on_updated_nmea_params()
12-17 12:37:31.142  3618 31261 D btgnss_service: service: on_updated_nmea_params() done
12-17 12:37:31.142  3618  3618 D btgnss_mainactvty: mainactivity handler got params map
12-17 12:37:31.142  3618  3618 D btgnss_mainactvty: sending params map to m_events_sink start
12-17 12:37:31.144  3618  3618 D btgnss_mainactvty: sending params map to m_events_sink done

Which essentially says that Speed is null:
speed = (double) params_map.get(talker+"_speed"); //Speed in knots (nautical miles per hour).

A typical RMC message is:
$GNRMC,125645.000,V,5023.3510649,N,01020.1174608,W,000.0,000.0,171221,,,N,V*07

My screen looks like this:
Screenshot_20211217-120457

So some data is getting through.

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.