توفر مكتبة PNT Integrity للمستخدمين طريقة للتحقق من سلامة بيانات GPS المستلمة والإشارات الناتجة ، وبالتالي تحسين المرونة ضد فقدان إشارة GPS المحتملة. يعد البرنامج إطارًا قابلًا للتطوير للكشف عن معالجة PNT المستند إلى GNSS والذي يوفر مستويات مختلفة من الحماية بناءً على البيانات المتاحة. سيتم توفير المكتبة إلى مستقبل GNSS و GNSS Server Timing Server OEMs لاستخدامها في التطوير أو التكامل المستقبلي في المنتجات والمنصات الحالية. يمكن العثور على مزيد من التفاصيل حول مكتبة تكامل PNT ضمن PNT_INTEGRITY_LIBRARY_GUIDE.PDF و PNT README على مكونات النظام ، والخوارزميات ، والشيكات. الأداة ذات الصلة هي مجموعة أدوات PNT Integrity DIY ، والتي تصف كيف يمكن للمستخدم النهائي للمنظور لمكتبة PNT تجميع مجموعة أدوات توضيحية مع الأجهزة التجارية (COTS).
هذه المكتبة مرخصة بموجب ترخيص BSD 3-CASE. تحتوي المكتبة على التعليمات البرمجية المصدر التي طورتها IS4S والأطراف الثالثة. ارجع إلى ملفات مصدر Invidual للحصول على معلومات حقوق الطبع والنشر المعمول بها.
Copyright (c) 2020 Integrated Solutions for Systems (IS4S), Inc
Copyright (c) 2017, ETHZ ASL (geodetic converter)
Copyright (c) 2009, Ben Hoyt (inih)
يُسمح بإعادة التوزيع والاستخدام في النماذج المصدر والثنائية ، مع أو بدون تعديل ، شريطة استيفاء الشروط التالية:
يتم توفير هذا البرنامج من قبل حاملي حقوق الطبع والنشر والمساهمين "كما هو" وأي ضمانات صريحة أو ضمنية ، بما في ذلك ، على سبيل المثال لا الحصر ، الضمانات الضمنية للتسويق والملاءمة لغرض معين. لا يجوز بأي حال من الأحوال أن يتحمل حامل حقوق الطبع والنشر أو المساهمين أي أضرار مباشرة أو غير مباشرة أو عرضية أو خاصة أو مثالية أو تبعية (بما في ذلك ، على سبيل المثال لا الحصر ، شراء السلع أو الخدمات البديلة ؛ فقدان الاستخدام أو البيانات أو الأرباح ؛ أو انقطاع الأعمال) ومع ذلك تسبب في أي نظرية للمسؤولية ، سواء في العقد ، أو المسؤولية الصارمة ، أو الضرر (بما في ذلك الإهمال أو غير ذلك) الناشئة بأي طريقة من استخدام هذا البرنامج ، حتى لو ننصح بإمكانية حدوث مثل هذا الضرر.
يحتوي هذا المستودع على مشروع Cmake من المستوى الأعلى لبناء مكتبة تكامل IS4S PNT ، وواجهة المستخدم ، وتبعياتها.
متطلبات النظام
تتم كتابة مكتبة PNT Integrity بطريقة متقاطعة باستخدام C ++. على الرغم من أنه من المتوقع أن تعمل على مجموعة واسعة من المنصات ، إلا أنه تم اختباره على أنظمة التشغيل التالية:
هناك حاجة إلى الأدوات الإضافية التالية لبناء المكتبة:
التبعيات
تم تصميم مكتبة PNT Integrity لتتطلب أقل عدد ممكن من تبعيات الطرف الثالث لدعم البناء على مجموعة واسعة من المنصات. هناك حاجة إلى اثنين من التبعيات بالإضافة إلى المكتبات المقدمة في الحزمة. مطلوب مكتبة قالب C ++ لـ eigen (https://eigen.tuxfamily.org) C ++ للجبر الخطي. حزمة FFTW (http://fftw.org) مطلوبة اختياريا ويلزم لاستخدام فحص الاستحواذ. مطلوب QT (https://www.qt.io) لإنشاء وتشغيل واجهة المستخدم
يمكن تثبيت كلتا الحزمتين بعد الإرشادات على مواقع الويب الخاصة بهما. Eigen عبارة عن حزمة رأس فقط ويمكن تثبيتها عن طريق تنزيل إصدار من موقع الويب للمشروع واستخراج مجلد محلي. تتوفر ثنائيات FFTW لمجموعة من المنصات من موقع الويب للمشروع.
بدلاً من ذلك ، يمكن استخدام مدير الحزمة لتثبيت التبعيات. بالنسبة إلى MacOS ، يوصى مدير الحزمة Homebrew (https://brew.sh). يوصى بمدير حزمة الشوكولاتة (https://chocolatey.org) لنظام التشغيل Windows. يتم توفير التعليمات المتعلقة بتثبيت التبعيات المطلوبة والاختيارية باستخدام مديري الحزم على أنظمة التشغيل المدعومة في الأقسام التالية.
Ubuntu / Debian
تثبيت eigen عن طريق التشغيل:
sudo apt install libeigen3-dev
اختياريا تثبيت FFTW عن طريق التشغيل:
sudo apt install libfftw3-dev
تثبيت QT5 على Ubuntu عن طريق التشغيل:
sudo apt install qtdeclarative5-dev qtwebengine5-dev libqt5charts5-dev
ماكوس
تثبيت eigen عن طريق التشغيل:
brew install eigen
اختياريا تثبيت FFTW عن طريق التشغيل:
brew install fftw
تثبيت QT5 على MacOS عن طريق التشغيل:
brew install qt
إذا واجهت أخطاء بناء cmake عند العثور على QT ، فقد يساعد ذلك:
export CMAKE_PREFIX_PATH=/usr/local/Cellar/qt/[version]/
النوافذ
تثبيت eigen عن طريق التشغيل:
choco install eigen
الشوكولاتة لا تدعم توفير الثنائيات ل FFTW. يمكن تنزيلها وتثبيتها مباشرة من موقع المشروع: http://www.fftw.org/install/windows.html (http://www.fftw.org/install/windows.html) للحصول Windows Platform انقر هنا.
مبنى
استخراج أرشيف الإصدار:
unzip release.zip
إنشاء ملفات بناء باستخدام CMake
cd release
mkdir build
cmake ../
بشكل افتراضي ، سيؤدي ذلك إلى إنشاء Makefiles Unix للحزمة. يمكن إنشاء ملفات المشروع لأنظمة البناء الأخرى أو IDES عن طريق تحديد مولد CMake بديل (https://cmake.org/cmake/help/v3.15/manual/cmake-generators.7.html). بناء المكتبات عن طريق التشغيل:
make
يمكن تثبيت المكتبات اختياريا على نظام المستخدم عن طريق التشغيل:
make install