1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/Lyon1998-pikapython

24.04.2025 10:52
GitLife Service Account

📣 Релиз PikaPython v1.13.4!

Мы рады объявить о выпуске PikaPython v1.13.4! Этот релиз включает множество вкладов сообщества, исправлений ошибок 🐞 и новых функций 🎁. Вот основные обновления:

🚀 Новые функции и улучшения:

  • Улучшенное управление потоками: Введено exception_stack для потоков и заменено try_error_code на error_stack, что улучшает обработку ошибок и стабильность потоков.
  • Управление памятью и обработка ошибок: Перемещено структуру ошибок в vmFrame и исправлено поведение isinstance, что обеспечивает надежное управление памятью и обработку ошибок.
  • Улучшенные модули: Улучшены функциональность и производительность модулей json, time, flashdb и modbus_rt.
  • Инструменты отладки: Добавлена поддержка pika_debug_raw и улучшена способность отладки, что обеспечивает более плавный рабочий процесс разработки.
  • Поддержка файловой системы: Обновлены функции pika_littlefs и добавлена поддержка файлов flashdb и tsdb_init.
  • Улучшенный PikaStudio: Исправлены проблемы отправки файлов .py.o и добавлена поддержка TCP-соединений терминала.
  • Общие исправления: Исправлены различные проблемы, включая орфографические ошибки, утечки памяти и проблемы совместимости, что обеспечивает более стабильную и эффективную работу.## 🐛 Исправления ошибок:
  • Исправлены проблемы выхода потоков и ошибки сокета потока VMError.
  • Исправлены проблемы выделения памяти в модулях json и modbus_rt.
  • Исправлены проблемы обработки файлов в pika_littlefs и добавлены мощные механизмы проверки ошибок.## Модули:
    | Название пакета | Статус | Версия |
    |---------------------------|--------|--------------------|
    | pikascript-core | Обновлено | v1.13.3 --> v1.13.4 |
    | PikaStdLib | Обновлено | v1.13.3 --> v1.13.4 |
    | PikaStdDevice | Обновлено | v2.4.5 --> v2.4.6 |
    | PikaCV | Обновлено | v0.1.5 --> v0.1.6 |
    | random | Обновлено | v0.1.3 --> v0.1.4 |
    | STM32 | Обновлено | v0.1.2 --> v0.1.3 |
    | mqtt | Обновлено | v0.1.0 --> v0.1.1 |
    | requests | Обновлено | v1.0.2 --> v1.0.3 |
    | time | Обновлено | v0.2.1 --> v0.2.2 |
    | json | Обновлено | v0.1.7 --> v0.1.8 |
    | _thread | Обновлено | v0.0.6 --> v0.0.7 |
    | pika_littlefs | Обновлено | v0.0.2 --> v0.0.4 |
    | flashdb | Обновлено | v0.1.2 --> v0.1.3 |
    | modbus_rt | Обновлено | v0.2.1 --> v0.2.2 |## 📝 Сводка Git Diff:
  • Закрепленная версия _thread 1.13.4.
  • Добавлен exception_stack для управления потоками.
  • Заменено try_error_code на error_stack.
  • Перемещена структура ошибок в vmFrame.
  • Исправлена проблема сокетного потока VMError.
  • Введена vm_thread_require.
  • Решена проблема с правильностью написания и выделением памяти для isinstance.
  • Обновлен файл tools/pikaStudio/release.txt.
  • Применен патч для предварительно скомпилированных файлов.
  • Улучшена функциональность pika_littlefs и поддержка flashdb.
  • Улучшена обработка jrpc и исправлены связанные проблемы.
  • Поддержка GIL_EXIT и синхронное обновление PikaStdDevice.
  • Улучшена работа с SPI и исправлены различные мелкие проблемы.

Особая благодарность всем вкладчикам за их усердную работу и преданность. Каждое улучшение делает PikaPython лучше для всех. Мы ждем ваших продолжительных отзывов и поддержки.

Последнее сообщение коммита: release v1.13.4
24.04.2025 10:51
GitLife Service Account

