Commit Graph

224 Commits

Author SHA1 Message Date
s-hadinger
40ee4cc316
Berry add solidify.nocompact() and reduce size of Matter UI (#21885) 2024-08-01 22:02:27 +02:00
s-hadinger
74551c873f
Berry add file.savecode() (#21884) 2024-08-01 15:38:07 +02:00
s-hadinger
035daa663b
Berry file.write() raises an exception on failure (ex: disk full) (#21849) 2024-07-26 12:44:25 +02:00
s-hadinger
f97c47c511
Avoid random content in bvalue (#21846) 2024-07-25 23:11:14 +02:00
s-hadinger
1b887d7202
Berry consolidated constants for solidified classes reduces Flash size (#21845) 2024-07-25 22:53:02 +02:00
s-hadinger
bf7fbf2cbe
Berry internal: remove class from closure to simplify code (#21839) 2024-07-24 22:59:53 +02:00
s-hadinger
db3e29dd47
Berry fix bytes setters and getters with negative offsets (#21835) 2024-07-24 14:24:11 +02:00
s-hadinger
b56e3c43a8
Berry improve solidification of bytes (#21751) 2024-07-09 13:19:24 +02:00
s-hadinger
b6c488a883
Berry bytes.resize() for large sizes (#21716) 2024-07-01 22:53:49 +02:00
s-hadinger
c58607a5b5
Berry math.min() and math.max() (#21705) 2024-06-29 10:42:21 +02:00
s-hadinger
bd47d99ceb
Berry classof extended to class methods (#21615) 2024-06-12 10:48:38 +02:00
s-hadinger
9546390a1f
Berry add math.round (#21602)
* Berry add `math.round`

* add unit tests

* math.roung() returns real
2024-06-09 19:01:15 +02:00
s-hadinger
d16a502f36
Berry fix potential crash when solidifying loaded bytecode (#21583) 2024-06-06 22:11:52 +02:00
s-hadinger
a51c511d52
Berry bytes solidification (#21558)
* Berry prepare for bytes() solidification

* Berry solidification of bytes objects

* Berry solidification of `bytes` instances
2024-06-03 21:14:44 +02:00
s-hadinger
e56f6a150d
Berry add reuse of methods for interface-like code reuse (#21500) 2024-05-26 23:05:43 +02:00
s-hadinger
c161f63c9a
Berry fix message for borrowed method (solidification) 2024-05-24 22:59:19 +02:00
s-hadinger
0d3e888147
Berry change internal storage of parent class for methods (#21490)
* Berry change internal storage of parent class for methods

* Fix compilation of zigbee

* Patch solidify for berry_custom
2024-05-24 22:32:37 +02:00
s-hadinger
fd148a8d12
Berry math.inf, math.isinf() and fixed json ouput for inf and nan (#21304) 2024-04-29 22:55:57 +02:00
s-hadinger
c1845b952b
Berry apply upstream fixes (#21194) 2024-04-15 22:12:16 +02:00
s-hadinger
35c2d55382
Berry upstream walrus fix (#21175) 2024-04-14 15:58:30 +02:00
s-hadinger
105aa03198
Berry upstream fix mod 0 (#21174)
* Berry upstream fix mod 0

* Add test case
2024-04-14 14:55:20 +02:00
s-hadinger
8acf4cd119
Berry fix for Ubuntu (#21166) 2024-04-13 15:19:04 +02:00
s-hadinger
8736544a81
Berry fix upstream connect with undefined variable (#21156) 2024-04-12 15:34:24 +02:00
s-hadinger
5e60d5217d
Berry compile local Berry with int64 (#21151)
* Berry compile local Berry with int64

* Revert solidify
2024-04-11 22:18:59 +02:00
s-hadinger
7e2fff9728
Berry prepare compilation on 64bits platforms (#21149) 2024-04-11 22:03:12 +02:00
s-hadinger
0484299ee4
Align with Berry PR #412 (#21143) 2024-04-11 10:51:15 +02:00
s-hadinger
aa4bdebe55
Berry print "a" syntax no longer supported (#21048) 2024-03-27 16:22:27 +01:00
s-hadinger
c95483844a
Berry fix walrus bug when assigning to self (#21015) 2024-03-22 18:51:48 +01:00
s-hadinger
0518bd6c64
Berry fix walrus with member or index (#20939) 2024-03-12 23:00:52 +01:00
s-hadinger
bb07ded475
Berry add string.starstwith, string.endswith and %q format (#20909)
* Berry add `string.starstwith`, `string.endswith` and `%q` format

* Fix typo

---------

Co-authored-by: Jason2866 <24528715+Jason2866@users.noreply.github.com>
2024-03-10 14:31:15 +01:00
s-hadinger
e55471e084
Berry bug when parsing ternary operator (#20839) 2024-02-29 19:23:32 +01:00
s-hadinger
55be1866ad
Berry add explicit error log when memory allocation fails (#20807) 2024-02-25 21:17:08 +01:00
s-hadinger
a5e3391ca8
Matter fix introspect.contains (#20685) 2024-02-08 02:42:21 +01:00
s-hadinger
6c16a5122a
Berry add introspect.contains and bytes.addfloat (#20635) 2024-02-01 09:52:24 +01:00
s-hadinger
06c2d78d5f
Berry assigment to list with negative index (#20537) 2024-01-18 22:01:39 +01:00
s-hadinger
a2c4123d79
Berry add solidification of strings longer than 255 bytes (#20529) 2024-01-18 12:31:47 +01:00
s-hadinger
08a14ccc9e
LVGL add lv.str_arr (#20480) 2024-01-12 19:48:33 +01:00
s-hadinger
b0f4542707
Berry debug.caller (#20470) 2024-01-12 08:29:14 +01:00
s-hadinger
298ee22ebf
Berry add string to bytes() (#20420) 2024-01-07 15:38:29 +01:00
s-hadinger
6768ebc2ac
Berry fix static allocation when superclass is a member (#20385) 2024-01-03 16:12:47 +01:00
s-hadinger
6a8435b731
Berry added introspect.set() for class attributes (#20339) 2023-12-29 10:17:10 +01:00
s-hadinger
67b36030dc
Berry sync upstream #369 (#20330) 2023-12-28 17:00:35 +01:00
s-hadinger
e3b151c756
Fix Berry parser error in specific cases (#20059)
* Fix Berry parser error in specific cases

* fix typo

* Fix last bug (hopefully)
2023-11-19 17:16:03 +01:00
s-hadinger
de1b5929b8
Partition Wizard can be loaded dynamically (#19980)
* Partition Wizard can be loaded dynamically

* Centralize config

* Don't display duplicate buttons

* Fix test
2023-11-11 23:52:41 +01:00
s-hadinger
ceda8782c8
Berry fix bytes getter for 3-bytes big-endian (#19945) 2023-11-06 17:48:24 +01:00
s-hadinger
625b204cb2
Berry `debug.gcdebug()` to enable GC debugging (#19936) 2023-11-05 18:40:28 +01:00
s-hadinger
0cd1ae965c
Berry fix warning in be_lexer (#19892) 2023-10-31 22:11:18 +01:00
Andreas Ziemer
dfa6f9a771
Update be_lexer.c (#19856)
Added check for unterminated block comments
2023-10-28 11:43:35 +02:00
s-hadinger
d2b370ab44
Fix Berry on old ESP32 (#19830) 2023-10-24 18:01:14 +02:00
s-hadinger
385408dcfd
Berry fix bool side effect (#19790) 2023-10-18 20:02:47 +02:00
s-hadinger
288fe3b282
Berry fix compilation with integer index (#19655) 2023-10-03 15:21:48 +02:00
s-hadinger
80617e96e1
Berry bytes get and set work for 3 bytes values (#19225)
* Berry bytes `get` and `set` work for 3 bytes values

* Fix error message
2023-07-31 13:57:07 +02:00
s-hadinger
0b59cda02a
Berry add metrics for memory allocation/deallocation/reallocation (#19150) 2023-07-19 20:41:41 +02:00
s-hadinger
00249ac3eb
Fix typo 2023-07-16 15:05:41 +02:00
s-hadinger
315fe36727
Berry check arguments for range() (#19124) 2023-07-15 23:25:51 +02:00
s-hadinger
46e17061b2
Berry extend range(lower, upper, incr) to arbitrary increment (#19120) 2023-07-15 19:09:52 +02:00
s-hadinger
af27d65a8a
Sync with Berry upstream (#19119) 2023-07-15 18:11:04 +02:00
s-hadinger
8c31acd376
Berry minor fixes from upstream (#19091) 2023-07-11 08:21:09 +02:00
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
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
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
045f8b4aec
Berry fix corruption in debug (#18475) 2023-04-21 23:05:25 +02:00
s-hadinger
f5e6ba956d
Berry upstream (#18471) 2023-04-21 22:36:18 +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
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
dc245c57b1
Berry allow bool key (#17902) 2023-02-07 02:55:12 +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
a0ed383840 Berry add module mdns 2022-11-27 18:08:53 +01:00
Stephan Hadinger
4c896cd8bc Added Berry `bytes().reverse()` method 2022-11-01 23:07:15 +01:00
Stephan Hadinger
2ef866e3b8 Berry add bytes().setbytes() 2022-10-23 19:43:40 +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
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