Skip to content

Commit 0895cd7

Browse files
authored
release v0.2.0
1 parent e331d7f commit 0895cd7

File tree

8 files changed

+35
-39
lines changed

8 files changed

+35
-39
lines changed

.github/workflows/ci.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ on:
33
branches:
44
- main
55
pull_request:
6-
# schedule:
7-
# - cron: "13 3 * * *"
86

97
name: CI
108

CHANGELOG.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,12 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7-
## [Unreleased]
7+
## [0.2.0] - 2021-11-11
8+
### Added
9+
- Added two board support crates
10+
- `nucleo-wl55jc-bsp`
11+
- `lora-e5-bsp`
12+
813
### Changed
914
- Crate ownership changed from [tweedegolf] to [stm32-rs].
1015
- Thank you [tweedegolf] for the initial development effort!
@@ -15,6 +20,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1520

1621
[tweedegolf]: https://github.com/tweedegolf
1722
[stm32-rs]: https://github.com/stm32-rs
18-
19-
[Unreleased]: https://github.com/stm32-rs/stm32wlxx-hal
23+
[Unreleased]: https://github.com/stm32-rs/stm32wlxx-hal/compare/v0.2.0...HEAD
24+
[0.2.0]: https://github.com/stm32-rs/stm32wlxx-hal/releases/tag/v0.2.0
2025
[0.1.0]: https://github.com/tweedegolf/stm32wlxx-hal

README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
# stm32wlxx-hal
22

