Commit Graph

341 Commits

Author SHA1 Message Date
s-hadinger 7404b8ddbb
Berry `_class` can be used in `static var` initialization code (#19088) 2023-07-10 17:50:04 +02:00
s-hadinger 2ecb697a3f
Berry added `getgbl` performance counter to `debug.counters()` (#19070)
* Berry add `getgbl` counter

* Berry added `getgbl` performance counter to `debug.counters()`
2023-07-08 11:25:25 +02:00
s-hadinger cc55cf0bb1
Revert "Berry `var` allowed in with walrus operator `:=` (#19018)" (#19019)
This reverts commit 8f06552eee.
2023-07-03 14:10:05 +02:00
s-hadinger 8f06552eee
Berry `var` allowed in with walrus operator `:=` (#19018)
* Berry `var` allowed in with walrus operator `:=`

* fix regression
2023-07-03 12:28:41 +02:00
s-hadinger ff865d8005
Update pre-compiled Berry for Windows (#19001) 2023-06-29 16:39:59 +02:00
s-hadinger ef304a8ba8
Berry mark walrus operator as side-effect (#18999) 2023-06-29 13:01:07 +02:00
s-hadinger 34456e6193
Berry `import strict` now detects useless expr without side effects (#18997) 2023-06-29 09:04:16 +02:00
s-hadinger b9588e6192
Berry `bool( [] )` and `bool( {} )` now evaluate as `false` (#18986) 2023-06-27 22:07:13 +02:00
s-hadinger 9cf3d16065
Berry various fixes for Walrus Operator (#18982) 2023-06-27 14:32:08 +02:00
s-hadinger 090a4bb4b5
Berry fix bug in walrus operator (#18969) 2023-06-25 23:14:33 +02:00
s-hadinger 30a65edd7a
Berry Walrus operator ':=' (#18963) 2023-06-25 17:30:42 +02:00
s-hadinger 0ac5d0945b
Berry add option to remove source file name and save flash space (#18948) 2023-06-23 23:14:51 +02:00
s-hadinger 5792dad12b
Berry reduce bproto structure by 8 bytes (#18946) 2023-06-23 19:34:42 +02:00
s-hadinger bf36868813
Matter remove superfluous `import.string` (#18938) 2023-06-22 23:49:35 +02:00
s-hadinger 85f357096a
Berry added f-strings as an alternative to string formatting (#18937) 2023-06-22 22:50:05 +02:00
s-hadinger 410aadbf6d
Berry add global function `format` as a simpler syntax to `string.format` (#18925) 2023-06-21 14:12:39 +02:00
s-hadinger 1e745807e4
Berry fixed parser error with upvals in closures (#18902) 2023-06-18 20:21:08 +02:00
s-hadinger 3fc932d38a
Berry `string.format()` now automatically converts type according to format (#18890) 2023-06-16 20:38:53 +02:00
s-hadinger 5da84c52ff
Berry Allow comments in multi-line strings (#18848) 2023-06-10 22:23:43 +02:00
s-hadinger 827c14e4bd
Increase solidify buffer (#18843) 2023-06-10 18:23:33 +02:00
s-hadinger 3c75bc92a2
Zigbee Berry mapping fix attributes (#18747) 2023-05-29 23:05:45 +02:00
s-hadinger b053cf87ec
Berry safeguard when freeing null pointer (#18735) 2023-05-29 11:00:20 +02:00
Jason2866 db1b9ffe49
Update gen.sh 2023-05-12 14:25:56 +02:00
Jason2866 979a15cf07
run "coc" before solidify (#18643)
* Run "coc"
* change artifact order
2023-05-12 11:06:20 +02:00
Jason2866 c776885691
clang for berry binary compile (#18641) 2023-05-11 16:21:33 +02:00
s-hadinger c4d90d4636
Berry suppress warnings (#18626) 2023-05-09 22:10:16 +02:00
s-hadinger fec3a21c8a
Berry strtab test case (#18623) 2023-05-09 21:13:00 +02:00
s-hadinger 4cd1136f4c
Berry fixed a rare condition when a GC causes a memory corruption (#18614) 2023-05-08 21:59:32 +02:00
s-hadinger 97cbfe007f
Add windows berry binary (#18599) 2023-05-07 18:12:47 +02:00
s-hadinger 519ea557c7
Berry `re` (regex) add `match2` and optional offset (#18596) 2023-05-07 16:18:34 +02:00
s-hadinger 069278f966
Berry add `tcpclientasync` class for non-blocking TCP client (#18584) 2023-05-05 15:13:22 +02:00
Jason2866 763a8671ab
fix c3 exceptions when using lvgl (#18493) 2023-04-24 16:11:54 +02:00
s-hadinger 045f8b4aec
Berry fix corruption in debug (#18475) 2023-04-21 23:05:25 +02:00
s-hadinger d9eeb8bf57
Berry remove superfluous test (#18473) 2023-04-21 22:42:02 +02:00
s-hadinger f5e6ba956d
Berry upstream (#18471) 2023-04-21 22:36:18 +02:00
s-hadinger f46b9f4e2d
Update Berry tests from upstream (#18472) 2023-04-21 22:36:00 +02:00
s-hadinger 01ba3d28cd
Berry apply fixes from upstream (#18470)
* Berry apply fixes from upstream

* Fix
2023-04-21 21:59:45 +02:00
s-hadinger 4bac940a40
Matter add sensors: Humidity, Pressure, Illuminance; optimize memory (#18441) 2023-04-17 21:49:12 +02:00
s-hadinger de45a7af26
Berry add `searchall()` and `matchall()` to `re` module and pre-compiled patterns (#18429) 2023-04-16 17:43:49 +02:00
s-hadinger 0feba56d8e
Berry `instrospect.name()` to get names of functions, modules and classes (#18422) 2023-04-15 19:34:31 +02:00
s-hadinger 009e07fd07
Berry json patches (#18407) 2023-04-13 22:51:55 +02:00
s-hadinger 8ea91b7792
Berry fix rare crash in json parsing (#18395) 2023-04-11 23:13:02 +02:00
s-hadinger 4b272083d6
Berry fix solidify int type (#18378) 2023-04-10 15:45:07 +02:00
s-hadinger 506248be99
Matter various fixes (#18377) 2023-04-10 12:59:23 +02:00
s-hadinger 4ff9cf4e59
Berry coc support unicode (#18195) 2023-03-14 23:02:50 +01:00
Christian Baars 83f039cdf7
Berry: add tensorflow lite for microcontrollers (#18119)
Co-authored-by: Christian Baars <christianbaars@MacBook-Pro-von-Christian.local>
2023-03-05 16:46:18 +01:00
s-hadinger dcbf50a918
Matter automatic ifdefs (#18002) 2023-02-19 22:25:29 +01:00
s-hadinger dc245c57b1
Berry allow bool key (#17902) 2023-02-07 02:55:12 +01:00
s-hadinger a483991ba3
ESP32 preliminary support for Matter protocol, milestone 1 (commissioning) (#17871)
* ESP32 preliminary support for Matter protocol, milestone 1 (commissioning)

* Fix case
2023-02-04 00:00:21 +01:00
s-hadinger 4e60bd7465
Berry add `static class` to declare inner classes (#17699) 2023-01-14 11:38:51 +01:00
s-hadinger 9ba3c26a8a
Berry fix crash when generating bytecode of empty class (#17688) 2023-01-12 22:51:43 +01:00
s-hadinger 1acd9b867c
Berry add implicit _class parameter to static methods (#17683)
* Berry add implicit ``_class`` parameter to static methods

* Handle bytecode
2023-01-11 22:59:07 +01:00
s-hadinger f570dcc913
Berry `bytes()` now evaluates to `false` if empty (#17585) 2023-01-03 19:43:41 +01:00
Stephan Hadinger ec17440662 Berry crypto module, with AES_GCM by default and EC_CC25519 optional 2022-12-04 19:20:11 +01:00
Stephan Hadinger a0ed383840 Berry add module `mdns` 2022-11-27 18:08:53 +01:00
Stephan Hadinger e910f3071c Berry add ``dyn`` class 2022-11-06 10:52:17 +01:00
Stephan Hadinger 4c896cd8bc Added Berry ``bytes().reverse()`` method 2022-11-01 23:07:15 +01:00
Christian Baars 1011ee2cbb ignore USE_BERRY_ULP on unsupported platforms 2022-11-01 15:55:01 +01:00
Christian Baars ed6c21ad80
allow ULP not only for ESP32 2022-10-30 18:42:47 +01:00
Stephan Hadinger 2ef866e3b8 Berry add `bytes().setbytes()` 2022-10-23 19:43:40 +02:00
Stephan Hadinger f4dee20d0a Berry regex `re` fix 2022-10-10 14:20:30 +02:00
sfromis 4a3a52cd3e
Epoch in Berry map for time
Inserts input epoch value directly into the output map, for consistently having epoch in this data structure
2022-10-09 16:12:16 +02:00
Stephan Hadinger 2438ab959a lv_berry simplify solidification from laptop 2022-10-05 21:58:59 +02:00
Stephan Hadinger 3f5baaa0c6 Berry add ``introspect.setmodule(name:string, value:any) -> nil`` 2022-09-25 15:33:31 +02:00
Stephan Hadinger 62fcba4b11 Berry more auto-solidification 2022-09-18 23:12:57 +02:00
Stephan Hadinger 2f81bfff21 Berry more automated solidification 2022-09-14 19:39:46 +02:00
Stephan Hadinger e0f9154986 Berry automated solidification of code 2022-09-12 22:02:25 +02:00
Christian Baars d57a1cadc9 refactor MI32 and BLE in Berry to module 2022-09-10 16:38:12 +02:00
Stephan Hadinger 18a950f61c Berry fix for stricter mode 2022-09-06 22:54:24 +02:00
Christian Baars dc232059af add .keep to empty generate folder 2022-09-05 16:32:28 +02:00
Christian Baars 580069a613 empty generate folder 2022-09-05 16:21:50 +02:00
Stephan Hadinger a1e5f53ddd Berry fix json crash 2022-08-31 19:21:00 +02:00
Stephan Hadinger cb4a5ed736 Berry extend max bytes size to 512Kb when PSRAM is available 2022-08-30 18:11:04 +02:00
Stephan Hadinger d4f3530539 Berry stricter strict mode 2022-08-29 19:27:06 +02:00
Stephan Hadinger e46d07acb4 Berry add more metrics to GC 2022-08-26 19:23:21 +02:00
Stephan Hadinger 979288570e HASPmota make `spinner` editable 2022-08-26 08:37:28 +02:00
Stephan Hadinger a3c29375e8 Berry Zigbee integration for received messages 2022-08-22 21:32:39 +02:00
Stephan Hadinger 9ac38cb9d2 Berry remove unused registry code 2022-07-26 09:51:38 +02:00
s-hadinger cc5fb02653
Merge pull request #16081 from s-hadinger/berry_fix_ref_call
Berry remove unnecessary ref push
2022-07-25 23:14:49 +02:00
Stephan Hadinger 0b7d8ac668 Berry remove unnecessary ref push 2022-07-25 22:49:58 +02:00
Stephan Hadinger 197e25132c Berry fix reference when exeception is raised 2022-07-25 22:32:26 +02:00
Stephan Hadinger d5ed1abf07 Berry add tasmota.remove_fast_loop() 2022-07-10 19:34:04 +02:00
Stephan Hadinger 5e758db898 Berry tcpserver 2022-07-07 19:28:17 +02:00
Stephan Hadinger 9f8fffd6ba Berry fix potential crash when parsing unfinished strings 2022-07-07 13:24:03 +02:00
Stephan Hadinger 389543d36f Berry fix regression 2022-07-06 23:13:35 +02:00
Stephan Hadinger 69de76338c Berry allow setmember() to fail with `false` or `undefined` 2022-07-05 21:14:50 +02:00
s-hadinger 57f714eade
Merge pull request #15916 from Staars/development
ESP32: support ULP via Berry
2022-07-02 23:10:19 +02:00
Stephan Hadinger 73dd995c3b Berry solidify to file 2022-07-02 21:46:02 +02:00
Christian Baars a793296bc1 ESP32: support ULP via Berry 2022-07-02 21:30:04 +02:00
Stephan Hadinger 74b11c8e3b Berry update tests for module undefined 2022-07-02 16:58:51 +02:00
Stephan Hadinger 9bf0d7fb4e Berry sync with upstream 2022-07-02 16:27:37 +02:00
Stephan Hadinger 8348b3fb25 Fix Berry lexer regression 2022-07-02 15:48:48 +02:00
Stephan Hadinger 7e0f69e935 Partition Wizard use ota.tasmota.com 2022-07-02 00:13:27 +02:00
Stephan Hadinger e551c8743b Rename pycoc to coc 2022-07-01 22:39:23 +02:00
Stephan Hadinger aaa87365f0 Berry prefer `static var` syntax 2022-07-01 19:56:09 +02:00
Stephan Hadinger df7d056b51 Fix compiler warning in Berry lexer 2022-06-30 22:25:09 +02:00
Stephan Hadinger 2a620cd285 Berry fix crash on ESP32 early revisions 2022-06-29 10:16:01 +02:00
Stephan Hadinger 9a74a63740 Berry improved mqtt.unsubscribe() 2022-06-26 18:59:31 +02:00
s-hadinger b744c2e9b3
Merge pull request #15863 from s-hadinger/Berry-improved-bool
Berry improved booleans
2022-06-24 23:34:51 +02:00
Stephan Hadinger 147bbc133e Berry improved booleans 2022-06-24 23:17:33 +02:00
Stephan Hadinger c9e49f7432 Berry add string.replace() 2022-06-24 23:12:49 +02:00
Stephan Hadinger 8aaf620cd0 Berry bytes.ismapped() 2022-06-22 19:05:53 +02:00
Stephan Hadinger dd364c92da Berry comobj standard deallocator 2022-06-16 22:37:33 +02:00
s-hadinger 633dd61be5
Merge pull request #15803 from s-hadinger/berry_comobj_typo
Berry fix typo
2022-06-15 22:34:09 +02:00
Stephan Hadinger 6b0fbf0798 Berry fix typo 2022-06-15 22:23:22 +02:00
Stephan Hadinger 9b26c01dd0 Berry virtual member can return nil 2022-06-15 22:00:31 +02:00
Stephan Hadinger af41d81c5a Berry ctypes small optimization 2022-06-07 22:20:42 +02:00
Stephan Hadinger 0aefb278cd Berry optimization of crypto module 2022-06-07 21:59:27 +02:00
Stephan Hadinger ffbc95717a Berry weak strings 2022-06-06 21:01:12 +02:00
Stephan Hadinger 82d4e14171 Cleaning unused variables 2022-06-03 22:57:05 +02:00
s-hadinger bb582191dd
Merge pull request #15741 from s-hadinger/berry_bytes_tohex
Berry bytes().tohex()
2022-06-03 22:29:10 +02:00
Stephan Hadinger 872ea1377a Berry bytes().tohex() 2022-06-03 22:08:48 +02:00
Stephan Hadinger 7232f5865d Berry int() now accepts hex strings 2022-06-03 21:51:20 +02:00
Theo Arends c08561f67c Bump version to v11.1.0.4
- Restructure tasmota
2022-06-02 14:17:39 +02:00
Stephan Hadinger 19ff938d09 Berry Zigbee support payload of zcl_frame as bytes() 2022-06-01 22:06:57 +02:00
Stephan Hadinger ce33aa5f9d Berry zigbee phase 1 2022-05-24 22:45:04 +02:00
Stephan Hadinger 2a38c1c0f6 Berry add crc.sum() 2022-05-24 22:06:50 +02:00
Stephan Hadinger 208077c808 Berry add bytes().fromhex() 2022-05-24 21:52:37 +02:00
Jason2866 b1223ad933 fix VSC intelisense warning 2022-05-24 16:50:39 +02:00
Stephan Hadinger fc3907677b Berry improve precompiled gen.sh 2022-05-23 21:06:36 +02:00
Stephan Hadinger 18dee9ff3b Partition_core suppport unknown types 2022-05-21 19:02:58 +02:00
Stephan Hadinger 086c4d6371 Rename OpenHASP to HASPmota 2022-05-20 21:29:39 +02:00
Stephan Hadinger a3c5a190de Berry partition_core fixes 2022-05-10 23:13:27 +02:00
Stephan Hadinger 350b670fa0 Esp32 real flash size 2022-05-09 22:43:27 +02:00
Stephan Hadinger 0b701d1643 Berry allow multiple string literal 2022-05-09 12:36:30 +02:00
Christian Baars 0e87f06ba6 Berry: add content_response() to webserver 2022-05-08 18:00:15 +02:00
Stephan Hadinger 8689563d90 Berry add additional primitives to partition_core 2022-05-08 14:15:36 +02:00
Stephan Hadinger 190b9ca17f Berry flash.factory and partition_core 2022-05-06 20:31:24 +02:00
Stephan Hadinger 9e87e36ff0 Berry fix crash with GC for ctype 2022-05-05 19:10:20 +02:00
Stephan Hadinger f28dc39b82 Berry flash write unaligned and download to flash 2022-05-04 21:13:32 +02:00
Stephan Hadinger 5fbf1f266f Berry flash.factory() 2022-05-01 17:30:33 +02:00
Stephan Hadinger 495bfaf047 Berry add ota rollback 2022-05-01 16:14:19 +02:00
Stephan Hadinger 66aa714524 Berry partition manager display factory partition 2022-04-30 18:50:05 +02:00
Stephan Hadinger c394830f99 Berry make partition manager compatible with single OTA 2022-04-30 17:00:24 +02:00
Stephan Hadinger 80cb0564cd Berry easier MQTT subscribe 2022-04-29 23:43:55 +02:00
s-hadinger 950933cafa
Berry rename solidified partition to partition_core (#15482)
* Berry rename solidified partition to partition_core

* Add init to force `partition_core` as global
2022-04-29 12:03:19 +02:00
Stephan Hadinger fd3bce508c Berry use crc32 code from esp rom 2022-04-29 10:19:47 +02:00
Stephan Hadinger d3e55ad43e Berry solidification of the partition core engine 2022-04-27 18:16:15 +02:00
Stephan Hadinger 79c171892b Berry fix wrong solidification of class name 2022-04-27 18:11:34 +02:00
Stephan Hadinger 002bc266eb Berry improve logging when using `load()` 2022-04-27 09:40:56 +02:00
Stephan Hadinger 8547cdaa0d Berry fix pointer warning 2022-04-26 23:01:10 +02:00
Stephan Hadinger 55d66c96d3 Berry fix assertion violation when loading bytecode 2022-04-26 22:28:41 +02:00
Stephan Hadinger 71010423eb Sync with latest Berry PRs 2022-04-20 22:57:07 +02:00
Stephan Hadinger 18239d9ca3 Berry stack resize debug mode 2022-04-10 22:28:22 +02:00
Stephan Hadinger ad5a31993a OpenHASP solidified 2022-04-09 11:40:41 +02:00
Stephan Hadinger a5c852b047 Berry solidification toggle for string literals 2022-04-09 09:50:17 +02:00
Stephan Hadinger 6ee2ed80f7 Berry supper class in member 2022-04-08 19:53:55 +02:00
Stephan Hadinger 4629bb4436 Berry support for int keys in map in solidification 2022-04-06 19:19:17 +02:00
Stephan Hadinger d9cfe6128a Berry prep for OpenHASP 2022-04-05 21:38:43 +02:00
Stephan Hadinger 0915664eae Berry improve asserts and stack size 2022-04-04 09:10:54 +02:00