deadprogram
e5caa99b9c
feature: ability to generate nrf firmware manifest for Open DFU format using nrf_open_dfu build tag. Intended to fix #4089
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2025-02-22 11:49:05 +01:00
deadprogram
17bb1fec44
feature: add buildmode=wasi-legacy to support existing base of users who expected the
...
older behavior for wasi modules to not return an exit code as if they were reactors.
See #4726 for some details on what this is intended to address.
Signed-off-by: deadprogram <ron@hybridgroup.com >
2025-02-21 13:06:14 +01:00
Ayke van Laethem
f4fd79f7be
runtime: manually initialize xorshift state
...
This ensures:
1. The xorshift state is initialized during interp.
2. The xorshift state gets initialized to a real random number on
hardware that supports it at runtime.
This fixes a big binary size regression from the previous commit. It's
still not perfect: most programs increase binary size by a few bytes.
But it's not nearly as bad as before.
2025-02-21 11:36:17 +01:00
Ayke van Laethem
811b13a9d3
interp: correctly mark functions as modifying memory
...
Previously, if a function couldn't be interpreted in the interp pass, it
would just be run at runtime and the parameters would be marked as
potentially being modified. However, this is incorrect: the function
itself can also modify memory. So the function itself also needs to be
marked (recursively).
This fixes a number of regressions while upgrading to Go 1.24.
This results in a significant size regression that is mostly worked
around in the next commit.
2025-02-21 11:36:17 +01:00
Ron Evans
6e97079367
target: add Pimoroni Pico Plus2 ( #4735 )
...
* machine: separate definitions for ADC pins on rp2350/rp2350b
Signed-off-by: deadprogram <ron@hybridgroup.com >
* targets: add support for Pimoroni Pico Plus2
Signed-off-by: deadprogram <ron@hybridgroup.com >
---------
Signed-off-by: deadprogram <ron@hybridgroup.com >
Co-authored-by: Patricio Whittingslow <graded.sp@gmail.com >
2025-02-21 09:56:52 +01:00
soypat
9c7bbce029
rp2350: add pll generalized solution; fix ADC handles; pwm period fix
2025-02-21 09:56:52 +01:00
soypat
0ec1cb1e19
machine/rp2350: extending support to include the rp2350b
2025-02-21 09:56:52 +01:00
Scott Feldman
e7118e5bda
add comboat_fw tag for elecrow W5 boards with Combo-AT Wifi firmware
2025-02-21 07:22:17 +01:00
Ron Evans
150d9d1c6b
fix: correctly handle id lookup for finalizeRef call
...
Modify the ID used for looking up the reference, based on suggestion made by @prochac
Also use console.error in the caase that the reference is not found, since it is now actually
known to be an error.
2025-02-20 22:17:38 +01:00
Laurent Demailly
8fe039156b
fix: Avoid total failure on wasm finalizer call
2025-02-20 22:17:38 +01:00
leongross
2d17dec7bf
os/file: add file.Chmod
...
Signed-off-by: leongross <leon.gross@9elements.com >
2025-02-19 22:12:51 +01:00
JP Hastings-Spital
c1b267a208
Ensure build output directory is created
...
`tinygo build -o /path/to/out .` expected `/path/to/out` to already exist, which is different behaviour to `go build`. This change ensures tinygo creates any directories needed to be able to build to the specified output dir.
2025-02-19 19:55:48 +01:00
deadprogram
f02c56c9e0
net: update to latest submodule with httptest subpackage and
...
ResolveIPAddress implementation.
Signed-off-by: deadprogram <ron@hybridgroup.com >
2025-02-17 13:16:56 +01:00
leongross
c5879c682c
fix: implement testing {Skip,Fail}Now
...
PR https://github.com/tinygo-org/tinygo/pull/4623 implements
runtime.GoExit() with which we can improve the testing package
and align it more to upstream testing behavour https://cs.opensource.google/go/go/+/refs/tags/go1.24.0:src/testing/testing.go;l=1150
Signed-off-by: leongross <leon.gross@9elements.com >
2025-02-15 21:30:22 +01:00
deadprogram
190c20825f
targets: turn on GC for TKey1 device, since it does in fact work
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2025-02-14 12:49:20 +01:00
deadprogram
d04eea7185
fix: add NoSandbox flag to chrome headless that is run during WASM tests, since
...
this is now required for Ubuntu 23+ and we are using Ubuntu 24+ when running
Github Actions.
See https://chromium.googlesource.com/chromium/src/+/main/docs/security/apparmor-userns-restrictions.md
Signed-off-by: deadprogram <ron@hybridgroup.com >
2025-02-12 17:13:56 +01:00
deadprogram
f24cd31895
build: update Linux builds to run on ubuntu-latest since 20.04 is being retired
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2025-02-12 17:13:56 +01:00
m00874241
2044f6fbcc
Added VersionTLS constants and VersionName(version uint16) method that turns it into a string, copied from big go
2025-01-30 07:30:57 +01:00
HattoriHanzo031
d55a89f96a
board: support for NRF51 HW-651 ( #4712 )
...
NRF51: Support for NRF51 HW-651 board
* smoketest
* removed redundant flash-method
* smoketest fix
* description and links
* link fix
2025-01-30 05:46:52 +01:00
Elias Naur
080a6648e9
targets: match Pico2 stack size to Pico
...
Took me a while to debug weird crashes after switching from Pico to
Pico2.
2025-01-26 17:04:04 +08:00
deadprogram
ec0a142190
build: update wasmtime used for CI to 29.0.1 to fix issue with install during CI tests
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2025-01-23 17:56:02 +08:00
Yurii Soldak
b7fcf6ad68
nrf: fix adc read near zero
2025-01-23 13:03:25 +08:00
milkpirate
7417c14c2d
nrf: make ADC resolution changeable ( #4701 )
...
Signed-off-by: Paul Schroeder <milkpirate@users.noreply.github.com >
2025-01-20 21:51:05 +01:00
vaaski
4f39be9c3b
targets: esp32c3-supermini ( #4518 )
2025-01-20 21:44:58 +01:00
Scott Feldman
7305a44f0c
targets: add support for Elecrow Pico rp2350 W5 boards ( #4706 )
...
https://www.elecrow.com/pico-w5-microcontroller-development-boards-rp2350-microcontroller-board.html
Just the basics to get several test to work (blinky1, flash).
This board has an rtl8720d Wifi/bluetooth chip wired to UART1, but the
rtl8720d firmware installed is the AT cmd set, not the RPC interface
used by the rtl8720dn driver, so no wifi support at the moment.
---------
Co-authored-by: Yurii Soldak <ysoldak@gmail.com >
2025-01-20 15:36:03 +01:00
Scott Feldman
74effd2fa9
targets: add support for Elecrow Pico rp2040 W5 boards ( #4705 )
...
https://www.elecrow.com/pico-w5-microcontroller-development-boards-rp2040-microcontroller-board-support-wifi-2-4ghz-5ghz-bluetooth5.html
Just the basics to get several test to work (blinky1, flash).
This board has an rtl8720d Wifi/bluetooth chip wired to UART1, but the
rtl8720d firmware installed is the AT cmd set, not the RPC interface
used by the rtl8720dn driver, so no wifi support at the moment.
2025-01-20 13:48:51 +01:00
Ayke van Laethem
9e9768b51d
all: add support for LLVM 19
2025-01-20 06:15:33 +01:00
Roman Grudzinski
127557d27e
Fix ADC channel selecting and ADC value reading
2025-01-17 09:18:30 +01:00
Roman Grudzinski
fd89e9b83a
Fix stm32f103 ADC ( #4702 )
...
fix: Fix stm32f103 ADC
2025-01-16 10:06:22 +01:00
Ayke van Laethem
5a1b885024
sync: move Mutex to internal/task
...
The mutex implementation needs a different implementation once support
for threading lands. This implementation just moves code to the
internal/task package to centralize these algorithms.
2025-01-14 11:11:15 +01:00
Volodymyr Pobochii
b15adf23f8
machine: add support for waveshare-rp2040-tiny ( #4683 )
2025-01-14 01:53:40 +01:00
Yurii Soldak
29d2719bad
example: naive debouncing for pininterrupt example ( #2233 )
2025-01-13 13:21:23 -03:00
deadprogram
194438cdd6
fix: correctly handle calls for GetRNG() when being made from nrf devices with SoftDevice enabled.
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2025-01-12 16:44:35 +01:00
Scott Feldman
217f677bbe
crypto/tls: add Dialer.DialContext() to fix websocket client
...
The latest golang.org/x/net websocket package v0.33.0 needs
Dialer.DailContext in crypto/tls. This PR adds it.
Apps using golang.org/x/net are encouraged to use v0.33.0 to address:
CVE-2024-45338: Non-linear parsing of case-insensitive content in golang.org/x/net/html
CVE-2023-45288: net/http, x/net/http2: close connections when receiving too many headers
Tested with examples/net/websocket/dial.
2025-01-06 12:24:28 +01:00
Elliott Sales de Andrade
16b0f4cc9a
builder: Fix parsing of external ld.lld error messages
...
If `ld.lld` is a version-specific binary (e.g., `ld.lld-18`), then its
error messages include the version. The parsing previously incorrectly
assumed it would be unversioned.
2025-01-05 13:44:56 +01:00
Elliott Sales de Andrade
ff15b474fd
Remove unnecessary executable permissions
...
These files are plain text and have no shebang.
2025-01-04 10:08:49 +01:00
sago35
3efc6340ad
main: update to use Get-CimInstance as wmic is being deprecated
2025-01-04 08:27:58 +01:00
sago35
0426a5f902
goenv: update to new v0.36.0 development version
2024-12-26 12:25:20 +01:00
soypat
b898916d52
rp2350 cleanup: unexport internal USB and clock package variable, consts and types
2024-12-26 10:49:48 +01:00
Ayke van Laethem
52983794d7
all: version 0.35.0
v0.35.0
2024-12-20 12:09:22 +01:00
Ayke van Laethem
9d2f52805b
builder: show files in size report table
...
Show which files cause a binary size increase. This makes it easier to
see where the size is going: for example, this makes it easy to see how
much the GC contributes to code size compared to other runtime parts.
2024-12-19 15:08:37 +01:00
Ayke van Laethem
b18213805a
builder: write HTML size report
...
This is not a big change over the existing size report with -size=full,
but it is a bit more readable.
More information will be added in subsequent commits.
2024-12-19 15:08:37 +01:00
Thomas Legris
eeba90fd5b
properly handle unix read on directory
2024-12-19 13:44:11 +01:00
deadprogram
6507765883
feature: make RNG implementation shared for rp2040/rp2350
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2024-12-19 12:54:25 +01:00
Ayke van Laethem
a98e35ebab
reflect: fix incorrect comment on elemType
...
PR that introduced this: https://github.com/tinygo-org/tinygo/pull/4543
2024-12-19 11:17:26 +01:00
deadprogram
c4cfc01ba3
targets: add support for Pimoroni Tiny2350 board
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2024-12-19 10:12:57 +01:00
deadprogram
f64e70e659
feature: make SPI implementation shared for rp2040/rp2350
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2024-12-19 08:01:36 +01:00
deadprogram
64fa7853a7
feature: make i2c implementation shared for rp2040/rp2350
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2024-12-18 21:16:07 +01:00
Patricio Whittingslow
37f35f8c91
Add RP2350 support ( #4459 )
...
machine/rp2350: add support
* add linker scripts for rp2350
* add bootloader
* begin melding rp2040 and rp2350 APIs
* add UART
* add rp2350 boot patching
* Fix RP2350 memory layout (#4626 )
* Remove rp2040-style second stage bootloader.
* Add 'minimum viable' IMAGE_DEF embedded block
* Create a pico2 specific target
* Implement rp2350 init, clock, and uart support
* Merge rp2 reset code back together
* Separate chip-specific clock definitions
* Clear pad isolation bit on rp2350
* Init UART in rp2350 runtime
* Correct usb/serial initialization order
* Implement jump-to-bootloader
* test: add pico2 to smoketests
---------
Signed-off-by: deadprogram <ron@hybridgroup.com >
Co-authored-by: Matthew Mets <matt.mets@cibomahto.com >
Co-authored-by: Matt Mets <matt@blinkinlabs.com >
Co-authored-by: deadprogram <ron@hybridgroup.com >
2024-12-18 19:36:30 +01:00
deadprogram
0d13e61d0c
fix: add build tags to ensure that tkey target has stubs for runtime/interrupt package
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2024-12-18 17:48:55 +01:00