Code Monkey home page Code Monkey logo

Comments (16)

jvde-github avatar jvde-github commented on August 28, 2024

Hi! Thanks. I have not seen this before personally. Any information on the phone and Android version? In what state is the program if it stops (background)? And if it restarts do you see the "data received" counter still running?

The only thing I can think of is some battery optimization on the phone that does not grant the app the necessary running time after a while. I would play around a bit with the battery optimization settings for the app and see if that fixes it.

You could also try another RTL-SDR app and see if it shows the same problem? Then we can conclude it is the App and not the phone. For example, run https://play.google.com/store/apps/details?id=marto.rtl_tcp_andro. AIS-catcher can connect to this app to get the data from the dongle (via source = RTL-TCP driver).

from ais-catcher-for-android.

syspart avatar syspart commented on August 28, 2024

The first device is a pixel 6 and android 13.
Now I tested it with samsung galaxy s5 and lineageos android version 11.
On lineage it starts with 25 messages.
Than I deleted AIS-catcher restart the s5 installed ais-catcher reattach the dongle. And now I get 8 messages. Now I put the dongel in a freezer :-).
And after 10 min back, I receive new messages.
So its a temperature problem with the device.
But as stated before, with SDRangel there is no problem with the temperature, the dongle is little warm, and it gets the messages.

from ais-catcher-for-android.

syspart avatar syspart commented on August 28, 2024

So with the cooled device I get 240 messages.
Data received counter is going on, but no more message are comming.

from ais-catcher-for-android.

jvde-github avatar jvde-github commented on August 28, 2024

That freezer angle is funny. Thanks. So it is possible then that the heating of the device is causing some frequency drift that stops the app from properly receiving messages. If data is still coming in but nothing being picked up, that could be an explanation.

Does not explain why it is running so hot on Android. In principle SDRangel and AIS-catcher are both using libusb and the rtlsdr library. The logic should not be too different.

I did a run for >6 hours running the App reporting to MarineTraffic without the issues you seem to experience. Either Android implementation needs to be tweaked (I will do some testing as well with dongles comparing Windows and Android), or Android does not like this particular dongle for whatever reason or could it have to do with an OTG cable somehow?

from ais-catcher-for-android.

syspart avatar syspart commented on August 28, 2024

On both systems the dongle dont get hot. Maybe hand warm.

from ais-catcher-for-android.

jvde-github avatar jvde-github commented on August 28, 2024

Yes, sorry, you did not say that, only that it seems to be temperature related. Will see if I can replicate with a blue dongle but I would try if swapping the OTG cable resolves the issue.

from ais-catcher-for-android.

syspart avatar syspart commented on August 28, 2024

The otg should not be the problem. They are different for pixel (usb-c) and micro-usb for the s5.
I don't know how this hole stuff works, but when SDRangel uses a little different filter, which is not so vulnerable for a little frequency shift.
But I am only guessing.

from ais-catcher-for-android.

jvde-github avatar jvde-github commented on August 28, 2024

Ok, clear. If that is the case you would see a similar issue if you use AIS-catcher for Windows (https://github.com/jvde-github/AIS-catcher) which then should receive less messages than SDRangel on Windows. And then I think we can fix it (either by using a second algorithm embedded in AIS-catcher or introducing an extra setting making the App more forgiving on frequency drifts, the development version already has a switch -go CGF_WIDE on as experimental feature).

from ais-catcher-for-android.

jvde-github avatar jvde-github commented on August 28, 2024

I think AIS-catcher allows +/- 4 ppm deviation in frequency before it starts to struggle which makes sense if there is no thermal drift as it gives a little bit of slack for the receiver and the sender.

The other way to test this hypothesis of thermal drift is to, once no more messages are detected but data is still streaming, stop the detection, go to settings and find a PPM settings that possibly works and start again (settings only become effective when reception is started).

from ais-catcher-for-android.

syspart avatar syspart commented on August 28, 2024

There is a shift to ~ -10ppm. Sometimes -16ppm. It depends on how long it is running, or if I heat it up with my hand.
But it was tricky, first I had to know, it could go downwards, and then testing it step by step.
And after of lot of start and stops, the buttons at the bottom ditn't react any longer (Stop, clear, rtlsdr). But I could open the hamburger menu and go into settings. I had to clear app data and cache. Couldn't reproduce it, but it happened 2x.

from ais-catcher-for-android.

jvde-github avatar jvde-github commented on August 28, 2024

Ok, great, thanks for testing! Then it is definitely thermal shift of this particular dongle then. I have added two new settings to the App and will upload soon (in an hour or tomorrow). Hopefully this gives some extra settings to overcome this issue.

from ais-catcher-for-android.

jvde-github avatar jvde-github commented on August 28, 2024

Hello. I have created a new release with some extra options (https://github.com/jvde-github/AIS-catcher-for-Android/releases/tag/v0.21) and made this version also available in the Play store.

If you go to Settings there is now a Receiver section at the bottom with a setting named "Applied Frequency Correction". One thing you could try is to change this settings from Default -> Wide.

A second thing you could try (if that does not work) is to change the setting "Receiver Decoding Model" from Default to FM decoding. Had a look at the SDRangel code and it uses this method plus it corrects for DC offsets which AIS-catcher in this model does not do so this might not be the best solution against thermal drift. Not sure I have appetite to add it as it is not the default decoding model.

These models can better cope with frequency drift but are less sensitive and therefore might identify fewer messages (i.e. no free lunch).
For other dongles which do not have this problem I would not advice to use these options.

Hope this works for you.

from ais-catcher-for-android.

syspart avatar syspart commented on August 28, 2024

With applied frequency correction it is all fine.
I get 450 messages with 120 MB.
Thanks

from ais-catcher-for-android.

jvde-github avatar jvde-github commented on August 28, 2024

Amazing, thanks for persevering to get to the bottom of this.

from ais-catcher-for-android.

syspart avatar syspart commented on August 28, 2024

By the way, where do I get a openCPN map for the northsea.
Download from https://alpha.openseamap.org/ did not work for me.
And the kap map I found on wiki.openseamap.org have a terrible scale.

from ais-catcher-for-android.

jvde-github avatar jvde-github commented on August 28, 2024

Don't know sorry,

from ais-catcher-for-android.

Related Issues (14)

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.