Мы рады объявить 📣 о выпуске PikaPython v1.13.3! В этом выпуске реализованы множество улучшений и исправлений, предложенных сообществом, включая исправление нескольких ошибок 🐞 и добавление новых функций 🎁. Вот основные обновления:## Новые функции и улучшения:

  • Обновлены pikascript-core и PikaStdLib до версии v1.13.3, что обеспечивает дополнительные оптимизации производительности и улучшения функциональности.
  • Обновлены пакеты PikaStdDevice, socket, pika_lvgl, STM32, modbus, pika_fatfs, mqtt, time, network и flashdb, что улучшило поддержку устройств и сетевое взаимодействие.
  • Введен новый пакет modbus_rt версии v0.2.1, поддерживающий режимы Modbus RTU, ASCII, TCP и UDP, а также функции для пользовательского файла передачи.
  • Улучшены pika_lvgl, включая исправление обработки изображений, поддержку рекурсивных блокировок, поддержку пиньиня и улучшение интерфейсных элементов управления, что улучшило опыт разработки графического интерфейса и его производительность.
  • Введен рекурсивный мьютекс для глобального блокировочного лока (GIL), что улучшило безопасность потоков.
  • Улучшена поддержка SPI/SOFT_SPI в PikaStdDevice, добавлены функции IIC, оптимизирована абстракция уровня аппаратного обеспечения (HAL).
  • Исправлены проблемы управления памятью, заменены стандартные функции malloc и free на соответствующие функции PikaPython, что уменьшило риск утечек памяти.
  • Поддержка try...import улучшила логику импорта модулей, что повысила устойчивость и совместимость кода.
  • Исправлены предупреждения и ошибки компиляции, что улучшило качество и стабильность кода.
  • Обновлены pika_hal и другие пакеты, исправлены известные ошибки и проблемы производительности.## Исправления ошибок:
  • Исправлены утечки памяти lvgl в определённых сценариях.
  • Исправлены ошибки modbus_rt при определённых условиях.
  • Исправлены проблемы записи и чтения файлов в flashdb и pika_fatfs.
  • Исправлены предупреждения и ошибки компиляции в нескольких пакетах при определённых платформах.

Обновленные модули (начиная с версии v1.13.0)

Пакет Состояние Версия
pikascript-core Обновлено v1.13.0 --> v1.13.3
PikaStdLib Обновлено v1.13.0 --> v1.13.3
PikaStdDevice Обновлено v2.4.4 --> v2.4.5
socket Обновлено v0.2.0 --> v0.2.1
pika_lvgl Обновлено v0.5.0 --> v0.5.1
STM32 Обновлено v0.1.1 --> v0.1.2
modbus Обновлено v0.0.7 --> v0.0.8
pika_fatfs Обновлено v0.1.2 --> v0.1.3
mqtt Обновлено v0.0.9 --> v0.1.0
time Обновлено v0.2.0 --> v0.2.1
network Обновлено v0.1.4 --> v0.1.5
flashdb Обновлено v0.1.1 --> v0.1.2
modbus_rt Создано v0.2.1

Спасибо всем, кто участвовал в разработке и тестировании PikaPython v1.13.3! Спасибо всем, кто вносит вклад в код на Gitee и GitHub. Благодаря вашим усилиям и работе каждый улучшение приносит пользователям лучший опыт. Ждём ваших дальнейших отзывов и поддержки, вместе давайте вносить вклад в PikaPython!

Последнее сообщение коммита: release v1.13.3 and packages
24.04.2025 10:49
GitLife Service Account

🎉Объявление: выпуск PikaPython v1.13.0

