Пару слів про Rustilka

rustilka original TM R logo

Вихідний код на Gitlab

Rustilka не тільки бібліотека

Rustilka це мініпроєкт підтримки мови Rust для Лілки, який має аналогічну мету як і сама консоль - "Полегшити", але якщо девайс полегшує навчання в embedded, то ця бібліотека полегшує тільки розробку. Чому? На думку автора rustilka облегшення навчання вже не має сенсу, адже якщо ви знаєте Rust, то ви вже знаэте багато, так теоритично можна почати вивчати embedded з мови Rust(адже для цієї сфери вийшло багато фреймворків і необхідних бібліотек та утиліт), але все одно, сама лалка позиціюватися для новачків(які на мою думку як мінімум знають Arduino), Rust сам по собі не для новачків, а її embedded частина потребує більше часу.

Також цей проєкт чисто технічно незалежний від оригінального SDK, при наявності можливостей ми могли б мати IDF версію, але на думку автора це не має сенсу. Адже для того що б виконати головну мету Лілки було прийняти рішення взяти bare-metal HAL який не має ніяких зв'язків з IDF, і також сама rustilka(в якості бібліотеки) як і казалося раніше повністю незалежна в плані коду, вона має свою імплементацію, ідеологію(частково), і дизайн бібліотеки. Це було зроблено через бажання переписати все на Rust йти за звичаями ком'юніті расту, тобто без біндів, своя реалізація і т.д.

Яка мета ось цього вашого "мініпроєкту"

Доволі проста! Спростити розробку. Вона в собі має генератор який спрощує вам налаштування проєкту для створення прошивки, адже деяка функціональність ще потребує окремі версії, як то, наприклад nightly для async, чи флаги лінтів для wireless протоколів. Також ця документація є частиною мініпроєкту.

Для кого розрахована бібліотека?

Для людей які як мінімум прочитали Rustbook і попрактикували мову, і як мінімум спробували написати просту програму для МК на расті. Також було б непогано мати знання фізики 8-9 клас розділу "Електроніка" і поверхневі знання embedded по типу arduino і мікроконтроллерів які часто використовують для DIY.

Чи має він підтримку "версій лілки"?

Ні! Офіційно можна вважати V1 застарілою:

No more V1

Тому на цей час пишеться підтримка тільки для V2.

Чому проєкт має назву "Rustilka"

Все доволі просто й очевидно, поєднання Rust і лілка.

Раніше був варіант "Кіра". Чому? В офіційній документації в розділі поширених запитань говориться що проєкт назвали на честь кота Андерсона, а якщо вже пішла така тенденція, то я б міг назвати в честь своєї кішки Кіри.