team-abhiyaan / mosaic_gnss_driver Goto Github PK
View Code? Open in Web Editor NEWA ROS driver for the Septentrio Mosaic development kit GNSS/GPS module
Home Page: https://www.teamabhiyaan.com/
License: BSD 3-Clause "New" or "Revised" License
A ROS driver for the Septentrio Mosaic development kit GNSS/GPS module
Home Page: https://www.teamabhiyaan.com/
License: BSD 3-Clause "New" or "Revised" License
https://github.com/ros-tooling/setup-ros#alternative-to-setup-ros
Will it be quicker to use a docker container with ros preinstalled? I dont understand how docker works exactly, so I'm not sure if this will even affect it.
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
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)
Low priority.
Can we move do_not_use_time
from block_parsers.h
to cartesian.cpp
and geodetic.cpp
.
Why: do_not_use_time
is a feature of the block, not the block -> ros message converter.
Why is it not done yet: need to verify that static members will not affect memory order in #pragma pack(push, 1)
structures.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.