Skip to content

Latest commit

 

History

History
63 lines (51 loc) · 3.45 KB

readme.md

File metadata and controls

63 lines (51 loc) · 3.45 KB

F9P Coordinates Viewer

A small application written in C++ with Qt and QML to display the coordinates of the F9P GNSS on an interactive map.

Presentation image

Build

The application targets Qt 5.15 LTS.

Libraries

To compile the project, you will need the following dependencies:

Build the release version

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.

Use offline tiles

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.

Simulate a flying vehicle

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

MAVLink library

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.

Credits

The original version of the GNSS driver used in the project comes from here.