Bol vydaný projekt PikaScript 1.8, ktorý rozvíja kompaktný engine na písanie aplikácií pre mikrokontroléry v jazyku Python. PikaScript nie je viazaný na vonkajšie závislosti a môže fungovať na mikrokontroléroch s 4 KB RAM a 32 KB Flash, ako sú STM32G030C8 a STM32F103C8. Pre porovnanie, MicroPython vyžaduje 16 KB RAM a 256 KB Flash, zatiaľ čo Snek vyžaduje 2 KB RAM a 32 KB Flash. Kód projektu je napísaný v jazyku C a je šírený pod licenciou MIT.
PikaScript ponúka podmnožinu jazyka Python 3, podporujúcu syntaktické prvky, ako sú vetvenia a cykly (if, while, for, else, elif, break, continue), základné operátory (+ - * / ), moduly, inkapsuláciu, dedičstvo, polymorfizmus, triedy a metódy. Python skripty sa vykonávajú na zariadeniach po predchádzajúcej kompilácii - PikaScript najprv transformuje Python kód na interný bajtkód Pika Asm, ktorý sa na konečnom zariadení vykonáva v špeciálnom virtuálnom stroji Pika Runtime. Podporuje prácu priamo nad hardvérom alebo v prostrediach RT-Thread, VSF (Versaloon Software Framework) a Linux.

Osobitne sa zdôrazňuje jednoduchosť integrácie skriptov PikaScript s kódom v jazyku C - kódu môžu byť pripájané funkcie napísané v jazyku C, čo umožňuje pri implementácii PikaScript využiť existujúce projekty, ktoré boli napísané v jazyku C. Na vývoj C modulov je možné využívať existujúce vývojové prostredia, ako sú Keil, IAR, RT-Thread Studio a Segger Embedded Studio. Pripájania sa generujú automaticky v procese kompilácie, stačí určiť API v súbore s Python kódom a pripájanie C funkcií k Python modulom bude vykonané počas spúšťania kompilátora Pika Pre-compiler.

V PikaScript je deklarovaná podpora 24 mikrokontrolérov, vrátane rôznych modelov stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry Pico, ESP32C3 a Infineon TC264D. Pre rýchly začiatok vývoja bez hardvéru je k dispozícii simulátor alebo sa ponúka vývojová doska Pika-Pi-Zero založená na mikrokontroléri STM32G030C8T6 s 64 KB Flash a 8 KB RAM, podporujúca štandardné periférne rozhrania (GPIO, TIME, IIC, RGB, KEY, LCD, RGB). Vývojári tiež pripravili online generátor projektov a balíčkový manažér PikaPackage.
V novej verzii je implementované riadenie pamäte na základe počítania referencií a pridala sa podpora virtuálnych konštruktorov (factory method). Boli diagnostikované problémy s pamäťou, vykonané s použitím nástroja valgrind. Pridala sa podpora kompilácie pc-súborov Python do bajtkódu a zabalenia do firmvéru. Implementovala sa možnosť používania viacerých Python-súborov vo firmvéroch bez potreby používania súborového systému.
Zdroj: opennet.ru
