Git Product home page Git Product logo

geovis's People

Contributors

nolanholden avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

geovis's Issues

Implement a mediator-style alerting class

For example, if something goes wrong, we can submit to Alerter (or MessageBlaster etc.) (perhaps even with an enum for priority settings) and it can alert via Serial, write to file, send over the radio, etc.

All for ~one configuration at the beginning of the program.

Investigate and resolve the cause for high-sampling rate issues with GPS module.

Testing has shown that high sampling rates of the GPS receiver cause the cessation of new fixes (and GPS date, and other data from the satellites).
This can be seen by building the project at this commit: 6aa457c

For example:

Opening port
Port open
VMDPV_1|1_VMDPV
Setup complete. . .

sats  hdop     lat          long    fix-age   date      time   (... and friends ...)
9    ,89   ,38.218971  ,-85.753220  ,0    ,07/05/2017,19:04:05,1097 ,153.50 ,261.06 ,0.11  ,W     ,9620     ,92.61  ,E     ,720   ,9         ,0        ,
9    ,89   ,38.218971  ,-85.753220  ,513  ,07/05/2017,19:04:05,1610 ,153.50 ,261.06 ,0.11  ,W     ,9620     ,92.61  ,E     ,783   ,9         ,1        ,
9    ,89   ,38.218971  ,-85.753220  ,1026 ,07/05/2017,19:04:05,2123 ,153.50 ,261.06 ,0.11  ,W     ,9620     ,92.61  ,E     ,846   ,9         ,1        ,
9    ,89   ,38.218971  ,-85.753220  ,1538 ,07/05/2017,19:04:05,2635 ,153.50 ,261.06 ,0.11  ,W     ,9620     ,92.61  ,E     ,909   ,9         ,1        ,
9    ,89   ,38.218971  ,-85.753220  ,2051 ,07/05/2017,19:04:05,3148 ,153.50 ,261.06 ,0.11  ,W     ,9620     ,92.61  ,E     ,972   ,9         ,1        ,
9    ,89   ,38.218971  ,-85.753220  ,2564 ,07/05/2017,19:04:05,3661 ,153.50 ,261.06 ,0.11  ,W     ,9620     ,92.61  ,E     ,1035  ,9         ,2        ,
// Above, the "fix age" grew to 2564 milliseconds. (i.e., no new fixes completely arrived for 2.5 seconds)
// This is absolutely unacceptable. 
9    ,89   ,38.218971  ,-85.753220  ,1    ,07/05/2017,19:04:09,4174 ,153.50 ,261.06 ,0.11  ,W     ,9620     ,92.61  ,E     ,1098  ,10        ,2        ,
9    ,89   ,38.218971  ,-85.753220  ,513  ,07/05/2017,19:04:09,4686 ,153.50 ,261.06 ,0.11  ,W     ,9620     ,92.61  ,E     ,1161  ,10        ,3        ,
9    ,89   ,38.218971  ,-85.753220  ,1026 ,07/05/2017,19:04:09,5199 ,153.50 ,261.06 ,0.11  ,W     ,9620     ,92.61  ,E     ,1224  ,10        ,4        ,
9    ,89   ,38.218971  ,-85.753220  ,1539 ,07/05/2017,19:04:09,5712 ,153.50 ,261.06 ,0.11  ,W     ,9620     ,92.61  ,E     ,1287  ,10        ,4        ,
9    ,89   ,38.218971  ,-85.753220  ,2051 ,07/05/2017,19:04:09,6225 ,153.50 ,261.06 ,0.11  ,W     ,9620     ,92.61  ,E     ,1350  ,10        ,5        ,
9    ,89   ,38.218971  ,-85.753220  ,2564 ,07/05/2017,19:04:09,6737 ,153.50 ,261.06 ,0.11  ,W     ,9620     ,92.61  ,E     ,1413  ,10        ,5        ,
9    ,89   ,38.218971  ,-85.753220  ,3077 ,07/05/2017,19:04:09,7250 ,153.50 ,261.06 ,0.11  ,W     ,9620     ,92.61  ,E     ,1476  ,10        ,6        ,
9    ,89   ,38.218971  ,-85.753220  ,3590 ,07/05/2017,19:04:09,7763 ,153.50 ,261.06 ,0.11  ,W     ,9620     ,92.61  ,E     ,1543  ,10        ,6        ,
9    ,89   ,38.218971  ,-85.753220  ,4102 ,07/05/2017,19:04:09,8275 ,153.50 ,261.06 ,0.11  ,W     ,9620     ,92.61  ,E     ,1606  ,10        ,7        ,
9    ,89   ,38.218971  ,-85.753220  ,4615 ,07/05/2017,19:04:09,8788 ,153.50 ,261.06 ,0.11  ,W     ,9620     ,92.61  ,E     ,1669  ,10        ,8        ,
9    ,89   ,38.218971  ,-85.753220  ,5128 ,07/05/2017,19:04:09,9301 ,153.50 ,261.06 ,0.11  ,W     ,9620     ,92.61  ,E     ,1732  ,10        ,9        ,
9    ,89   ,38.218971  ,-85.753220  ,5640 ,07/05/2017,19:04:09,9814 ,153.50 ,261.06 ,0.11  ,W     ,9620     ,92.61  ,E     ,1795  ,10        ,10       ,
// Again, "fix age" grew to 5640 milliseconds.
// Very unacceptable. 
  • Is the library in-use the sole cause?
    • If so, how can we mitigate?
  • Is is because high sampling rates may cause us to fail to completely read NMEA sentences?
    • If so, can we increase data rate at any bottlenecks?
    • Where are the bottlenecks?

Redesign Kalman filtering

Currently, equation constants can only be bulk specified for entire class definitions. This is problematic if we decide to filter data differently for a single sensor (for instance, perhaps gps heading is filtered differently from gps altitude). Most likely, this suggests a promotion of kalman types from struct to class with individually provided equation constants.

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.