Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Iskrajs 2 v22 uf2 #8

Merged
merged 1,373 commits into from
Jun 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1373 commits
Select commit Hold shift + click to select a range
0d63f71
Merge pull request #2453 from espruino/dependabot/github_actions/acti…
gfwilliams Jan 22, 2024
916cfd5
Allow E.nativeCall to take 32 bit floats (eg for Inline C)
gfwilliams Jan 19, 2024
6e08a64
Fix build
gfwilliams Jan 23, 2024
173dc29
Add built-in Stepper motor handling with the `Stepper` class (if enab…
gfwilliams Jan 24, 2024
ddd7ad7
Fix issue requesting constructor of builtin before the class itself h…
gfwilliams Jan 24, 2024
e3736ac
fix build warning, if jswrap_i2c_readReg called on an undefined paren…
gfwilliams Jan 25, 2024
06adb4e
Allow pretokenisation to store raw, unencoded Strings for speed/effic…
gfwilliams Jan 26, 2024
aa18cfc
refactor jslNewTokenisedStringFromLexer to reduce duplication (may no…
gfwilliams Jan 26, 2024
aec666e
Add automatic decoding and pretokenisation of 'atob(".....")' strings
gfwilliams Jan 26, 2024
f80bc1b
Pull out pretokenisation on SAVE_ON_FLASH boards (pretokenised code c…
gfwilliams Jan 26, 2024
7c6e113
Limiting date library to 1601, and making sure it doesn't have a Y2K3…
deirdreobyrne Jan 28, 2024
9801c12
Fixing the integer divide rounds towards zero problem instetad. Hopef…
deirdreobyrne Jan 28, 2024
131b91a
Bugfix for #2456. Integer division rounds towards zero instead of dow…
deirdreobyrne Jan 28, 2024
a24ef40
Speling fix
deirdreobyrne Jan 28, 2024
68e1207
Trying to reduce memory usage
deirdreobyrne Jan 28, 2024
8a35284
Correction to the date limit
deirdreobyrne Jan 28, 2024
ec3ba5f
Cleanup from old attempt to fix the bug
deirdreobyrne Jan 28, 2024
2e926b1
Bump actions/upload-artifact from 4.2.0 to 4.3.0
dependabot[bot] Jan 29, 2024
d230c39
Merge pull request #2460 from espruino/dependabot/github_actions/acti…
gfwilliams Jan 29, 2024
7b7a6c5
Bangle.js: Fix out of bounds coordinates in LCD code that caused scre…
gfwilliams Jan 29, 2024
bb241ae
Support for 8 or 16 bit raw strings (makes storage of most strings mo…
gfwilliams Jan 29, 2024
1a0b38e
Bangle.js2: In flash bootloader, don't store flash write code in RAM …
gfwilliams Jan 29, 2024
f58c541
Remove 65535-char max native string length restriction introduced in …
gfwilliams Jan 29, 2024
42000b3
Adding in the test case sent in a private email by Gordon
deirdreobyrne Jan 29, 2024
b9b88a2
Further restrictting the Date() range for the PICO_R1_3
deirdreobyrne Jan 29, 2024
a2552d6
Missing { in the PICO_R1_3 code
deirdreobyrne Jan 29, 2024
f05ec97
switch math_abs to using fabs, saves a few bytes and fabs is used els…
gfwilliams Jan 29, 2024
fcaadd8
Fixed Date test; cleaned up Date() library range; checking to see if …
deirdreobyrne Jan 29, 2024
7bccbec
Fix printing of tokenised 'raw strings' in stack traces
gfwilliams Jan 29, 2024
307238c
Saving a few bytes of memory by pushing the integer divide into a fun…
deirdreobyrne Jan 29, 2024
38a5b0c
Saving even more bytes
deirdreobyrne Jan 29, 2024
191f643
E.memoryArea(0, ...) now returns `undefined`
gfwilliams Jan 29, 2024
c2f6ac6
Fix issue using Flat/Flash/Native Strings to create fields in objects
gfwilliams Jan 29, 2024
eee759e
Add jsvNewFromStringVarComplete, save 30 bytes even on microbit builds
gfwilliams Jan 29, 2024
2fa86d7
Optimise pretokenised Strings so we load very short strings direct to…
gfwilliams Jan 29, 2024
6e2b1cd
fix slightly broken code in ESP32 port
gfwilliams Jan 29, 2024
812addd
Add jsvGet...Child functions to replace common call patterns - saves …
gfwilliams Jan 29, 2024
fcd68f6
Merge pull request #2459 from deirdreobyrne/date_limit
gfwilliams Jan 29, 2024
ff85199
docs for #2459
gfwilliams Jan 29, 2024
7f739d7
Fix issue with g.wrapString when running on flash-based strings
gfwilliams Jan 30, 2024
bd78d49
Update storage using pretokenised strings
gfwilliams Jan 30, 2024
8c2d72a
building notes
gfwilliams Jan 31, 2024
1918b8c
remove out of date travis badge
gfwilliams Jan 31, 2024
99e03e2
Fix lock leak when using flat/flash/native strings as object indices
gfwilliams Jan 31, 2024
372d4af
Fix g.wrapString lockup if wrap width is less than the character width
gfwilliams Jan 31, 2024
5fee08f
Fix potential for crash after ReferenceError during function declarat…
gfwilliams Jan 31, 2024
86f72ae
Add -flto=auto as per https://github.com/espruino/Espruino/issues/245…
gfwilliams Jan 31, 2024
08040d1
Added GCC version check in provision script (prep for #2455)
gfwilliams Jan 31, 2024
856a5f6
Revert "Fix potential for crash after ReferenceError during function …
gfwilliams Feb 1, 2024
3814058
Fix potential for crash after ReferenceError during function declarat…
gfwilliams Feb 1, 2024
d217500
STM32: (Original/Pico/WiFi) if USB connected but PC not receiving dat…
gfwilliams Feb 1, 2024
9b748d1
Minor docs tweak
gfwilliams Feb 2, 2024
1341bce
Move commonly used sequences of function calls into functions (eg jsv…
gfwilliams Feb 2, 2024
5b51f34
small script tweaks
gfwilliams Feb 2, 2024
298ebaf
Fix ST bootloader build
gfwilliams Feb 5, 2024
d0d586c
STM32LL build fix
gfwilliams Feb 5, 2024
2a161aa
2v21 release
gfwilliams Feb 5, 2024
bf03bef
Graphics: Ensure floodFill sets modified area correctly
gfwilliams Feb 6, 2024
620e0b0
Fixing graphics lib compile warnings
gfwilliams Feb 6, 2024
1c52b62
nRF52: Lower expected BLE XTAL accuracy to 50ppm (can improve BLE sta…
gfwilliams Feb 6, 2024
548f35d
Emulator: force stack alignment of 'data' variable when accessing Arr…
gfwilliams Feb 7, 2024
0db98ed
typo
gfwilliams Feb 7, 2024
0959f09
Swapped GCC version from 8.2.1 to 13.2.1 (fix #2455)
gfwilliams Feb 8, 2024
17f5406
Bump actions/upload-artifact from 4.3.0 to 4.3.1
dependabot[bot] Feb 12, 2024
b551c92
Merge pull request #2464 from espruino/dependabot/github_actions/acti…
gfwilliams Feb 19, 2024
1cffe1b
nRF52: Write flash in 2k blocks (not 4k) as SD 6.1.1 can crash (proba…
gfwilliams Feb 19, 2024
41e3995
g.wrapString fix issues wrapping long words in UTF8 strings over mult…
gfwilliams Feb 20, 2024
eb1de99
Swap to github-hosted compiler, fix #2455
gfwilliams Feb 20, 2024
da6f062
Bangle.js2: Fix parsing of UTF8 strings containing char codes 0xF5..0…
gfwilliams Feb 20, 2024
022d4f3
Remove intermediat build files
gfwilliams Feb 22, 2024
e17e61b
Rename STRINGIFY to ESPR_STRINGIFY, remove build warning on nRF52 (fi…
gfwilliams Feb 22, 2024
1a024e2
Rename SPI_COUNT/etc to ESPR_SPI_COUNT to avoid conflicts with the nR…
gfwilliams Feb 22, 2024
c6408a3
remove old, non-working, confusing file
gfwilliams Feb 22, 2024
76d2b57
nRF52: Added window/interval arguments to NRF.setScan (default was 10…
gfwilliams Feb 23, 2024
c3f31b1
nRF52840: setScan({... phy:"both"}) now means coded+1mbps (ref #2465)
gfwilliams Feb 23, 2024
b037788
added the defines to the platform file
brendena Feb 23, 2024
4c36e5c
now works with parentheses
brendena Feb 23, 2024
889258a
there was a problem with the null terminator in the bangle watch
brendena Feb 23, 2024
5ee8eb2
Tweak to change define name, add docs, and avoid having to re-escape …
gfwilliams Feb 23, 2024
6be243d
Added 'globalThis' var as it's the ECMAScript version of Node.js's 'g…
gfwilliams Feb 28, 2024
27acfd6
Update EMSCRIPTEN.make
brendena Mar 1, 2024
6d8195d
Update jshardware.c
brendena Mar 1, 2024
3218bcc
Update jshardware.c
brendena Mar 1, 2024
e5ffc93
Merge pull request #2473 from brendena/patch-2
gfwilliams Mar 1, 2024
acd8ba1
added another flag for flags that only exist in c
brendena Mar 2, 2024
c26a12e
changed the name and added implicit function to the list
brendena Mar 4, 2024
8f18a30
Bangle.js: Bangle.setUI's back widget now uses stopEventPropagation t…
gfwilliams Mar 4, 2024
3c712dc
Jolt.js self test improvements
gfwilliams Mar 4, 2024
024e41a
update splash text
gfwilliams Mar 6, 2024
c423494
Renaming Jolt.js V to H to allow us to remove virtual pin code
gfwilliams Mar 6, 2024
26ebaa9
Oops
gfwilliams Mar 6, 2024
123354e
refactoring to put more pin info in JOLTJS.py
gfwilliams Mar 7, 2024
49b165e
Set default step rate to 100 steps/sec - so it 'just works' on the 28…
gfwilliams Mar 7, 2024
f322090
Add NO_BLOCKLY pinfunction, to allow us to hide pins from blockly to …
gfwilliams Mar 8, 2024
39f7f1a
docs tweak
gfwilliams Mar 13, 2024
9265e91
small jolt.js tweaks
gfwilliams Mar 13, 2024
3204772
font converter defaults to generate big PBF
gfwilliams Mar 13, 2024
af15bdc
Throw error if there's an attempt to use Tagged Templates (fix #3214)
gfwilliams Mar 13, 2024
2a23c86
fix last commit message
gfwilliams Mar 13, 2024
962560d
For built-in symbols, pack string offset inside function pointer, sav…
gfwilliams Mar 14, 2024
3138205
Minor tweaks to remove a few compile warnings
gfwilliams Mar 14, 2024
29a2432
fix accidental build issues
gfwilliams Mar 14, 2024
3627000
fontconverter refactoring to start to let us output different glyph r…
gfwilliams Mar 14, 2024
0a06fbe
Moved font converter code over to https://github.com/espruino/Espruin…
gfwilliams Mar 15, 2024
e5e9e1b
More changes to font converter after upstream lib changed
gfwilliams Mar 15, 2024
53d8072
Graphics: font metrics for PBF now account for scale, setFontPBF take…
gfwilliams Mar 15, 2024
0115583
Jolt.js board view
gfwilliams Mar 15, 2024
805c317
Ensure require("Storage").writeJSON("test.json", new Date()) writes `…
gfwilliams Mar 18, 2024
55fbab3
Disable VDDH check for nRF52833/40 boards unless explicitly enabled
gfwilliams Mar 19, 2024
378b34d
Deprecate currency information in `locale`
atjn Mar 20, 2024
e5fbdaa
Revert changes to `currencySym`
atjn Mar 20, 2024
fbef914
locale: fix trailing space on date < 10
thyttan Mar 21, 2024
027f0dc
some small cleaning and fixing
MaBecker Mar 21, 2024
bf9df3c
Merge pull request #2477 from thyttan/locale-trim-date
gfwilliams Mar 22, 2024
d5ee097
Disable VDDH check for nRF52833/40 boards unless explicitly enabled
gfwilliams Mar 19, 2024
ca4a4b3
Puck.js/Jolt.js: ensure self-test keeps re-running at boot unless it …
gfwilliams Mar 19, 2024
34c8cb2
Bangle.js: Locale currency deprecated, 'number' updated to BangleApps…
gfwilliams Mar 22, 2024
550f7f8
Puck.js/Jolt.js: ensure self-test keeps re-running at boot unless it …
gfwilliams Mar 19, 2024
03a0c06
Merge branch 'master' into atjn-deprecate-currency
gfwilliams Mar 22, 2024
62546cc
Merge branch 'atjn-deprecate-currency'
gfwilliams Mar 22, 2024
40a0a76
Update jswrap_esp32_network.c
MaBecker Mar 22, 2024
15e4294
Update jswrap_esp32_network.c
MaBecker Mar 22, 2024
369aa0f
Update jswrap_esp32_network.c
MaBecker Mar 25, 2024
a79e995
fix typo - https://github.com/espruino/EspruinoTools/issues/175#issue…
gfwilliams Mar 25, 2024
5f9a488
Bangle.js: 6x15 font tweaks for ISO8859-1
gfwilliams Mar 25, 2024
aabbcd1
Bangle.js2: Fix 'UNFINISHED STRING' error if non-UTF8 char within UTF…
gfwilliams Mar 25, 2024
2569b6e
tweak some 6x15 chars
gfwilliams Mar 25, 2024
f53d45d
Updated default storage
gfwilliams Mar 25, 2024
232d826
fix duplicate "Writing initial storage contents" line
gfwilliams Mar 25, 2024
a47d2b0
Update jswrap_esp32_network.c
MaBecker Mar 26, 2024
bbd32bc
Bangle.js2: Add Bangle.setOptions({lcdDoubleRefresh:true}) to pulse E…
gfwilliams Mar 28, 2024
aad1815
Build emulators in workflow
atjn Mar 25, 2024
85fcf58
Allow disabling jobs in workflow dispatch
atjn Mar 31, 2024
5e5e9f7
Graphics: Fix wrapString when attempting to wrap text containing an i…
gfwilliams Apr 2, 2024
cdb3024
add commented out char swapping code which might be handy for https:/…
gfwilliams Apr 2, 2024
1d8ef82
Merge pull request #2479 from atjn/build_emu
gfwilliams Apr 2, 2024
9d56ead
Add String.replaceAll to allow all occurrances of a string to be repl…
gfwilliams Apr 3, 2024
d871ff5
setUI docs
gfwilliams Apr 3, 2024
e8d32ac
remove warnings for jswrap_string_removeAccents
gfwilliams Apr 3, 2024
478572b
Jolt.js board doc improvements
gfwilliams Apr 3, 2024
9b70f4c
minor docs tweak
gfwilliams Apr 3, 2024
0158f03
Jolt.js: Jolt.Q0/1/2/3 now available as global vars (Q0/1/2/3)
gfwilliams Apr 3, 2024
0325da0
fix code documentation
gfwilliams Apr 3, 2024
b251d83
Storage.readJSON will now read numeric field names like "{1:1}" which…
gfwilliams Apr 15, 2024
0fc1f3c
Ensure `Bangle.load(".bootcde")` just calls `load()` if no uiRemove -…
gfwilliams Apr 15, 2024
0918806
Forward errors encountered while loading modules back into Espruino (…
gfwilliams Apr 17, 2024
176a23c
Slight refactoring to avoid the slowish jswIsBuiltInObject check bein…
gfwilliams Apr 17, 2024
0f21d49
JIT: Fix issue where the 'jit' keyword got included in compiled code
gfwilliams Apr 17, 2024
0ad3df1
comments
gfwilliams Apr 17, 2024
06ff36e
JIT: Store type in 'vars' list so we're not having to jsvSkipName if …
gfwilliams Apr 17, 2024
33089c0
JIT: Fix passing function parameters to object constructors (also arr…
gfwilliams Apr 17, 2024
79a91cb
Merge pull request #2474 from brendena/C_ONLY_FLAG
gfwilliams Apr 17, 2024
84499c2
fix typo
MaBecker Apr 18, 2024
f5d171f
fix msg return
MaBecker Apr 18, 2024
d55c571
remove unused JSVar
MaBecker Apr 18, 2024
e927673
fix unbalanced brackets
MaBecker Apr 18, 2024
0c25246
Merge pull request #2478 from espruino/esp32_cleanup_jswarn
gfwilliams Apr 18, 2024
fefa704
Change 'hidden root' timers/watches callback->cb and interval->intr t…
gfwilliams Apr 18, 2024
c9888be
Bump actions/upload-artifact from 4.3.1 to 4.3.2
dependabot[bot] Apr 22, 2024
88206d8
Merge pull request #2491 from espruino/dependabot/github_actions/acti…
gfwilliams Apr 22, 2024
2cb282a
Jolt.js: Add an 'auto' motor driver mode, and make it the default
gfwilliams Apr 22, 2024
12632a5
update tests as per https://github.com/espruino/Espruino/pull/2454#is…
gfwilliams Apr 23, 2024
d30b55e
add tests for failing issues with promises
gfwilliams Apr 23, 2024
f1fe262
digitalWrite: ensure `digitalWrite(pins, true)` sets *all* pins to `t…
gfwilliams Apr 23, 2024
401a137
Promises: rewrite of promise handling (fixes #2450,#2454,#2227)
gfwilliams Apr 23, 2024
1fc85e3
NRF.updateServices() needs fixing (fix2292)
MaBecker Apr 23, 2024
3076d51
Merge pull request #2494 from MaBecker/master
gfwilliams Apr 23, 2024
621dbc8
ESP32: Fix setServices with 128bit UUIDs, fix NRF.setServices' onWrit…
gfwilliams Apr 23, 2024
86388c8
Revert "Promises: rewrite of promise handling (fixes #2450,#2454,#2227)"
gfwilliams Apr 23, 2024
d361bd4
better puck docs
gfwilliams Apr 23, 2024
fa73e31
Add E.getPowerUsage() to get estimated power usage of a device based …
gfwilliams Apr 24, 2024
c297d6e
misc power usage reporting tweaks
gfwilliams Apr 24, 2024
92215ed
changelog
gfwilliams Apr 24, 2024
8d40170
promise rework #2454
d3nd3 Apr 24, 2024
6fef922
minor refactoring to try and reduce code size (saves ~150 bytes)
gfwilliams Apr 25, 2024
444a65d
more removal of code duplication
gfwilliams Apr 25, 2024
2d09403
Use shorter Puck.selfTest messages to save a bit of flash storage space
gfwilliams Apr 25, 2024
5be8869
re-bracket time calculations to avoid a runtime divide
gfwilliams Apr 25, 2024
a8a7bcb
Tweak promise internal var names to make them smaller - less flash, a…
gfwilliams Apr 25, 2024
c2312c3
ignore tests in /manual/
gfwilliams Apr 25, 2024
c60e556
typescript: allow Promise.resolve() [no args]
bobrippling Apr 25, 2024
bc4750d
tweak bangle power usage stats
gfwilliams Apr 25, 2024
ac6658b
check scanning state
gfwilliams Apr 25, 2024
3d0a317
Merge pull request #2496 from bobrippling/typescript/promise-resolve
gfwilliams Apr 25, 2024
8bf1265
typescript: disable generation typings for globalThis
bobrippling Apr 25, 2024
c0f2a64
Merge pull request #2497 from bobrippling/typescript/globalThis
gfwilliams Apr 26, 2024
973d26a
Add #ifdef'd changes for IDF5
gfwilliams Apr 26, 2024
054f566
use ESP_IDF_VERSION_MAJOR for ESP32
gfwilliams Apr 26, 2024
01467c2
more adjustments for IDF 4.4.7
gfwilliams Apr 26, 2024
e882c7d
Bump actions/upload-artifact from 4.3.2 to 4.3.3
dependabot[bot] Apr 29, 2024
a1bf991
Merge pull request #2498 from espruino/dependabot/github_actions/acti…
gfwilliams Apr 29, 2024
4aa5d8d
build docs
gfwilliams Apr 29, 2024
80cb435
remove broken and unused function
gfwilliams Apr 29, 2024
86099d4
Bangle.js2: Bangle.showTestScreen now shows firmware and battery
gfwilliams Apr 29, 2024
4767243
check reported voltage range
gfwilliams Apr 29, 2024
8451919
Fix changelog lines in wrong places
gfwilliams Apr 29, 2024
6faf39c
Bangle.js1: After updating compiler, we need to add NOPs into display…
gfwilliams Apr 29, 2024
5a8f590
Graphics: Fix g.setFontPBF(font) if no second argument for scale is p…
gfwilliams May 1, 2024
e20d333
Add support for static+nonstatic fields in Classes
gfwilliams May 2, 2024
ba0ed4c
minor ESP32 tweaks
gfwilliams May 3, 2024
4529cf6
Add some preliminary IDF4 support
gfwilliams May 3, 2024
2a82e5f
add some sdk17 patches that hadn't been pushed before
gfwilliams May 3, 2024
b8e2ea5
fix depends for ESP32 IDF4
gfwilliams May 7, 2024
046d8b9
tweaks to get further towards esp-idf4 build - still too much flash u…
gfwilliams May 7, 2024
75e237a
ESP32 actually building for IDF4 now
gfwilliams May 7, 2024
fbb26d1
some preliminary ifdefs for the c3
gfwilliams May 7, 2024
46411e7
fix typos
gfwilliams May 7, 2024
e62fab6
Graphics: fix endianness of palette when used with `g.asImage`
gfwilliams May 8, 2024
3e56d1e
Fix issue using String.replace on flash-based (read only) strings
gfwilliams May 8, 2024
d17af50
Build tweak for MaBe
gfwilliams May 8, 2024
5d92749
Ensure 50ppm clock accuracy actually applies to Bangle.js 2 (on newer…
gfwilliams May 8, 2024
65b4497
ESP32 IDF4 set partitions - currently runs and executes code but seem…
gfwilliams May 9, 2024
fc43e3a
increase ESP32 IDF4 watchdog timeouts, remove un-needed extras for now
gfwilliams May 9, 2024
3b71c37
ESP32 IDF4 - make UART tick wait count time rather than tick based
gfwilliams May 9, 2024
b86ab41
Remove debugger from emulator
gfwilliams May 9, 2024
57222f0
More ESP32C3 ifdefs - C3 now builds but crashes as soon as it starts
gfwilliams May 9, 2024
df4078f
fix original ESP32 build
gfwilliams May 9, 2024
ac4cb54
Bangle.js2: Stop Bangle.setLCDBrightness turning the LCD backlight on
gfwilliams May 10, 2024
e390e5c
Graphics.drawImages: add 'compose' and 'palette' operators to allow o…
gfwilliams May 10, 2024
4c95444
remove patch apply failure files
gfwilliams May 10, 2024
3eab44f
Bangle.js2: Bangle.setOptions({lowResistanceFix:1}) now provides a wo…
gfwilliams May 13, 2024
3b965bc
fix for emulator build
gfwilliams May 13, 2024
11d3a11
C3 firmware building and running - only outputs data when 'enter' pre…
gfwilliams May 15, 2024
55c06ef
fix esp32 build regression
gfwilliams May 15, 2024
a1de928
Fix ESP32 build errors with debug enabled
gfwilliams May 15, 2024
f30d393
Fix ESP32C3 setWatch
gfwilliams May 15, 2024
d82f826
attempt to fix all the broken jsDebug messages
gfwilliams May 15, 2024
4dec841
fix int-float-int passing on RISCV (ESP32C3)
gfwilliams May 15, 2024
04a74c8
Bangle.js: Remove calls to require('locale').translate in menus as it…
gfwilliams May 15, 2024
85ddf2c
ESP32 fix hard-coded ADC pins, get them from pinInfo (py file)
gfwilliams May 15, 2024
e498316
fix assert fail in wrapString introduced in 3e56d1e12bbfaada7edaa3171…
gfwilliams May 15, 2024
b3c6f55
update test after asImage palette fix
gfwilliams May 15, 2024
89bc10d
Espruino: fix potential MEMORY_BUSY caused by Date requesting an inte…
gfwilliams May 15, 2024
4619af6
jsvSkipName speed improvements by avoiding repeated masking of flags
gfwilliams May 15, 2024
e9e924a
No longer call jsvKill/Init when resetting, but just jsvReset (this a…
gfwilliams May 15, 2024
68bcd27
hard-code default Linux ports for ESP32C3 flashing - doesn't seem to …
gfwilliams May 15, 2024
f0fee9d
pinfunction comments
gfwilliams May 15, 2024
e3e68c7
Support for ESP32C3 IDF4 neopixels
gfwilliams May 16, 2024
1c94d85
Bangle.js2: Bangle.setLCDOverlay can now take an object with {id:str,…
gfwilliams May 17, 2024
af37b8f
docs improvement
gfwilliams May 17, 2024
bb96714
Update setLCDOverlay as per https://github.com/espruino/BangleApps/is…
gfwilliams May 20, 2024
b5840bc
Now print bluetooth connection timeout reason in error
gfwilliams May 20, 2024
941f844
update docs
gfwilliams May 20, 2024
e8ab0a4
Add a quick hack to fix lack of ESP32C3 USB UART output if there's no…
gfwilliams May 20, 2024
1f78e3d
ESP32C3 tls support. Builds and runs, can request small HTTPS pages
gfwilliams May 20, 2024
43f806d
Bangle.js1: Fix issue where going out of and back into a menu would c…
gfwilliams May 21, 2024
310a8ff
Bangle.js2: Added Graphics.filter (to allow gaussian/etc filters to b…
gfwilliams May 21, 2024
246a3c7
2v22 release
gfwilliams May 21, 2024
edc64ce
fix issue with new provision script overwriting $DIR
gfwilliams May 21, 2024
a0c87c7
add release iskrajs_2v22
nomad605dis Jun 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
34 changes: 17 additions & 17 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
# Auto detect text files and perform LF normalization
* text=lf
# Custom for Visual Studio
*.cs diff=csharp
# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
# Auto detect text files and perform LF normalization
* text=auto eol=lf

# Custom for Visual Studio
*.cs diff=csharp

# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
97 changes: 91 additions & 6 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,39 @@ name: Firmware build

on:
push:
branches: [ master ]
branches: [ '*' ]
pull_request:
branches: [ master ]
branches: [ '*' ]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
inputs:
enable_main:
description: Build default boards (linux, ESP, Microbit)
type: boolean
default: true
enable_dfu:
description: Build boards with DFU (puckjs, pixljs, banglejs)
type: boolean
default: true
enable_padded:
description: Build boards with bootloader padding (espruinoboard, -wifi, pico)
type: boolean
default: true
enable_emulator:
description: Build emulator for banglejs
type: boolean
default: true


permissions:
contents: read

jobs:

# normal builds
build_main:
if: ${{ github.event_name != 'workflow_dispatch' || inputs.enable_main }}
runs-on: ubuntu-20.04
strategy:
# devices to build for
Expand All @@ -18,7 +43,7 @@ jobs:
# try and build for all devices even if one fails
fail-fast: false
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: make ${{ matrix.board }}
Expand All @@ -31,18 +56,29 @@ jobs:
source ./scripts/provision.sh ${{ matrix.board }}
make
./scripts/ci_upload.sh
- name: Upload ${{ matrix.board }} build artifact
uses: actions/[email protected]
with:
name: ${{ matrix.board }}
path: |
bin/*.bin
bin/*.hex
bin/*.tgz
bin/*.zip


# Builds with DFU_UPDATE_BUILD=1
build_dfu:
if: ${{ github.event_name != 'workflow_dispatch' || inputs.enable_dfu }}
runs-on: ubuntu-20.04
strategy:
# devices to build for
matrix:
board: [PUCKJS, PIXLJS, MDBT42Q, BANGLEJS, BANGLEJS2]
board: [PUCKJS, PIXLJS, MDBT42Q, BANGLEJS, BANGLEJS2, PUCKJS_MINIMAL]
# try and build for all devices even if one fails
fail-fast: false
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: make ${{ matrix.board }}
Expand All @@ -56,9 +92,19 @@ jobs:
source ./scripts/provision.sh ${{ matrix.board }}
make
./scripts/ci_upload.sh
- name: Upload ${{ matrix.board }} build artifact
uses: actions/[email protected]
with:
name: ${{ matrix.board }}
path: |
bin/*.bin
bin/*.hex
bin/*.tgz
bin/*.zip

# Builds with PAD_FOR_BOOTLOADER=1
build_padded:
if: ${{ github.event_name != 'workflow_dispatch' || inputs.enable_padded }}
runs-on: ubuntu-20.04
strategy:
# devices to build for
Expand All @@ -67,7 +113,7 @@ jobs:
# try and build for all devices even if one fails
fail-fast: false
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: make ${{ matrix.board }}
Expand All @@ -81,7 +127,46 @@ jobs:
source ./scripts/provision.sh ${{ matrix.board }}
make
./scripts/ci_upload.sh
- name: Upload ${{ matrix.board }} build artifact
uses: actions/[email protected]
with:
name: ${{ matrix.board }}
path: |
bin/*.bin
bin/*.hex
bin/*.tgz
bin/*.zip

# emulator builds
build_emulator:
if: ${{ github.event_name != 'workflow_dispatch' || inputs.enable_emulator }}
runs-on: ubuntu-20.04
strategy:
# devices to build for
matrix: # banglejs, banglejs2
board: [EMSCRIPTEN, EMSCRIPTEN2]
# try and build for all devices even if one fails
fail-fast: false
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: make ${{ matrix.board }}
env:
TRAVIS: 1
RELEASE: 1
BOARD: ${{ matrix.board }}
UPLOADTOKEN: ${{ secrets.UPLOADTOKEN }}
run: |
source ./scripts/provision.sh ${{ matrix.board }}
make
./scripts/ci_upload.sh
- name: Upload ${{ matrix.board }} build artifact
uses: actions/[email protected]
with:
name: ${{ matrix.board }}
path: |
bin/*.js

# Disable doc building for now
# docs:
Expand Down
72 changes: 72 additions & 0 deletions .github/workflows/testFactoryApps.disabled
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Test Factory Apps

on:
push:
branches: [ '*' ]
pull_request:
branches: [ '*' ]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
inputs:
git-ref:
description: Git Ref (Optional)
required: false

permissions:
contents: read

jobs:
# This workflow contains a single job called "build"
tests:
runs-on: ubuntu-latest
steps:
- name: Checkout Espruino
uses: actions/checkout@v3
with:
submodules: recursive
path: 'Espruino'
ref: ${{ github.event.inputs.git-ref }}

- name: Checkout EspruinoWebIDE
uses: actions/checkout@v3
with:
repository: espruino/EspruinoWebIDE
submodules: recursive
path: 'EspruinoWebIDE'

- name: Setup emsdk
uses: mymindstorm/setup-emsdk@v11
with:
# Make sure to set a version number!
version: 3.1.12
# This is the name of the cache folder.
# The cache folder will be placed in the build directory,
# so make sure it doesn't conflict with anything!
actions-cache-folder: 'emsdk'

- name: Use Node.js
uses: actions/setup-node@v3

- name: Create Emulator
run: |
cd $GITHUB_WORKSPACE/Espruino
make clean
BOARD=EMSCRIPTEN make || exit 1
make clean
BOARD=EMSCRIPTEN2 make || exit 1
cp $GITHUB_WORKSPACE/Espruino/bin/emulator_banglejs*.js $GITHUB_WORKSPACE/EspruinoWebIDE/emu/ -v

- name: Run Tests Bangle.js
run: node $GITHUB_WORKSPACE/Espruino/scripts/factoryTests.js BANGLEJS
id: TestBangle1
continue-on-error: true

- name: Run Tests Bangle.js2
run: node $GITHUB_WORKSPACE/Espruino/scripts/factoryTests.js BANGLEJS2
id: TestBangle2
continue-on-error: true

- name: Fail test
if: (steps.TestBangle1.outcome != 'skipped' && steps.TestBangle1.outcome != 'success') || (steps.TestBangle2.outcome != 'skipped' && steps.TestBangle2.outcome != 'success')
run: exit 1
21 changes: 18 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,10 @@
*.bin
*.uf2
*.pyc
/*.bin.unpadded
/*.zip
/gen/*
/bin/*
/bin_*/*
/obj/*
/.vagrant/*
/boards/*.html
/boards/*.json
Expand All @@ -38,9 +39,11 @@ node_modules
/esp-idf
xtensa-esp32-elf
gcc-arm-none-eabi*
arm-gnu-toolchain*
*.c#
/function_keywords.js
/functions.html
/targetlibs/emscripten/emsdk
/targetlibs/nrf5x_11
/targetlibs/nrf5x_12/examples
/targetlibs/nrf5x_12/documentation/
Expand All @@ -54,7 +57,17 @@ gcc-arm-none-eabi*
/targetlibs/nrf5x_15/modules
/targetlibs/nrf5x_15/config
/targetlibs/nrf5x_15/license.txt
/targetlibs/nrf5x_15_*
/targetlibs/nrf5x_15_3/components
/targetlibs/nrf5x_15_3/example_config
/targetlibs/nrf5x_15_3/examples
/targetlibs/nrf5x_15_3/external
/targetlibs/nrf5x_15_3/external_tools
/targetlibs/nrf5x_15_3/integration
/targetlibs/nrf5x_15_3/modules
/targetlibs/nrf5x_15_3/config
/targetlibs/nrf5x_15_3/documentation
/targetlibs/nrf5x_15_3/license.txt
/targetlibs/nrf5x_15_3/nRF5x_*
/targetlibs/nrf5x_15x
/targetlibs/nrf5x_mesh
/targetlibs/nrf5x_17/components
Expand All @@ -65,6 +78,7 @@ gcc-arm-none-eabi*
/targetlibs/nrf5x_17/config
/targetlibs/nrf5x_17/documentation
/targetlibs/raspberrypi
/js
/.vscode
/CURRENT_BOARD.make
/topreadonly
Expand All @@ -73,3 +87,4 @@ gcc-arm-none-eabi*
*.user
*.jdebug
*.code-workspace
/espruino_embedded.*
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Improvements to Documentation are amazingly helpful, and are very rare so hugely

### Functions/Variables

If you want to change something in a [built-in function's documentation](http://www.espruino.com/Reference), look at the heading for the function on that page and there will be a right-arrow (⇒).
If you want to change something in a [built-in function's documentation](http://www.espruino.com/Reference), look at the heading for the function on that page and there will be a right-arrow (⇒).

If you click on that it will bring you to the area of Espruino's source code where the function *and the documentation for it* are stored. You can then edit the documentation in that file (above the function) on GitHub and issue a pull request - it's in Markdown format.

Expand Down Expand Up @@ -56,7 +56,7 @@ Please [see here](http://www.espruino.com/Writing+Modules)
* Ensure that you are not contributing someone else's code, and that you are willing to add your code under Espruino's MPL Licence
* Make sure that what you do doesn't break the Espruino board or the other boards we build for. We can't check all the boards for every commit, so if you break something you'll annoy a whole bunch of people.
* Be aware that Espruino is designed for Microcontrollers - with very low amounts of flash and memory. Both are at a premium so don't statically allocate variables or do other stuff that will use up RAM.
* Don't add a whole bunch of indirection/abstraction for the sake of it - it'll probably just use of more of our precious memory.
* Don't add a whole bunch of indirection/abstraction for the sake of it - it'll probably just use more of our precious memory.
* If you add a new API, try and make it familiar to Arduino/JavaScript users.
* Please [RUN THE TESTS](tests/README.md) before and after your changes to check that there are no regressions
* Finally, please issue us a pull request to [www.github.com/espruino](https://www.github.com/espruino/Espruino) via GitHub. It's way easier for us to incorporate, give credit, and track changes that way.
Expand Down
Loading
Loading