You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge pull request #1661 from pguyot/w03/add-support-for-pico2_w
Add support for Pico 2 W
These changes are made under both the "Apache 2.0" and the "GNU Lesser General
Public License 2.1 or later" license terms (dual license).
SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later
Copy file name to clipboardExpand all lines: doc/src/build-instructions.md
+28-3Lines changed: 28 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -831,7 +831,7 @@ After your application has been tested (_and debugged_) and is ready to put into
831
831
832
832
## Building for Raspberry Pi RP2
833
833
834
-
You can build with all boards supported by Raspberry Pi pico SDK, including Pico, Pico-W and Pico2. AtomVM also works with clones such as RP2040 Zero.
834
+
You can build with all boards supported by Raspberry Pi pico SDK, including Pico, Pico W, Pico2 and Pico 2 W. AtomVM also works with clones such as RP2040 Zero.
835
835
836
836
### RP2 Prerequisites
837
837
@@ -855,7 +855,7 @@ $ ninja
855
855
You may want to build with option `AVM_REBOOT_ON_NOT_OK` so AtomVM restarts on error.
856
856
```
857
857
858
-
### AtomVM build steps (Pico-W)
858
+
### AtomVM build steps (PicoW)
859
859
860
860
```shell
861
861
$ cd src/platforms/rp2/
@@ -869,7 +869,7 @@ $ ninja
869
869
You may want to build with option `AVM_REBOOT_ON_NOT_OK` so AtomVM restarts on error.
870
870
```
871
871
872
-
### AtomVM build steps (Pico2 or boards based on RP2350)
872
+
### AtomVM build steps (Pico 2 or boards based on RP2350)
873
873
874
874
For ARM S platform (recommended) :
875
875
```shell
@@ -894,6 +894,31 @@ $ ninja
894
894
You may want to build with option `AVM_REBOOT_ON_NOT_OK` so AtomVM restarts on error.
You may want to build with option `AVM_REBOOT_ON_NOT_OK` so AtomVM restarts on error.
920
+
```
921
+
897
922
The default build configuration allows the device to be re-flashed with the `atomvm_rebar3_plugin``atomvm pico_flash` task or restarting the application after exiting using [`picotool`](https://github.com/raspberrypi/picotool). This behaviour can be changed to hang the CPU when the application exits, so that power must be cycled to restart, and `BOOTSEL` must be held when power on to flash a new application. To disable software resets use `-DAVM_WAIT_BOOTSEL_ON_EXIT=off` when configuring `cmake`.
898
923
899
924
The 20 second default timeout for a USB serial connection can be changed using option `AVM_USB_WAIT_SECONDS`. The device can also be configured to wait indefinitely for a serial connection using the option `AVM_WAIT_FOR_USB_CONNECT=on`.
Copy file name to clipboardExpand all lines: doc/src/getting-started-guide.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -259,7 +259,7 @@ For information about how to flash your application to your STM32, see the [Atom
259
259
260
260
## Getting Started on the Raspberry Pi RP2
261
261
262
-
AtomVM supports deployment of the VM and applications onto boards based on Raspberry Pi RP2 socs, including RP2040 and RP2350. This includes [Raspberry Pi Pico and Pico-W](https://www.raspberrypi.com/products/raspberry-pi-pico/), as well as [Raspberry Pi Pico 2](https://www.raspberrypi.com/products/raspberry-pi-pico-2/) boards. For information about supported boards, please refer to the AtomVM [Release Notes](./release-notes.md).
262
+
AtomVM supports deployment of the VM and applications onto boards based on Raspberry Pi RP2 socs, including RP2040 and RP2350. This includes [Raspberry Pi Pico and PicoW](https://www.raspberrypi.com/products/raspberry-pi-pico/), as well as [Raspberry Pi Pico 2 and Pico 2 W](https://www.raspberrypi.com/products/raspberry-pi-pico-2/) boards. For information about supported boards, please refer to the AtomVM [Release Notes](./release-notes.md).
263
263
264
264
The following instructions show you how to install the AtomVM onto one of the [Raspberry Pi Pico](https://www.raspberrypi.com/products/raspberry-pi-pico/) boards.
Copy file name to clipboardExpand all lines: doc/src/network-programming-guide.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,9 +6,9 @@
6
6
7
7
# Network Programming Guide
8
8
9
-
One of the exciting features of the ESP32 and the Pico-W is their support for WiFi networking, allowing ESP32 and Pico-W micro-controllers to communicate with the outside world over common IP networking protocols, such as TCP or IDP. The ESP32 and the Pico-W can be configured in station mode (STA), whereby the devices connect to an existing access point, as well as "softAP" mode (AP), whereby they function as an access point, to which other stations can connect. The ESP32 also supports a combined STA+softAP mode, which allows the device to function in both STA and softAP mode simultaneously.
9
+
One of the exciting features of the ESP32 and the Pico W/Pico 2 W is their support for WiFi networking, allowing ESP32 and Pico W/Pico 2 W micro-controllers to communicate with the outside world over common IP networking protocols, such as TCP or IDP. The ESP32 and the Pico W/Pico 2 W can be configured in station mode (STA), whereby the devices connect to an existing access point, as well as "softAP" mode (AP), whereby they function as an access point, to which other stations can connect. The ESP32 also supports a combined STA+softAP mode, which allows the device to function in both STA and softAP mode simultaneously.
10
10
11
-
AtomVM provides an Erlang API interface for interacting with the WiFi networking layer on ESP32 and Pico-W devices, providing support for configuring your ESP32 or Pico-W device in STA mode, AP mode, or a combined STA+AP mode, allowing Erlang/Elixir applications to send and receive data from other devices on a network. This interface is encapsulated in the [`network` module](./apidocs/erlang/eavmlib/network.md), which implements a simple interface for connecting to existing WiFi networks or for functioning as a WiFi access point. The same `network` module is used for both the ESP32 and the Pico-W.
11
+
AtomVM provides an Erlang API interface for interacting with the WiFi networking layer on ESP32 and Pico W/Pico 2 W devices, providing support for configuring your ESP32 or Pico W/Pico 2 W device in STA mode, AP mode, or a combined STA+AP mode, allowing Erlang/Elixir applications to send and receive data from other devices on a network. This interface is encapsulated in the [`network` module](./apidocs/erlang/eavmlib/network.md), which implements a simple interface for connecting to existing WiFi networks or for functioning as a WiFi access point. The same `network` module is used for both the ESP32 and the Pico W/Pico 2 W.
12
12
13
13
Once the network has been set up (in STA or AP mode), AtomVM can use various socket interfaces to interact with the socket layer to create a client or server application. For example, on ESP32, AtomVM supports the [`gen_udp`](./apidocs/erlang/estdlib/gen_udp.md) and [`gen_tcp`](./apidocs/erlang/estdlib/gen_tcp.md) APIs, while AtomVM extensions may support HTTP, MQTT, and other protocols built over low-level networking interfaces.
14
14
@@ -18,7 +18,7 @@ This document describes the basic design of the AtomVM network interfaces, and h
18
18
19
19
## Station (STA) mode
20
20
21
-
In STA mode, the ESP32 or the Pico-W connect to an existing WiFi network.
21
+
In STA mode, the ESP32 or the Pico W/Pico 2 W connect to an existing WiFi network.
22
22
23
23
In this case, the input configuration should be a properties list containing a tuple of the form `{sta, <sta-properties>}`, where `<sta-properties>` is a property list containing configuration properties for the device in station mode.
0 commit comments