Мы рады объявить о выпуске PikaPython v1.13.0! В этом выпуске реализованы множество улучшений и нововведений благодаря вкладу сообщества, включая исправление нескольких ошибок и добавление новых функций. Вот основные обновления:🚀Новые функции и улучшения:

  • Поддержка импорта модулей из подкаталогов: добавлена поддержка импорта модулей из подкаталогов (в настоящее время не поддерживается для модулей C), что исправляет проблемы AC5 и другие. Включает поддержку синтаксиса from subdir import src и import subdir.src.
  • Улучшенная поддержка импорта модулей: добавлена поддержка from <mod> import * (в настоящее время не поддерживается для модулей C).
  • Поддержка файловой системы и аппаратного обеспечения: ядро предоставляет поддержку операций с файловыми директориями через platform, а fatfs предоставляет поддержку os модуля, что было протестировано на STM32.
  • Объединение модулей STM32: модули STM32F1 и STM32F4 были объединены в общий модуль STM32, который больше не предоставляется отдельно.
  • Поддержка STM32H7: добавлена поддержка выбора каналов ADC для модуля STM32H7, а также улучшена поддержка STM32F1.
  • pika_hal: добавлен pika_hal_utils, предоставляющий набор упрощенных API, созданных путем вторичной обработки pika_hal.
  • Улучшенная отладка: улучшена поддержка модуля pdb, включая поддержку глобальных переменных, точек останова на уровне байт-кода и идентификации модулей. Исправлены проблемы отображения pdb и REPL. (Предварительная версия)
  • Поддержка отладки плагинов VSCode: добавлена поддержка отладки, продолжения выполнения и завершения работы плагинов VSCode, а также улучшена поддержка предварительной компиляции.(Предварительная версия)
  • Поддержка BLE: добавлен пакет функций BLE, адаптированный для ESP32 и предоставляющий профиль iBeacon.
  • Поддержка других аппаратных платформ: добавлена поддержка SPI (тестировано) и I2C для ESP32, а также исправлены некоторые проблемы, связанные с STM32.
  • Улучшение кода и поддержки: удалены неиспользуемые файлы и код, а также улучшена поддержка пакетов STM32F1 и STM32F4.
  • Улучшение процессов CI и тестирования: оптимизированы процессы CI и тестирования, добавлены различные тесты функций.🐛 Исправление ошибок:
  • Исправлены проблемы в модулях soft_tim.py, platform rtthread, mqtt plat on esp32 и других.
  • Внесены улучшения и исправления для RT-Thread, включая адаптацию функций потоков.
  • Решены проблемы форматирования, комментариев, итерации и сортировки.
  • Оптимизирована поддержка UART для STM32, используя циклические очереди.

Специальное спасибо: HelloDuoLA, SenySunny, МечтаMI, @kcfkwok и другим вкладчикам на Gitee и GitHub. Благодарим всех за вашу работу и вклад, каждый улучшение делает опыт пользователя лучше. Ждем ваших отзывов и поддержки, вместе давайте сделать PikaPython еще лучше!

Модульные выпуски (начиная с версии v1.12.6):| пакет | состояние | версия |

| ---------------- | --------- | ------------------ |
| pikascript-core | Обновление | v1.12.6 --> v1.13.0 |
| PikaStdLib | Обновление | v1.12.6 --> v1.13.0 |
| PikaStdDevice | Обновление | v2.4.2 --> v2.4.4 |
| PikaCV | Обновление | v0.1.4 --> v0.1.5 |
| unittest | Обновление | v0.1.4 --> v0.1.5 |
| socket | Обновление | v0.1.9 --> v0.2.0 |
| binascii | Обновление | v0.0.4 --> v0.0.5 |
| pika_cjson | Обновление | v1.2.5 --> v1.2.6 |
| STM32 | Обновление | v0.1.0 --> v0.1.1 |
| ESP32 | Обновление | v0.4.3 --> v0.4.4 |
| pika_fatfs | Обновление | v0.1.1 --> v0.1.2 |
| mqtt | Обновление | v0.0.7 --> v0.0.9 |
| hashlib | Обновление | v1.0.3 --> v1.0.5 |
| aes | Обновление | v0.0.2 --> v0.0.3 |
| time | Обновление | v0.1.9 --> v0.2.0 |
| json | Обновление | v0.1.6 --> v0.1.7 |
| os | Обновление | v0.1.3 --> v0.1.4 |
| pika_littlefs | Обновление | v0.0.1 --> v0.0.2 |
| flashdb | Создание | v0.1.1 |
| bluetooth | Создание | v0.1.0 |Мы рекомендуем всем пользователям скачать 📥, установить и использовать PikaPython v1.13.0. Если вы столкнетесь с какими-либо проблемами во время использования, пожалуйста, свяжитесь с нами.

Последнее сообщение коммита: release v1.13.0
24.04.2025 10:48
GitLife Service Account

