The Pico W now serves a basic HTML page.

This has not been so simple. The only way I could find to make picoserve
and embassy compatible was to get a local copy of picoserve and change
its embassy dependencies to use git as their source. Otherwise there are
conflicts about embassy-timer-driver versions. Using picoserve also
required changing my Rust "channel" to "nightly". A bunch of stuff I
am not keen on, but necessary to progress rather than get bogged down in
build system meta.

Meanwhile also I've changed this to use a static IP at 192.168.3.14 for
now. For currently unknownr reasons the loop waiting for the DHCP lease
to work isn't exiting. I have rebooted the DHCP server and that didn't
help and given the WiFi on the Pico W is working I don't really know
whats up.
This commit is contained in:
Yvan 2025-03-14 17:42:07 +00:00
parent f5ce5e7958
commit bd9389cfd5
7 changed files with 1039 additions and 323 deletions

View file

@ -7,6 +7,8 @@ version = "0.1.0"
license = "MIT OR Apache-2.0"
[dependencies]
# web server
picoserve = { version = "0.15.0", path = "../picoserve/picoserve/", features = ["embassy"] }
embassy-embedded-hal = { version = "0.3.0", git = "https://github.com/embassy-rs/embassy.git", features = ["defmt"] }
embassy-sync = { version = "0.6.2", git = "https://github.com/embassy-rs/embassy.git", features = ["defmt"] }
embassy-executor = { version = "0.7.0", git = "https://github.com/embassy-rs/embassy.git", features = ["task-arena-size-98304", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
@ -25,13 +27,14 @@ defmt-rtt = "0.4"
fixed = "1.23.1"
fixed-macro = "1.2"
# for web request example
#reqwless = { version = "0.13.0", features = ["defmt"] }
#serde = { version = "1.0.203", default-features = false, features = ["derive"] }
#serde-json-core = "0.5.1"
# for assign resources example
#assign-resources = { git = "https://github.com/adamgreig/assign-resources", rev = "94ad10e2729afdf0fd5a77cd12e68409a982f58a" }
#assign-resources = { rev = "94ad10e2729afdf0fd5a77cd12e68409a982f58a" }
#cortex-m = { version = "0.7.6", features = ["critical-section-single-core"] }
cortex-m = { version = "0.7.6", features = ["inline-asm"] }