InfiniTime
برنامج ثابت سريع ومفتوح المصدر لساعة PineTime الذكية مع العديد من الميزات، مكتوب بلغة C++ الحديثة.
هل أنت جديد في InfiniTime؟
- الشروع في العمل مع InfiniTime
- تحديث البرنامج
- حول البرامج الثابتة ومحمل التشغيل
- التطبيقات المتاحة
- وجوه الساعة المتاحة
- PineTimeStyle مشاهدة الوجه
تطبيقات مصاحبة
- جادجيت بريدج (أندرويد)
- Amazfish (SailfishOS، Ubuntu Touch، Flatpak)
- سيجلو (لينكس)
- إنفينيلينك (iOS)
- آي تي دي (لينكس)
- واتش ميت (لينكس)
- إنفينيتي تايم إكسبلورر (الويب)
InfiniTimeExplorer متوافق فقط مع متصفحات الويب التي تدعم Web BLE. تشمل المتصفحات الحالية المدعومة بالكامل Chrome وMicrosoft Edge.
لقد أزلنا الإشارات إلى NRFConnect لأن هذا التطبيق مغلق المصدر ولم تعد الإصدارات الحديثة تعمل مع InfiniTime (آخر إصدار معروف بالعمل هو 4.24.3). إذا كنت تستخدم NRFConnect في الماضي، فنوصيك بالتبديل إلى Gadgetbridge.
تطوير
- رؤية إنفينيتي تايم
- الهيكل الخام للكود
- كيفية تنفيذ التطبيق
- إنشاء الخطوط والرموز
- نصائح حول تصميم واجهة المستخدم للتطبيق
- محمل الإقلاع، OTA وDFU
- الموارد الخارجية
المساهمة
- كيفية المساهمة
- اتفاقيات الترميز
بناء وفلاش وتصحيح الأخطاء
- محاكاة إنفينيتي تايم
- بناء المشروع
- قم ببناء المشروع باستخدام Docker
- قم ببناء المشروع باستخدام VSCode
- قم بتفليش البرنامج الثابت باستخدام OpenOCD وSTLinkV2
- قم بفلاش البرنامج الثابت باستخدام واجهة SWD
- قم بتفليش البرنامج الثابت باستخدام JLink
- قم بتفليش البرنامج الثابت باستخدام GDB
- كعب باستخدام NRF52-DK
واجهة برمجة التطبيقات
الهندسة المعمارية والمواضيع الفنية
إدارة المشروع
- دليل المشرف
- الإصدار
- فروع المشروع
- الملفات المدرجة في ملاحظات الإصدار
- الملفات التي يحتاجها المصنع
التراخيص
تم إصدار هذا المشروع بموجب رخصة جنو العامة الإصدار 3 أو، حسب اختيارك، أي إصدار أحدث.
فهو يدمج المشاريع التالية:
- RTOS: FreeRTOS بموجب ترخيص MIT
- واجهة المستخدم: LittleVGL/LVGL بموجب ترخيص MIT
- مكدس BLE: NimBLE بموجب ترخيص Apache 2.0
- الخط: Jetbrains Mono بموجب ترخيص Apache 2.0
الاعتمادات
أنا لا أعمل وحدي في هذا المشروع. أولاً، يقوم العديد من الأشخاص بإنشاء طلبات سحب لهذا المشروع. ثم، هناك مجتمع #pinetime بأكمله: الكثير من الأشخاص في جميع أنحاء العالم الذين يقومون باختراق Pinetime والبحث عنه وتجربته وبرمجته. نتبادل أفكارنا وتجاربنا وأكوادنا في غرف الدردشة والمنتديات.
وهنا بعض الأشخاص الذين أود تسليط الضوء عليهم:
- Atc1441: يعمل على برنامج ثابت يعتمد على Arduino لـ Pinetime والعديد من الساعات الذكية الأخرى المعتمدة على أجهزة مماثلة. لقد ساعدني كثيرًا عندما كنت أقوم بتنفيذ الدعم لمستشعر الحركة BMA421 وبرنامج تشغيل I²C.
- كوين: إنه يعمل على برنامج ثابت يعتمد على نظام التشغيل RiotOS. لقد قام بدمج libs مماثلة مثلي: NimBLE، LittleVGL،... وكانت مساعدته لا تقدر بثمن أيضًا!
- Lup Yuen Lee: إنه موجود في كل مكان: فهو يعمل على برنامج Rust الثابت، ويبني أداة تحميل التشغيل المستندة إلى MCUBoot لـ Pinetime، ويصمم تطبيقًا مصاحبًا يعتمد على Flutter للهواتف الذكية ويكتب الكثير من المقالات حول Pinetime!