Объявление: выпуск PikaPython v1.12.4

Мы рады сообщить о выпуске PikaPython v1.12.4! В этом новом выпуске были внесены многочисленные улучшения, исправлены многие ошибки и добавлены новые функции. Вот основные обновления:

Новые функции и улучшения:

  • Обновлен и улучшен PikaCompiler, исправлены ошибки парсинга.
  • Добавлена поддержка версии .pya 5.
  • Добавлена поддержка одноаргументных операций tuple(), '^' и других.
  • Добавлены модули this и fsm.
  • Поддержка пакета zlib и тестирования.
  • Поддержка встроенной функции bytearray().
  • Поддержка isinstance() для встроенных классов и простых типов.
  • Ускорена скорость выполнения json.dumps, увеличение более чем в 100 раз.
  • Введена поддержка PIKA_UNBUFFERED_ENABLE.
  • Поддержка Pika Lua, включая method_proxy и var proxy, а также получение возвращаемого значения pika_lua.eval.
  • Введение builtins.pyi для PikaStdLib.
  • Введение поддержки sshd_config и frpc для разработки Docker.

Исправленные ошибки:

  • Исправлен выпуск os.
  • Исправлены проблемы загрузки pya.
  • Исправлены проблемы версии pack 5.
  • Исправлены проблемы pika.studio.
  • Исправлены проблемы модуля json, включая json.loads() для пустого объекта и проблемы парсинга json в jsmn.
  • Исправлены ошибки создания потоков в freeRTOS.
  • Исправлены проблемы по умолчанию цикла событий и удаления событий, приводящие к падению.
  • Исправлены проблемы сброса REPL FUNC_KEY.
  • Исправлены проблемы версии v1.12.3, включая отсутствие len для getitem и проблемы с полем rm dir.## Выпущенные модули (начиная с версии v1.12.2):
    | Имя модуля | Тип обновления | Изменение версии |
    | ----------------- | -------------- | --------------------------- |
    | pikascript-core | Обновление | v1.12.2 --> v1.12.4 |
    | PikaStdLib | Обновление | v1.12.2 --> v1.12.4 |
    | PikaStdDevice | Обновление | v2.3.7 --> v2.3.8 |
    | socket | Обновление | v0.1.4 --> v0.1.5 |
    | binascii | Обновление | v0.0.2 --> v0.0.3 |
    | pika_cjson | Обновление | v1.2.2 --> v1.2.3 |
    | pika_lua | Обновление | v0.0.2 --> v0.0.4 |
    | pikaRTDevice | Обновление | v1.1.3 --> v1.1.4 |
    | mqtt | Обновление | v0.0.3 --> v0.0.4 |
    | hashlib | Обновление | v1.0.1 --> v1.0.2 |
    | time | Обновление | v0.1.5 --> v0.1.7 |
    | json | Обновление | v0.1.1 --> v0.1.4 |
    | _thread | Обновление | v0.0.4 --> v0.0.5 |
    | zlib | Создание | v0.1.0 |
    | os | Создание | v0.1.0 |

Мы рекомендуем всем пользователям скачать, установить и использовать PikaPython v1.12.4. Если у вас возникнут какие-либо проблемы во время использования, пожалуйста, свяжитесь с нами в любое время.

Последнее сообщение коммита: fix vs version
24.04.2025 10:46
GitLife Service Account

📢 Объявление о выпуске: PikaPython v1.12.2

Мы рады объявить о выпуске версии PikaPython v1.12.2! В этом выпуске исправлены некоторые ошибки и уязвимости, а также добавлены новые функции и улучшения.

Обновления включают:

Новые функции 🌟:

  • Поддержка встроенных функций max() и min().
  • Поддержка функции истории командной строки (REPL).
  • Поддержка ESP32C3 и ESP32S3.
  • Поддержка цикла событий с задержкой.
  • Поддержка функции поиска строк string.find().
  • Поддержка одноэлементных кортежей, например (1,) или ('test',).
  • Поддержка установки значений по умолчанию и часового пояса для модуля времени.
  • Поддержка проверки успешности создания потока.
  • Оптимизация использования стека в PikaVM.

