Git Product home page Git Product logo

mosaic_gnss_driver's People

Contributors

dmaroo avatar sachidanandvs avatar surajrathi avatar winwinashwin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

mfkiwl dmaroo

mosaic_gnss_driver's Issues

Remove dependencies on `boost::asio` and `boost::system`

Currently, the code uses boost::system to manage error handling. Within it, the majority of occurrences are of boost::system::error_code.

Dependencies on boost::system::error_code could be removed by using std::error_code, but that could probably result in a loss of compatibility with boost::asio. The loss of compatibility is not necessary (we can only know by testing), but the best way to remove boost::system dependency would be to remove boost::asio dependency along with it as well. However, removing boost::asio is not trivial. So try to find a way to remove boost::system dependency without breaking the code, and then test it to confirm that the code indeed works as expected. If this is not possible, then we will have to replace boost::asio by some standard library as well.

This PR might be relevant for removing boost::asio: https://github.com/STEllAR-GROUP/hpx/pull/5158/files

SBF Parser Unit Test for SBF Block Detection

We want to make sure, that we are detecting all of the SBF blocks in a given pcap file.
We can do this with the following process and then comparing the output with files in the test/data/sbf directory.

As in test/data/sbf/scripts/README.md,
First add the option MOSAIC_SBF_PRINT_ID using a compile time flag or adding add_compile_options(-DMOSAIC_SBF_PRINT_ID) to CMakeLists.txt.

When you run now, e,g.

suraj@ubuntu20 ~/ws_mel/src/mosaic_gnss_driver (git)-[clang-tidy-workflow] % rosrun mosaic_gnss_driver mosaic_gnss_driver_node _connection:="pcap" _stream:="sbf" _sbf_pvt_type="geodetic" _device:="test/data/sbf/003.pcap"
[ INFO] [1625292748.157543512]: Opening pcap file: /home/suraj/ws_mel/src/mosaic_gnss_driver/test/data/sbf/003.pcap
5914
5922
5914
5922
5914
5922
5914
5922
...

Pipe the output to | sort -r | uniq -c | sort -r | test/data/sbf/scripts/id_to_name.py

130 suraj@ubuntu20 ~/ws_mel/src/mosaic_gnss_driver (git)-[clang-tidy-workflow] % rosrun mosaic_gnss_driver mosaic_gnss_driver_node _connection:="pcap" _stream:="sbf" _sbf_pvt_type="geodetic" _device:="test/data/sbf/003.pcap"  | sort -r | uniq -c | sort -r | ./test/data/sbf/scripts/id_to_name.py
286967	4023	GALRawINAV	Galileo I/NAV navigation page
156904	4026	GLORawCA	GLONASS CA navigation string
126025	4047	BDSRaw	BeiDou navigation page
73998	5922	EndOfMeas	Measurement epoch marker
73998	5914	ReceiverTime	Current receiver and UTC time
73823	5921	EndOfPVT	PVT epoch marker
73823	5907	VelCovCartesian	Velocity covariance matrix (X, Y, Z)
73823	5906	PosCovGeodetic	Position covariance matrix (Lat, Lon, Alt)
73823	5905	PosCovCartesian	Position covariance matrix (X,Y, Z)
73823	4044	PosCart	Position, variance and baseline in Cartesian coordinates
...

and compare the output to test/data/sbf/003_blocks.txt.

You may want to disable/set to zero MOSAIC_GNSS_FAKE_SLEEP_TIME.

Originally posted by @surajRathi in #7 (comment)

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.