Publikēta PikaScript 1.8 izlase, kas attīsta kompakto dzinēju, lai rakstītu lietotnes mikrokontrolieriem, izmantojot Python valodu. PikaScript nav saistīts ar ārējām atkarībām un var darboties uz mikrokontrolieriem ar 4 KB RAM un 32 KB Flash, piemēram, STM32G030C8 un STM32F103C8. Salīdzinājumam, MicroPython darbībai ir nepieciešami 16 KB RAM un 256KB Flash, bet Snek - 2 KB RAM un 32 KB Flash. Projekta kods ir uzrakstīts C valodā un tiek izplatīts ar MIT licenci.
PikaScript piedāvā Python 3 sintakses apakškopu, kas atbalsta tādus sintaktiskos elementus kā nosacījuma un cikla operatori (if, while, for, else, elif, break, continue), pamata operatori (+ - * / ), moduļi, inkapsulācija, mantojums, polimorfisms, klases un metodes. Python skripti tiek izpildīti ierīcēs pēc iepriekšējas kompilācijas — PikaScript sākotnēji pārveido Python kodu iekšējā Pika Asm bajtkodā, kuru gala ierīcē izpilda īpašs virtuālā mašīnā Pika Runtime. Atbalsta darbu tieši virs aparatūras vai RT-Thread, VSF (Versaloon Software Framework) un Linux vidēs.

Atsevišķi jāatzīmē PikaScript skriptu vieglā integrācija ar C valodas kodu — kodam var tikt piesaistītas C valodā rakstītas funkcijas, kas ļauj, ieviešot PikaScript, izmantot iepriekšējo projektu izstrādāto materiālu, kas rakstīts C valodā. C moduļu izstrādei var izmantot esošās izstrādes vides, piemēram, Keil, IAR, RT-Thread Studio un Segger Embedded Studio. Pieslēgumi tiek ģenerēti automātiski kompilācijas posmā, pietiek definēt API Python koda failā, un C funkciju piesaistīšana Python moduļiem tiks veikta Pika iepriekšējās kompilācijas laikā.

PikaScript atbalsta 24 mikrokontrolierus, tostarp dažādas stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry Pico, ESP32C3 un Infineon TC264D. Lai ātri sāktu izstrādi bez aprīkojuma, tiek piedāvāts simulatora rīks vai izstrādātāju plate Pika-Pi-Zero, kas balstās uz mikrokontrolieri STM32G030C8T6 ar 64 KB Flash un 8 KB RAM, kas atbalsta tipiskos perifērijas interfeisus (GPIO, TIME, IIC, RGB, KEY, LCD, RGB). Izstrādātāji ir arī sagatavojuši tiešsaistes projektu ģeneratoru un pakotņu pārvaldnieku PikaPackage.
Jaunajā versijā ir ieviesta atmiņas vadība, kas balstīta uz atsauču skaitīšanu, kā arī pievienota atbalsts virtuāliem konstruktoriem (factory method). Veikti atmiņas problēmu diagnostikas testi, izmantojot rīku valgrind. Pievienots atbalsts pc-failu Python kompilācijai baitkodā un iepakošanai ierīces programmatūrā. Iespējams izmantot vairākus Python failus ierīces programmatūrā, neizmantojot failu sistēmu.
Avots: opennet.lv