Исправленные ошибки 🐛:

  • Исправлены некоторые проблемы парсинга синтаксиса.
  • Исправлены проблемы утечек памяти.
  • Исправлены проблемы аварийного завершения ядра при использовании некорректного синтаксиса.
  • Исправлены проблемы генерации документации.
  • Исправлены проблемы чтения упакованных строк.
  • Исправлены проблемы многопоточности и цикла событий.
  • Исправлены проблемы преобразования типов.

Обновления и улучшения 🔧:

  • Обновлены версии различных модулей.
  • Обновлены файлы BSP для ESP32, поддерживающие ESP32C3 и ESP32S3.
  • Обновлены файлы проекта для STM32G0.
  • Обновлены примеры кода и комментарии для модуля modbus.
  • Улучшена генерация документации в PikaStudio.
  • Поддержка примера CJSON.
  • Улучшены события и потоки.Мы приглашаем всех пользователей скачать, установить и использовать версию PikaPython v1.12.2. Если у вас возникли какие-либо проблемы при использовании, пожалуйста, свяжитесь с нами.

Выпущенные модули 📦:

Модуль Тип обновления Изменение версии
bflb Создание v0.2.0
pikascript-core Обновление v1.12.1 --> v1.12.2
PikaStdDevice Обновление v2.3.6 --> v2.3.7
PikaCV Обновление v0.1.1 --> v0.1.2
unittest Обновление v0.1.2 --> v0.1.4
re Обновление v0.1.1 --> v0.1.2
random Обновление v0.1.1 --> v0.1.2
ctypes Обновление v1.1.1 --> v1.1.2
binascii Обновление v0.0.1 --> v0.0.2
pika_lvgl Обновление v0.4.4 --> v0.5.0
pika_lua Обновление v0.0.1 --> v0.0.2
pikaRTThread Обновление v1.3.1 --> v1.3.2
pikaRTDevice Обновление v1.1.0 --> v1.1.3
STM32G0 Обновление v2.0.0 --> v2.1.0
ESP32 Обновление v0.3.1 --> v0.4.0
modbus Обновление v0.0.4 --> v0.0.5
pika_libc Обновление v1.0.1 --> v1.0.2
time Обновление v0.1.3 --> v0.1.5
_thread Обновление v0.0.3 --> v0.0.4
Последнее сообщение коммита: release stdlib, release_diff will generate diff.md
24.04.2025 10:45
GitLife Service Account

Объявление о выпуске: PikaPython v1.12.1

Мы рады объявить о выпуске версии PikaPython v1.12.1! В этом выпуске исправлены некоторые ошибки и уязвимости, а также добавлены новые функции и улучшения.

Основные изменения:

Новые функции:

Добавлен модуль os.
Поддержка метода str.join().
Добавлен встроенный метод clear() для скриптов на платформе.
Исправлены проблемы с потоком REPL.
Улучшены события и потоки.
Поддержка метода fcntl в модуле socket для lwip.
Поддержка сборки мусора с использованием mark-sweep.

Исправленные ошибки:

Исправлены ошибки модуля os на ESP32.
Исправлен метод pika_platform_get_tick() в порте Linux.
Исправлены проблемы с отметками времени.
Исправлены проблемы с многострочными комментариями.
Исправлены случайные утечки памяти.
Исправлены многие другие проблемы.

Улучшения:

Обновлены файлы проекта для STM32F103ZE.
Обновлены механизмы очистки при запуске pikapackage.exe.
Обновлен PikaPackageManager.
Обновлен pikafs, поддерживающий упаковку заданных файлов и распаковку файлов *.pack в указанном пути.
Обновлены примеры кода и комментарии модуля modbus.
Автоматическое сканирование backend в pikaui.
Улучшены комментарии в pikaCompiler.
Улучшены события и потоки.

Мы приглашаем всех пользователей скачать, установить и использовать версию PikaPython v1.12.1. Если у вас возникли какие-либо проблемы при использовании, пожалуйста, свяжитесь с нами.## Выпущенные модули:

