A small application written in C++ with Qt and QML to display the coordinates of the F9P GNSS on an interactive map.
The application targets Qt 5.15 LTS.
To compile the project, you will need the following dependencies:
Follow Qt's guide on how to build the application. If you have any problem, you may want to check this useful answer from Qt Forum.
If you want to use the application without an internet connection, you will need to download the tiles on your disk. To do this, download the most recent version of JTileDownloader. Next, enter the coordinates of the bounding box you want to download, specify the zoom levels and select a folder to store the tiles. Be sure to download only the tiles you need and please take a look at the Tile usage policy of OpenStreetMap.
Once you have downloaded the tiles, you need to format their names under a specific format required by the application.
To do this, you can use the small import_tiles.sh
script that will do that for you.
Simply enter the following command from the folder of the project:
./import_tiles.sh /path/to/directory/containing/the/tiles
Before, be sure to check that you have the rights to execute the script. If not: chmod u+x import_tiles.sh
Next, in QtCreator open the qml.qrc
file (right-click > Open in Editor). From there, remove any missing files (Remove Missing Files) and select "Add Files".
Select all the tiles imported in the "Offline_tiles" folder and select open.
Now save and build the project.
Next time you will launch the application, it will try to load the tiles from the Offline_tiles folder first. And if you are not connected to the internet, the application will still be able to display the tiles you have downloaded.
To simulate a flying vehicle, you can use the simulate_flying_vehicle
program to send data over UDP to the main application.
A cursor on the map will be automatically updated to the position of this vehicle as it moves.
To compile it, simply enter the following command in the directory of the program:
gcc -std=c99 -I ../include/mavlink/v2.0/AGU/AGU_MAVLINK/ -o simulate_flying_vehicle simulate_flying_vehicle.c
And then, launch the executable file while the main application is running:
./simulate_flying_vehicle
To generate the MAVLink library, you need the XML files containing the dialects you need. They are in message_definitions/v1.0.
Then follow the steps of this guide to generate the library.
Afterwards, simply copy the mavlink
folder from generated/include
into the project's include
folder.
The original version of the GNSS driver used in the project comes from here.