Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Avitab NAV data held in a SQLite database #200

Merged
merged 5 commits into from
Jul 21, 2024

Conversation

mjh65
Copy link
Collaborator

@mjh65 mjh65 commented Mar 13, 2024

This is a relatively large feature addition that has been hinted at in several previous PRs, and is finally now being requested, having reached a state of (more-or-less) equivalent behaviour with the existing in-memory NAV data scraped from the simulator installation files on each Avitab startup.

In its current version, the new feature will remain inactive unless the Avitab user installs a compatible SQLite database file with the correct name, in the correct place, and with the correct structure. Since this is unlikely to be done accidentally, this PR should be relatively harmless to incorporate into the Avitab repo, and this PR is really to help tidy-up my fork of the Avitab master, and reduce the size of future updates.

For advanced users who wish to try using the feature, the code base now includes a tool which is able to generate an Avitab-compatible SQLite database file from a Little Navmap database. This is the first (and easiest) technique for database generation. It is planned to support other techniques in the future.

@mjh65
Copy link
Collaborator Author

mjh65 commented Mar 14, 2024

For the purposes of test and review, a pre-compiled database can be downloaded from https://www.dropbox.com/scl/fi/kmi8lgtjymq2otg7e24pv/avitab_navdb.sqlite.zip?rlkey=2p6fq338o6nbg5osxw0ou0cfu&dl=0.

To enable the new SQL NAV feature the unzipped database file (avitab_navdb.sqlite) should be put into a directory 'navdb' in the root directory of the plugin (or the directory containing the Avitab-standalone executable for desktop testing).

Even if not used when flying with X-Plane, the use of the SQL database significantly reduces startup times, and is great when debugging other parts of the Avitab code!

mjh65 and others added 5 commits June 12, 2024 20:37
This update includes the complete implementation of the sqlnav namespaced
derivations of abstract interfaces in the world API. It does not include
the additional code to activate this new code.
The initial version of this tool only supports database generation from a Little Navmap (Atools) SQLite3
database. Future enhancements will parse the simulator installation files directly.
@fpw fpw merged commit 8221e89 into fpw:master Jul 21, 2024
@mjh65 mjh65 deleted the pr_navdb_sqlite branch July 23, 2024 11:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants