Avaldatud on PikaScript 1.8, mis arendab kompaktset mootorit mikrokontrollerite rakenduste kirjutamiseks Pythonis. PikaScript ei sÔltu vÀlistest komponentidest ja suudab töötada mikrokontrolleritega, millel on 4 KB RAM-i ja 32 KB Flashi, nÀiteks STM32G030C8 ja STM32F103C8. VÔrdluseks, MicroPython vajab tööks 16 KB RAM-i ja 256 KB Flashi, Snek aga 2 KB RAM-i ja 32 KB Flashi. Projekti kood on kirjutatud keeles C ja jagatakse MIT litsentsi alusel.
PikaScript pakub Python 3 keele pĂ”hiĂŒlesandeid, toetades sĂŒntaksielemente nagu haru ja tsĂŒklite operaatorid (if, while, for, else, elif, break, continue), pĂ”hiooperatsioonid (+ - * / ), moodulid, kapseldamine, pĂ€rimine, polĂŒmorfism, klassid ja meetodid. Python-skripte kĂ€itatakse seadmetes pĂ€rast eelnevat kompileerimist â PikaScript teisendab esmalt Python-koodi Pika Asm sisemiseks bytecode'iks, mida tĂ€idetakse lĂ”ppseadmest spetsiaalses Pika Runtime. virtuaalses masinas Toetatakse töötlust otse riistvaral vĂ”i RT-Thread, VSF (Versaloon Software Framework) ja Linuxi keskkondades.

Tuleb eraldi vĂ€lja tuua PikaScripti skriptide lihtne integreerimine C koodiga â C keeles kirjutatud funktsioonid saavad siduda koodiga, vĂ”imaldades PikaScripti juurutamisel kasutada varasemaid C keeles tehtud projekte. C moodulite arendamiseks vĂ”idakse kasutada olemasolevaid arenduskeskkondi nagu Keil, IAR, RT-Thread Studio ja Segger Embedded Studio. Sidumised genereeritakse automaatselt kompileerimise etapis, piisab API mÀÀratlemisest Python-koodifailis, ning C funktsioonide sidumine Python moodulitega toimub Pika eelkompileerija töövĂ”tmisel.

PikaScript toetab 24 mikrokontrollerit, sealhulgas erinevad mudelid stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry Pico, ESP32C3 ja Infineon TC264D. Kiireks arenduseks ilma seadmeteta pakutakse simulaatorit vĂ”i arendajaplaati Pika-Pi-Zero, mis pĂ”hineb mikrokontrolleril STM32G030C8T6, millel on 64 KB Flash ja 8 KB RAM, toetades tĂŒĂŒpilisi perifeerseid liideseid (GPIO, TIME, IIC, RGB, KEY, LCD, RGB). Arendajad on samuti ette valmistanud online-projektigeneraatori ja PikaPackage pakihalduri.
Uues versioonis on rakendatud mĂ€lu haldamine viidete arvu pĂ”hjal ja lisatud tugi virtuaalsete konstruktori meetodite (factory method) jaoks. MĂ€lu probleemide diagnoosimine viidi lĂ€bi tööriista valgrind abil. Lisatud on tugi Python pc-failide kompileerimiseks byte-koodiks ja nende paketiseerimiseks pĂŒsivara. On vĂ”imalik kasutada pĂŒsivara mitmeid Python-faile ilma failisĂŒsteemi kasutamiseta.
Allikas: opennet.ru
