Code Monkey home page Code Monkey logo

aprs.tools's People

Contributors

ellenhp avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

ruggedguitar

aprs.tools's Issues

Parse MIC-E packets.

Context sensitive parsing is available in autumn so this should be possible at the very least.

Parsing of Weather Data

Hopefully this can be part of 1.0, but parsing and better visuals of weather station data, in the log history would be just great.

Replace PacketTrackHistory with an LRU cache based on grid squares

Having the backend means clients who scroll around have the world's APRS data at their disposal, which has caused at least one OOM crash on my pixel 2. Replace the packetplotter/packettrackhistory combo with an LRU cache of grid squares. New requests in warm grid squares should only retrieve aprs data since the last request was made, to save bandwidth. This cache should be able to interact with the system and respond appropriately to memory pressure.

Additionally, current behavior of allowing requests for huge geographical areas but returning only the N most recent packets should either be preserved or improved. Graceful degradation (no heatmaps!) is ideal.

There should also be a separate mechanism for storing stations heard on RF. I'd hate for the LRU cache to purge stations heard on RF, especially if the device is offline and there's no way for the user to get that data back.

The setup flow doesn't work

Right now I don't think changes to SharedPreferences are getting plumbed through to the service, so the AprsIsClient isn't getting recreated as it should

Migrate aprsmonitor jobs to GCP

I want to be able to reboot my proxmox containers without breaking prod. I think I want to do this with google cloud build and docker? Idk, open question.

Code cleanup and testing

Things have changed a lot lately and code quality has suffered. Add some tests, get robolectric stuff working and add a linter config. This should also include refactoring to make heavier use of dagger and autofactory.

Crash when lots of markers are displayed

This is an OOM. Investigate what's causing it and how to cut down on memory usage. Removing markers of cached cells outside the viewport would help maybe? Also look at lazily loading the entire packet, and sending only the latlng and symbol from the server.

Add list view

It should be possible to view stations in a list sorted by distance instead of on a map.

Offline maps

It would be nice to have the option to download map tiles with open street maps.

api.aprs.tools code 404

Howdy,

This is an interesting project. I wonder if you have plans to continue development.
I've updated "com.google.android.geo.API_KEY" with my own API key to get the map working.
Then I built and launched on an emulated pixel 3xl.

Looks like api.aprs.tools is down? Perhaps we could use the aprs.fi api https://aprs.fi/page/api ?

2020-06-11 23:46:17.840 9423-9643/me.ellenhp.aprstools E/Volley: [672] BasicNetwork.performRequest: Unexpected response code 404 for https://api.aprs.tools/within/86940000+?type=posit

aprsmonitor keeps getting stuck

I'm setting all the timeouts correctly but it still just stops working occasionally. Log output looks like this:

[snipped, because it goes back forever]
Sending packets to server.
Response: 200             
Sending packets to server.
Response: 200             
Sending packets to server.
Response: 200             
Sending packets to server.
Response: 200             

Then nothing. Adding a software "watchdog timer" would fix this. I plan on having at least two of these jobs going in parallel so the dropped packets while the watchdog restarts the service don't concern me.

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.