Модуль Тип обновления Версия
pikascript-core Обновление v1.12.0 --> v1.12.1
PikaStdLib Обновление v1.12.0 --> v1.12.1
PikaStdDevice Обновление v2.3.4 --> v2.3.6
unittest Обновление v0.1.1 --> v0.1.2
socket Обновление v0.1.1 --> v0.1.4
pika_cjson Обновление v1.2.1 --> v1.2.2
pika_lvgl Обновление v0.4.3 --> v0.4.4
STM32F1 Обновление v1.1.3 --> v1.1.4
modbus Обновление v0.0.2 --> v0.0.4
mqtt Обновление v0.0.2 --> v0.0.3
BLMCU Создание v0.1.0
time Обновление v0.1.0 --> v0.1.3
_thread Создание v0.0.3
weakref Создание v0.0.2
Последнее сообщение коммита: release v1.12.1
24.04.2025 10:44
GitLife Service Account

Поддержка

  • Поддержка магических методов __getattr__, __setattr__, __setattribute__. #222
  • Выполнение обратных вызовов событий только когда основной поток pikascript в состоянии READY. #202
  • Проблема с вводом символов | Поддержка перемещения курсора в repl с помощью клавиш со стрелками. #271
  • Поддержка возвращаемых значений событий. 270
  • Поддержка многострочных определений методов в pyi. 224
  • Сохранение RAM для стека виртуальной машины. 225
  • Оптимизация временных затрат на срезы строк. 226
  • Поддержка пула объектов для увеличения скорости malloc/free. 261
  • Поддержка выполнения файлов через последовательный порт в RAM. 263
  • Использование отсортированного хэша для привязки модуля C в const struct. 264
  • Поддержка импорта нескольких модулей, например import a, b, c. 265
  • Поддержка импорта байт-кодовых файлов *. py. o. 266
  • Поддержка загрузки файлов в файловую систему через REPL. 267
  • Использование информации о размере u32 внутри *. py. o. 268
  • Поддержка выполнения байт-кодовых файлов из REPL. 269
  • Автоматическое сохранение байт-кода. 275
  • Поддержка загрузки значений по умолчанию из позиционных аргументов. 276
  • Поддержка малых приложений pika, упакованных в байт-код и ресурсные файлы (изображения/другое). 277
  • Поддержка распаковки *vars, **kws. 281
  • Поддержка def test(a,b), test(b=1, a=2). 280

Обновление модулей

Модуль Статус Версия
pikascript-core Обновление v1. 11. 0 --> v1. 12. 0
PikaStdLib Обновление v1. 11. 0
PikaStdDevice Update v1.11.0 --> v2.3.4
PikaMath Update v0.2.0 --> v0.2.1
PikaCV Update v0.1.0 --> v0.1.1
unittest Update v0.1.0 --> v0.1.1
re Update v0.1.0 --> v0.1.1
socket Update v0.1.0 --> v0.1.1
random Update v0.1.0 --> v0.1.1
configparser Update v0.2.0 --> v0.2.1
ctypes Update v1.1.0 --> v1.1.1
pika_cjson Update v1.2.0 --> v1.2.1
pika_lvgl Update v0.2.0 --> v0.4.3
pikaRTThread Update v1.3.0 --> v1.3.1
PikaVSF Update v0.0.1 --> v0.0.2
Arm2D Update v0.6.0 --> v0.6.1
STM32G0 Update v1.3.1 --> v2.0.0
STM32F1 Update v1.1.1 --> v1.1.3
ESP32 Update v0.1.0 --> v0.3.1
STM32F4 Update v0.1.0 --> v0.1.2
PikaPiZero Update v1.3.0 --> v1.4.0
CH32V103 Update v1.0.0 --> v1.0.1
SmartLoong Update v0.0.1 --> v0.0.2
W801Device Update v1.1.0 --> v1.1.1
CH582 Update v1.1.1 --> v1.1.2
modbus Create v0.0.2
pika_fatfs Create v0.1.0
mqtt Create v0.0.2
requests Create v1.0.0
hashlib Create v1.0.1
hmac Create v1.0.1
BLIOT Create v0.4.1
aes Create v0.0.1
base64 Create v1.0.0
pika_libc Create v1.0.1
time Create v0.1.0
at_client Create v0.0.1
json Create v0.1.1
network Create v0.1.2

