ДоступСн PikaScript 1.8, Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ языка Python для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ выпуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° PikaScript 1.8, Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ для написания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π½Π° языкС Python. PikaScript Π½Π΅ привязан ΠΊ внСшним зависимостям ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… с 4 ΠšΠ‘ ΠžΠ—Π£ ΠΈ 32 ΠšΠ‘ Flash, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ STM32G030C8 ΠΈ STM32F103C8. Для сравнСния для Ρ€Π°Π±ΠΎΡ‚Ρ‹ MicroPython трСбуСтся 16 ΠšΠ‘ ΠžΠ—Π£ ΠΈ 256ΠšΠ‘ Flash, Π° для Snek — 2 ΠšΠ‘ ΠžΠ—Π£ ΠΈ 32 ΠšΠ‘ Flash. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° написан Π½Π° языкС Π‘ΠΈ ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT.

PikaScript прСдоставляСт подмноТСство языка Python 3, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅Π΅ Ρ‚Π°ΠΊΠΈΠ΅ элСмСнты синтаксиса, ΠΊΠ°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ вСтвлСния ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ² (if, while, for, else, elif, break, continue), Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ (+ — * / < == >), ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡŽ, наслСдованиС, ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ, классы ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Python-скрипты Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π° устройствах послС ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ компиляции — PikaScript Π²Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Python-ΠΊΠΎΠ΄ Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Π±Π°ΠΉΡ‚ΠΊΠΎΠ΄ Pika Asm, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π° ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ устройствС выполняСтся Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС Pika Runtime. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΠΎΠ²Π΅Ρ€Ρ… оборудования ΠΈΠ»ΠΈ Π² окруТСниях RT-Thread, VSF (Versaloon Software Framework) ΠΈ Linux.

ДоступСн PikaScript 1.8, Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ языка Python для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ отмСчаСтся простота ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ скриптов PikaScript с ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° языкС Π‘ΠΈ — ΠΊ ΠΊΠΎΠ΄Ρƒ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒΡΡ написанныС Π½Π° языкС Π‘ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ позволяСт ΠΏΡ€ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠΈ PikaScript ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ старых ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², написанных Π½Π° языкС Π‘ΠΈ. Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π‘ΠΈ-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Keil, IAR, RT-Thread Studio ΠΈ Segger Embedded Studio. ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ автоматичСски Π½Π° этапС компиляции, достаточно ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ API Π² Ρ„Π°ΠΉΠ»Π΅ с Python-ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ привязка Π‘ΠΈ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΊ модулям Python Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Π²ΠΎ врСмя запуска компилятора Pika Pre-compiler.

ДоступСн PikaScript 1.8, Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ языка Python для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²

Π’ PikaScript заявлСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° 24 ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry Pico, ESP32C3 ΠΈ Infineon TC264D. Для быстрого Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±Π΅Π· оборудования прСдоставляСтся симулятор ΠΈΠ»ΠΈ прСдлагаСтся ΠΏΠ»Π°Ρ‚Π° для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Pika-Pi-Zero Π½Π° основС ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° STM32G030C8T6 с 64 ΠšΠ‘ Flash ΠΈ 8 ΠšΠ‘ ΠžΠ—Π£, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π°Ρ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Π΅ интСрфСйсы (GPIO, TIME, IIC, RGB, KEY, LCD, RGB). Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ online-Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ PikaPackage.

Π’ Π½ΠΎΠ²ΠΎΠΉ вСрсии Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π½Π° основС подсчёта ссылок ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… конструкторов (factory method). ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° диагностика ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, выполнСнная с использованиСм инструмСнтария valgrind. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° компиляции pc-Ρ„Π°ΠΉΠ»ΠΎΠ² Python Π² Π±Π°ΠΉΡ‚ΠΊΠΎΠ΄ ΠΈ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π² ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Π² ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ°Ρ… Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Python-Ρ„Π°ΠΉΠ»ΠΎΠ² Π±Π΅Π· нСобходимости использования Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru