شاشة الإقلاع المخصّصة

يعرض العنقاء صورة بملء الشاشة عند إقلاعه. ويمكنك استبدالها بأي صورة — شعارك، أو تصميم خاصّ، أو ما تشاء. بلا تغييرات في الشيفرة؛ فقط ضع ملفّ PNG وشغّل سكربتًا واحدًا.


كيف يعمل

تُخزَّن شاشة الإقلاع مصفوفةَ بايتات PNG خام مضمّنة مباشرةً في البرنامج (splash_image.h). ويحوّل سكربت convert_splash.py أي PNG إلى تلك الصيغة تلقائيًّا، متولّيًا تغيير الحجم والترميز.

وعند الإقلاع، يقرأ البرنامج مصفوفة البايتات ويرسمها بكسلًا بكسل على شاشة 320×240 ST7789 قبل ظهور مِحثّ الأوامر.


استبدال شاشة الإقلاع

الخطوة 1 — جهّز صورتك

ضع ملفّ PNG في:

images/AL-ANQA-LOADING SCREEN.png

أي حجم يعمل — يغيّر السكربت حجمها إلى 320×240 تلقائيًّا (استيفاء ثنائي الخطّية). ولأحدّ نتيجة، ابدأ بصورة بنسبة 4:3 (مثل 1280×960 أو 1920×1440).

نمط الألوان: RGB أو RGBA أو تدرّج رمادي أو لوحة — كلّها مدعومة. وتُسقَط قناة الشفافية (البكسلات الشفّافة تصبح سوداء).

الخطوة 2 — شغّل المُحوّل

python convert_splash.py

الخطوة 3 — نزّل البرنامج

ابْنِ وارفع عاديًّا في VSCode / PlatformIO. فتُضمَّن الصورة الجديدة في البرنامج.


فرض إعادة التوليد

يتخطّى السكربت التوليد إن كان splash_image.h أحدث من PNG (لا-عمل سريع في البناءات المتكرّرة). ولفرض إعادة البناء:

python convert_splash.py --force

استعادة شاشة الإقلاع الافتراضية

شاشة الإقلاع الافتراضية (images/AL-ANQA-LOADING SCREEN.png) مضمّنة في المستودع. لاستعادتها بعد استبدالها:

git checkout images/"AL-ANQA-LOADING SCREEN.png"
python convert_splash.py --force

تفاصيل تقنية

الخاصّية القيمة
حجم الخرج 320×240 بكسل
عمق الألوان 16-bit RGB565 (عبر إعادة ترميز PNG)
خوارزمية التحجيم استيفاء ثنائي الخطّية (بايثون خالص، بلا Pillow)
صيغة الخرج مصفوفة C uint8_t في al-anqa-firmware/splash_image.h
أثر البناء يعمل السكربت خطافَ بناء لـ PlatformIO لكنه يتخطّى إن كان الرأس محدَّثًا

المُحوّل بايثون خالص (بلا اعتماديات خارجية — يستخدم os وzlib وstruct وsys من المكتبة القياسية فقط). ويعمل على أي جهاز يشغّل PlatformIO.


ملاحظات

  • يعمل السكربت تلقائيًّا في أوّل بناء (أو حين يكون PNG أحدث من الرأس). والبناءات اللاحقة تتخطّاه.
  • splash_image.h مُودَع في المستودع فتُبنى النسخ الجديدة فورًا بلا تشغيل السكربت.
  • تُعرَض شاشة الإقلاع نحو 1.5 ثانية أثناء الإقلاع قبل ظهور مِحثّ الأوامر.