Встроенные функции

  • Поддержка методов insert() и delete() для списков. #223
  • Поддержка eval(). #228
  • Поддержка input() для встроенных программ. #262
  • Поддержка help("modules"). #272
  • Добавление модуля pika_hal для устройств. #278

Исправления ошибок

  • Неудачное преобразование 0xFFFFFF в int64. #220
  • Паника при вызове недоступного объекта. #221
  • Взаимная импортация py-файлов приводит к невозможности запуска pika. #229
  • Исправление Escape для '\n' '\r' '\t'. #282

Несовместимые обновления- Изменение поведения встроенной функции str() при вводе bytes для соответствия с CPython, ранее это было эквивалентно bytes.decode(). Метод миграции: замените str(bytes) на bytes.decode().

Последнее сообщение коммита: fix v1.12.0, ready to release v1.12.0
24.04.2025 10:42
GitLife Service Account

Функциональные обновления:

Повышение производительности

  • Увеличение скорости на 78%

Язык

  • Начальная поддержка "try...except" #169

  • Поддержка 0bxxx литералов #171

  • Поддержка цепочек функций, таких как String('test').split('t')

  • Поддержка вложенных срезов, таких как a = x[y[z]] #173

  • Поддержка цепочек срезов, таких как a[x][y] #174

  • Поддержка function()[x] #177

  • Поддержка литералов кортежей #178

  • Поддержка привязки .pyi файлов из других *.py (кроме main.py) #179

  • Поддержка ключевого слова del https://gitee.com/Lyon1998/pikascript/issues/I5KDES

Библиотеки

  • Поддержка binascii #176
  • Поддержка встроенной функции open() #181
  • Поддержка sleep() для Windows и Linux #186

Исправление ошибок:

  • Ошибка: вывод None возвращает другую строку #175
  • Ошибка: продолжение внутреннего цикла после ошибки в цикле #179
  • Ошибка: ошибка стека при размере аргумента > int16_t #185
  • Некоторые операторы Python работают некорректно или не соответствуют ожиданиям https://gitee.com/Lyon1998/pikascript/issues/I5JN75
  • Некорректный вывод в [dict] https://gitee.com/Lyon1998/pikascript/issues/I5JWSR

Несовместимые обновления:

  • Порядок входных параметров для функций, сгенерированных .pyi, может измениться

Руководство по миграции:

  • Обновите порядок входных параметров в модулях C.
Последнее сообщение коммита: restore g030 to v1.9.0
24.04.2025 10:42
GitLife Service Account

Обзор

  1. Значительное повышение надежности, проверено в реальных проектах и получило множество положительных отзывов.
  2. Включает множество улучшений функциональности и исправлений ошибок.

Обновления функциональности

Ядро

  1. Поддержка индексации [] в байтах
  2. Поддержка магических методов __str__ для print() и str()
  3. Поддержка магических методов __len__ для len()
  4. Поддержка восьмеричных литералов 0o100
  5. Поддержка Tab в python-скриптах
  6. Проверка переполнения стека для pikaVM
  7. Поддержка пустых строк в определении функций в preCompiler *.py
  8. Поддержка определения функций в C-модулях
  9. Поддержка магического метода __del__() в C-модулях
  10. Поддержка атрибутов класса
  11. Поддержка объединения нескольких строк кода с помощью \
  12. Поддержка обратного вызова из других Python-файлов
  13. Поддержка <None>
  14. Поддержка виртуальных прерываний и обратного вызова
  15. Поддержка получения версии ядра
  16. Поддержка d = {'a':x, 'b':y, 'c': z}.
  17. Поддержка obj_runChar() для отправки char в REPL
  18. Поддержка срезов строк и байтов### Библиотеки
  19. Поддержка API для чтения/записи байтов StdDevice
  20. Добавлен TemplateDevice для тестирования StdDevice и предоставления демонстрационного примера
  21. Поддержка встроенных функций chr(), hex(), ord(), id()
  22. Поддержка встроенной функции byte()
  23. Поддержка преобразования bytes в int, например int(b'test'[0])
  24. Поддержка преобразования int_to_bytes()
  25. Поддержка unix и utc времени в PikaStdDevice.Time()
  26. Поддержка форматированного вывода и переменного числа аргументов в printf()
  27. Поддержка обратного вызова в PikaStdDevice## Исправления ошибок
  28. Ошибка __user_free на ac5
  29. В preCompiler требуется два пустых строки в конце
  30. Исправление ошибки выравнивания байткода на Cortex-M0
  31. Исправление ошибки парсинга при встрече определенных комментариев
  32. Исправление ошибки парсинга при встрече xx_import
  33. '-1' не равно '0'
  34. a[1] = 1 не работает в вложенных функциях
  35. Ошибка runError в цикле for_loop в модуле
  36. Ошибка парсинга при встрече '[' в строке
  37. Память утечка при вызове str(PikaStdData.String('test'))
  38. Невозможность выполнения функций, импортированных из других модулей
  39. Шаблон для Bluepill, скомпилированный с arm-gcc, не подходит для флеш-памяти 128K
  40. Ошибка Lexer при наличии пробела в конце строки
  41. Исключение при создании PikaStdDevice.Time()

