Ilmus PikaScript 1.8 versioon, mis arendab kompaktset mootorit rakenduste kirjutamiseks mikroprotsessoritele Pythonis. PikaScript ei ole seotud väliste sõltuvustega ja võib töötada mikroprotsessoritega, millel on 4 KB RAMi ja 32 KB Flashi, nagu STM32G030C8 ja STM32F103C8. Võrdluseks: MicroPython vajab 16 KB RAMi ja 256 KB Flashi, Snek aga 2 KB RAMi ja 32 KB Flashi. Projekti kood on kirjutatud C keeles ja levitatakse MIT litsentsi alusel.
PikaScript pakub Python 3 keelest alamkogumit, mis toetab selliseid süntaksielemente nagu haru- ja tsüklite operaatorid (if, while, for, else, elif, break, continue), baasioperaatorid (+ - * / ), moodulid, kapseldamine, pärimine, polümorfism, klassid ja meetodid. Python-skripte täidetakse seadmetes pärast eelnevat kompileerimist — PikaScript muundab esmalt Python-koodi Pika Asm sisemiseks bytecode'iks, mis lõppseadmest täidetakse spetsiaalses Pika Runtime'is. virtuaalmasinas Toetatakse otsest töötamist riistvara peal või keskkondades RT-Thread, VSF (Versaloon Software Framework) ja Linux.

Eraldi tõstetakse esile PikaScripti skriptide integreerimise lihtsus C keele koodi — C keeles kirjutatud funktsioonid saavad koodiga kokku siduda, mis võimaldab PikaScripti rakendamisel kasutada eelnevate C projektide saavutusi. C moodulite arendamiseks võivad kasutada olemasolevaid arenduskeskkondi, nagu Keil, IAR, RT-Thread Studio ja Segger Embedded Studio. Sidumised genereeritakse automaatselt kompileerimise käigus, piisab, kui määrata API Python-koodi failis ja C funktsioonide sidumine Python moodulitega toimub Pika eelkompilaatori käivitamise ajal.

PikaScript toetab 24 mikrokontrollerit, sealhulgas erinevaid mudeleid stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry Pico, ESP32C3 ja Infineon TC264D. Kiireks arendamiseks ilma seadmeteta on saadaval simulaator või pakutakse Pika-Pi-Zero arenduspaneeli, mis põhineb STM32G030C8T6 mikrokontrolleril, millel on 64 KB Flash ja 8 KB RAM, toetades tüüpilisi perifeerseid liideseid (GPIO, TIME, IIC, RGB, KEY, LCD, RGB). Arendajad on samuti valmistanud online-projektigeneraatori ja PikaPackage paketihalduri.
Uues versioonis on rakendatud mälu haldamine viidete arvestusega ja lisatud tugi virtuaalsetele konstruktoryele (factory method). Teostati mäluprobleemide diagnoosimine, kasutades tööriista valgrind. Lisatud on tugi Python pc-failide kompileerimiseks Bytekoodiks ja nende pakkimiseks firmware'i. Rakendatud on mitme Python-faili kasutamise võimalus firmware'is ilma failisüsteemi kasutamiseta.
Allikas: opennet.ru
