
مكتبة للوحات القائمة على WCH CH56x مع برامج تشغيل USB3/USB2/HSPI/SerDes مُختبَرة، وتسجيل، ومقاطعات مؤجلة.
تم بناء هذه المكتبة جنبًا إلى جنب مع Hydradancer، وهو خلفية (backend) جديدة لمكتبة محاكاة USB الخاصة بـ Facedancer والمرتكزة على شريحة WCH569.
كانت هناك حاجة إلى برامج تشغيل موثوقة لهذا المشروع، كما أن العديد من الميزات كانت مفقودة من أمثلة WCH أو غير مختبرة.
توفر هذه المكتبة برامج تشغيل USB3 وUSB2 وHSPI وSerDes التي تم اختبارها باستخدام اختبارات الأداء/السلامة في tests/. وهي مبنية على wch-ch56x-bsp لكن هدفها هو توفير مكتبة بمستوى أعلى. وبما أن Hydradancer كان يستخدم عدة أجهزة طرفية في وقت واحد (USB3/HSPI، USB2/HSPI)، تم تنفيذ قائمة انتظار للمقاطعات لتجنب فقدان المقاطعات للاستخدام مع hspi_scheduled بالإضافة إلى مجموعة ذاكرة ثابتة. في حين أن الاختبارات في هذا المستودع بسيطة بما يكفي للقيام بالمعالجة داخل معالجات المقاطعة، فإن Hydradancer كان يفقد المقاطعات وكان تأجيل المقاطعات إلى وضع المستخدم أمرًا مطلوبًا.
في مشروع قائم على CMake، ما عليك سوى استخدام add_subdirectory(path_to_wch-ch56x-lib) والربط مع هدف wch-ch56x-lib. إن wch-ch56x-lib هو حاليًا هدف INTERFACE، مما يعني أن ملفات المصدر/الرؤوس سيتم ترجمتها مع هدفك، وليس بشكل مستقل.
الخيارات المتاحة
للبناء ووميض البرنامج الثابت (firmware)، راجع دليل البناء.
يمكن العثور هناك أيضًا على مزيد من المعلومات حول خيارات التجميع.
يستخدم هذا المشروع لوحة أو لوحتين من HydraUSB3، والمرتكزة على متحكم WCH569 RISCV.
wch-ch56x-lib/
| ├─ tests/ # test firmwares to test various parts of the library
| ├─ src/
| | ├─wch-ch56x-lib # the source/header files of the lib
| ├─ tools/
| ├─ docs/ # additional documentation
يمكن العثور على مزيد من المعلومات حول الاختبارات المختلفة وكيفية استخدامها في docs/Testing.md
إذا واجهت أخطاءً أو أردت اقتراح ميزات جديدة، فيرجى التحقق من المشكلات (issues) الحالية وإنشاء مشكلة جديدة إذا لزم الأمر.
للمساهمة في الكود، يُنصح بالتحقق من المشكلات الحالية وإبلاغ المساهمين الآخرين بأنك تعمل على شيء ما عبر التعليق. بهذه الطريقة لن تضيع وقتك في العمل على ميزة لم تكن مطلوبة أو كانت قيد التطوير بالفعل.
بعد ذلك، يرجى إنشاء طلب سحب (pull request) وربطه بالمشكلة ذات الصلة.
يجب أن يتبع كودك إرشادات أسلوب البرمجة.