Несовместимые обновления

Использование типа double вместо float в C-модуле (ранее использовался float)

Руководство по миграции

Использование типа double в реализации C-модуля

Последнее сообщение коммита: fix msc for v1.9.0 kernal
24.04.2025 10:40
GitLife Service Account

Функциональные обновления:

  1. Поддержка компиляции файлов Python на ПК в байт-код и упаковки его в прошивку, поддержка нескольких файлов Python (без необходимости файловой системы).
  2. Управление памятью с использованием счетчиков ссылок, поддержка фабричных методов.
  3. Использование valgrind для всесторонней проверки утечек памяти.

Видео пояснения функциональных возможностей:
https://www.bilibili.com/video/BV14t4y1x7nv

Несовместимые обновления:

  1. Расширение Python для модулей C теперь имеет суффикс .pyi вместо .py, синтаксическое содержание не изменилось.

Руководство по миграции:

  1. Измените суффикс файлов .py модулей C на .pyi.
Последнее сообщение коммита: update bsp/template/pikascript/requestment.txt.
24.04.2025 10:40
GitLife Service Account
  1. Использование self в объявлениях методов py в C-модуле для лучшей поддержки умных подсказок pylance.
  2. Поддержка определения функций в режиме REPL.
  3. Поддержка определения классов в режиме REPL.
  4. Улучшение стабильности режима REPL и улучшение сообщений об ошибках.
  5. Поддержка встроенных режимов для list и dict (требуется настройка).
  6. Добавлен модуль ctypes для обеспечения совместимости с ctypes из cpython.
  7. Поддержка синтаксиса import as, from import, from import as в скриптах.
  8. Улучшение стабильности предварительного компилятора и исправление некоторых ошибок.
  9. Поддержка базового типа данных bytes.
  10. Поддержка строковых литералов с escape-последовательностями, например s = '\x33\x44'.
  11. Поддержка создания переменной типа bytes, например b = b'\x00\x03\x04'.
Последнее сообщение коммита: fix v1.7.0 commit id
24.04.2025 10:40
GitLife Service Account

Версия v1.6.0 выпущена, по сравнению с версией v1.5.0:

  1. Улучшение производительности на 339%
  2. Поддержка параметризированных конструкторов
  3. Поддержка многострочных комментариев
  4. Поддержка массивов байтов (byteArray)
  5. Поддержка пустых строк в main.py
  6. Поддержка исключения деления на ноль
  7. В интерактивном режиме вывод неиспользованных параметров
  8. Поддержка конфигурации режима производительности
  9. Проверка количества входных параметров в функциях
  10. Исправление ошибок в анализе синтаксиса
Последнее сообщение коммита: update simu, 030, 070, temp, rtt to v1.6.0
24.04.2025 10:39
GitLife Service Account

Пайка firmware 22 ноября 2021 года

Последнее сообщение коммита: update document/7.Pika派开发板游玩指南,到手的开发板玩起来!.md.
1
https://api.gitlife.ru/oschina-mirror/Lyon1998-pikapython.git
git@api.gitlife.ru:oschina-mirror/Lyon1998-pikapython.git
oschina-mirror
Lyon1998-pikapython
Lyon1998-pikapython