33
[![CI](https://github.com/stm32-rs/stm32wlxx-hal/workflows/CI/badge.svg)](https://github.com/stm32-rs/stm32wlxx-hal/actions?query=branch%3Amain)
4-
[![docs](https://img.shields.io/badge/docs-gh--pages-blue)](https://stm32-rs.github.io/stm32wlxx-hal/stm32wlxx_hal/index.html)
4+
[![stable-docs](https://img.shields.io/badge/docs-stable-blue)](https://docs.rs/stm32wlxx-hal/)
5+
[![nightly-docs](https://img.shields.io/badge/docs-nightly-blue)](https://stm32-rs.github.io/stm32wlxx-hal/stm32wlxx_hal/index.html)
6+
[![crates.io](https://img.shields.io/crates/v/stm32wlxx-hal.svg)](https://crates.io/crates/stm32wlxx-hal)
7+
![license](https://img.shields.io/crates/l/stm32wlxx-hal?color=green)
58

69
Embedded rust HAL (hardware abstraction layer) for the STM32WL series.
710

8-
⚠️ This is a **work in progress** ⚠️
9-
10-
The code that exists today covers basic usage of:
11+
This is still in development, the code that exists today covers basic usage of:
1112

1213
* SubGHz LoRa TX + RX
1314
* SubGHz (G)FSK TX + RX

hal/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ name = "stm32wlxx-hal"
33
description = "Hardware abstraction layer for the STM32WL series microcontrollers."
44
readme = "README.md"
55

6-
version = "0.2.0"
6+
version = "0.2.0" # update BSP versions, HAL depdendency version, and README
77
authors = ["Alex Martens <alexmgit@protonmail.com>"]
88
edition = "2021"
9-
rust-version = "1.56"
9+
rust-version = "1.56" # update MSRV in CI, change BSPs to match
1010
license = "MIT OR Apache-2.0"
1111
keywords = ["arm", "cortex-m", "stm32", "hal"]
1212
categories = ["embedded", "hardware-support", "no-std"]

hal/README.md

Lines changed: 4 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
1-
# STM32WL Hardware Abstraction Layer
1+
# STM32WLxx Hardware Abstraction Layer
22

33
## Usage
44

5-
This crate is not yet published to crates.io, see issue [#149] for details.
6-
Until then please pin the version you use.
7-
85
```toml
96
[dependencies.stm32wlxx-hal]
10-
git = "https://github.com/stm32-rs/stm32wlxx-hal.git"
11-
rev = "" # put a specific git commit hash here
7+
version = "0.2.0"
128
features = [
139
# use exactly one of the following depending on your target hardware
1410
"stm32wl5x_cm0p",
@@ -24,7 +20,7 @@ features = [
2420
# use the interrupt macro from the hal with `use stm32wlxx_hal::pac::interrupt;`
2521
# DO NOT use the interrupt macro from cortex-m-rt, it will fail to compile
2622
[dependencies]
27-
cortex-m-rt = "0.6"
23+
cortex-m-rt = "0.7"
2824
```
2925

3026
**Note:** To avoid version mismatches do not include `cortex-m`, `embedded-hal`,
@@ -42,6 +38,7 @@ use hal::pac; // published as "stm32wl" on crates.io
4238
## Design
4339

4440
### Peripheral Access
41+
4542
The layout of device memory for the STM32WL is provided from the vendor in a
4643
format called system view description (SVD).
4744
The SVD is not perfect, so there is a set of community maintained SVD
@@ -83,19 +80,5 @@ let aes: Aes = Aes::new(dp.AES, &mut dp.RCC);
8380
let pka: Pka = Pka::new(dp.PKA, &mut dp.RCC);
8481
```
8582

86-
Generally speaking the driver structures have the following methods, though
87-
this is not consistent (see [#78])
88-
89-
* `new` create a driver from a PAC struct
90-
* `free` dystroy the driver and reclaim the PAC struct
91-
* `steal` steal the driver
92-
* `mask_irq` mask the peripheral
93-
* `unmask_irq` unmask the peripheral IRQ
94-
* `pulse_reset` reset the peripheral
95-
* `disable_clock` disable the peripheral clock (for power saving)
96-
* `enable_clock` enable the peripheral clock
97-
9883
[stm32-rs]: https://github.com/stm32-rs/stm32-rs
9984
[svd2rust]: https://github.com/rust-embedded/svd2rust
100-
[#78]: https://github.com/stm32-rs/stm32wlxx-hal/issues/78
101-
[#149]: https://github.com/stm32-rs/stm32wlxx-hal/issues/149

lora-e5-bsp/README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,20 @@
22

33
Board support for the seeed LoRa-E5 development kit.
44

5-
This crate extends the [stm32wlxx-hal] crate, see that crate for more information.
5+
This crate extends the [stm32wlxx-hal] with board specific hardware, see that crate for more information.
66

77
## Flashing
88

9-
This board is a pain to get working for the first time because of the pre-programmed firmware.
9+
This board is a pain to get working for the first time because the flash protection bits are set.
1010

1111
Check these resources to unlock the board for programming:
1212

1313
* [How to program a LoRa-E5](https://forum.seeedstudio.com/t/how-to-program-a-lora-e5/257491)
1414
* [seeed-lora/LoRa-E5-LoRaWAN-End-Node](https://github.com/seeed-lora/LoRa-E5-LoRaWAN-End-Node#getting-started)
1515

16-
To flash this board with various rust utilities such as probe-run, cargo-embed, and cargo-flash remove the `--connected-under-reset` flag. This flag is required for the NUCLEO board, but will cause timeout errors with the LoRa-E5 development board.
16+
To flash this board with various rust utilities such as `probe-run`, `cargo-embed`, and `cargo-flash` remove the `--connected-under-reset` flag. This flag is required for the NUCLEO board, but will cause timeout errors with the LoRa-E5 development board.
17+
18+
Flashing binaries larger than 64k with `probe-rs` based tools will hard fault, see [#74] for more information.
1719

1820
[stm32wlxx-hal]: https://github.com/stm32-rs/stm32wlxx-hal
21+
[#74]: https://github.com/stm32-rs/stm32wlxx-hal/issues/74

nucleo-wl55jc-bsp/README.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@
22

33
Board support for the NUCLEO-WL55JC development board.
44

5-
This crate extends the [stm32wlxx-hal] crate, see that crate for more information.
5+
This crate extends the [stm32wlxx-hal] with board specific hardware, see that crate for more information.
66

77
## Flashing
88

9-
To flash this board with various rust utilities such as probe-run, cargo-embed, and cargo-flash use the `--connected-under-reset` flag.
9+
To flash this board with various rust utilities such as `probe-run`, `cargo-embed`, and `cargo-flash` use the `--connected-under-reset` flag.
10+
11+
Flashing binaries larger than 64k with `probe-rs` based tools will hard fault, see [#74] for more information.
1012

1113
[stm32wlxx-hal]: https://github.com/stm32-rs/stm32wlxx-hal
14+
[#74]: https://github.com/stm32-rs/stm32wlxx-hal/issues/74

testsuite/README.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,11 @@ These tests will run automatically as part of CI for every pull-request.
1414
([probe-run], [newAM/probe-run])
1515
* **Note:** My fork contains unreleased fixes for the stm32wl,
1616
see [#74] for details.
17-
* (Linux users only) udev rules are available at [newAM/nucleo-wl55jc2-rs]
17+
* Linux users: Add udev rules then run `sudo udevadm control --reload-rules && sudo udevadm trigger`
18+
```text
19+
# /etc/udev/rules.d/99-stm.rules
20+
SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374e", MODE="0666"
21+
```
1822
* Connect the nucleo board to your PC via USB
1923
* `cargo run -p testsuite --target thumbv7em-none-eabi --bin pka`
2024

@@ -72,7 +76,6 @@ $ cargo test -p testsuite --target thumbv7em-none-eabi --bin subghz -- --probe 0
7276
```
7377

7478
[defmt-test]: https://crates.io/crates/defmt-test
75-
[newAM/nucleo-wl55jc2-rs]: https://github.com/newAM/nucleo-wl55jc2-rs
7679
[newAM/probe-run]: https://github.com/newAM/probe-run
7780
[probe-run]: https://github.com/knurling-rs/probe-run
7881
[rustup]: https://rustup.rs/

0 commit comments

Comments
 (0)