Skip to content

Releases: pikasTech/PikaPython

v1.10.0

05 Aug 07:29
Compare
Choose a tag to compare

Feature Updates:

Performance

  • Speed increase up to 78%

Language

Library

  • Support binascii module #176
  • Support open() builtin #181
  • Support sleep() for windows and linux #186

Bug fix:

Incompatible updates:

  • The order of the entry parameters for the .pyi-generated function has changed

Migration Guide:

  • Update the order of the entry parameters in C module.

v1.9.0

01 Jul 16:51
Compare
Choose a tag to compare

Overview

This is the most trustworthy version of PikaScript to date, one that has received a lot of feedback from real-world engineering and offers a lot of practical improvements and bug fixes.

Feature Updates:

Language

  1. Support [] index for bytes #123
  2. Support __str__ magic method for print() and str() #127
  3. Support __len__ magic method for len()
  4. Support 0o100 Octal literal #130
  5. Support Tab in python script #132
  6. check overflow for pika VM #135
  7. Support void line in function define in *.py for preCompiler #138
  8. Support define Function in C Module #144
  9. Support __del__() magic method for C Module #147
  10. Support class property #150
  11. Support call back in other python files #152
  12. Support <None> #153
  13. Support virtual interrupt and callback #110
  14. Support use \ to combine multiline
  15. Support get Kernal Version #156
  16. Support d = {'a':x, 'b':y, 'c':z} #165
  17. Support obj_runChar() to push char to REPL #133
  18. Support slice for string and bytes #121

Library

  1. Support read/writeBytes API for StdDevice #125
  2. Add TemplateDevice to test StdDevice and supply reference demo #126
  3. Support chr(), hex(), ord(), id() builtin #128
  4. Support bytes() builtin #131
  5. Support int() for bytes like: < int(b'test'[0]) > #134
  6. Support int_to_bytes() transfer #137
  7. Support unix-time and utc-time for PikaStdDevice.Time() #146
  8. Support format and variable pars for printf() #149
  9. Support callback for PikaStdDevice #151

Bug Fix:

  1. Error in __user_free on ac5. #114
  2. pre-compiler need two void line in end #113
  3. fix bytecode align error on M1 core #129
  4. fix parse faild when meet some comments #166
  5. fix parse issue when met xx_import #164
  6. '~-1' is not equal '0' #163
  7. a[1] = 1 not work inner function() #155
  8. for_loop runError in module #145
  9. parse error when '[' inner the string #140
  10. memory leak when < str(PikaStdData.String('test')) > #141
  11. can not run function import from anothor module #142
  12. Bluepill template built with arm-gcc does not fit 128K Flash #139
  13. Lexer Error if the end of line is . #136
  14. Exception output when creating PikaStdDevice.Time() #143

Incompatible updates:

Use double in C while float in python #148

Migration Guide:

Use double in C Module.

v1.8.0

16 May 14:07
821960a
Compare
Choose a tag to compare

Feature Updates:

  1. Support pc-side python files are compiled into bytecode and packaged into firmware, and multi-python files are supported (no file system required).
  2. Memory management uses reference counting and supports factory methods.
  3. A comprehensive troubleshooting of memory hazards was carried out using valgrind.

Feature Interpretation Video:

https://www.bilibili.com/video/BV14t4y1x7nv

Incompatible updates:

The python declaration file suffix of the C module is modified from .py to .pyi, and the syntax content remains unchanged.

Migration Guide:

Modify the .py file suffix of the C module to .pyi.

v1.7.0

22 Apr 05:14
Compare
Choose a tag to compare
  1. use self in py method declarations in C modules to better support pylance smart hints.
  2. Support for defining functions in REPL.
  3. Support defining classes in REPL. 4.
  4. enhance the stability of REPL, enhance the error prompting.
  5. support built-in mode for list and dict (requires configuration).
  6. Add ctypes module to provide cpython-like ctypes compatibility.
  7. support import as, from import, from import as syntax in scripts.
  8. Enhance the stability of pre-compiler and fix some bugs.
  9. support bytes basic data type.
  10. support s = '\x33\x44' literal value escaping.
  11. Support b = b'\0x00\x03\x04' to create bytes variables.

image

v1.6.0

04 Apr 08:50
Compare
Choose a tag to compare

pikascript-latest

22 Jan 15:14
Compare
Choose a tag to compare
rename Pika_F051

rt-thread-package-pikascript

05 Dec 06:58
Compare
Choose a tag to compare
update pacakges.toml

v1.2.0

03 Nov 02:18
Compare
Choose a tag to compare

add rt-thread support package in port/rt-thread

v0.8.1

29 Sep 14:46
Compare
Choose a tag to compare

support script new object like:
"uart = STM32.UART()"

v0.7.6

26 Sep 14:32
Compare
Choose a tag to compare

support download python script by USART in stm32g030.