Skip to content

Commit 8e5bc91

Browse files
author
James Munns
committed
Final touches
1 parent d1b130f commit 8e5bc91

File tree

1 file changed

+59
-50
lines changed

1 file changed

+59
-50
lines changed

content/2020-01-30-newsletter-23.md

Lines changed: 59 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,12 @@ This is the 23rd newsletter of the [Embedded WG] where we highlight new progress
1010

1111
[Embedded WG]: https://github.com/rust-embedded/wg
1212

13-
<!-- TODO uncomment -->
1413

14+
Discuss on [#rust-embedded:matrix.org]!
1515
<!-- Discuss on [#rust-embedded:matrix.org], [users.rust-lang.org], [on twitter], or [on reddit]! -->
1616

17-
<!-- [#rust-embedded:matrix.org]: https://matrix.to/#/#rust-embedded:matrix.org -->
17+
18+
[#rust-embedded:matrix.org]: https://matrix.to/#/#rust-embedded:matrix.org
1819
<!-- [users.rust-lang.org]: https://example.org/#TODO -->
1920
<!-- [on twitter]: https://example.org/#TODO -->
2021
<!-- [on reddit]: https://example.org/#TODO -->
@@ -23,82 +24,90 @@ This is the 23rd newsletter of the [Embedded WG] where we highlight new progress
2324

2425
If you want to mention something in [the next newsletter], send us a pull request!
2526

26-
<!-- TODO before release add the next template! -->
27-
28-
[the next newsletter]: https://github.com/rust-embedded/blog/edit/master/content/${TODO}.md
27+
[the next newsletter]: https://github.com/rust-embedded/blog/edit/master/content/2020-02-29-newsletter-24.md
2928

3029
## Highlights
3130

32-
- [embedded-hal-mock](https://github.com/dbrgn/embedded-hal-mock/) has released 0.7.1 on crates.io with [support for error expectations](https://docs.rs/embedded-hal-mock/0.7.1/embedded_hal_mock/i2c/index.html#testing-error-handling). This means that you can now unit test the error handling logic of your embedded-hal driver crates.
33-
34-
- TODO(remove, this is an example) "const generics" has landed in nightly!
35-
36-
- TODO(remove, this is an example) the Rust compiler has gained cross compilation support for the Xtensa architecture!
31+
- [@lupyuen] has been doing very cool things with Rust and the PineTime smart watch - see [Porting druid Rust Widgets to PineTime Smart Watch] and [Optimising PineTime’s Display Driver with Rust and Mynewt].
32+
- [The Raspberry Pi OS dev tutorial] got a new chapter on Kernel Unit, Integration and Console tests using QEMU
33+
- Google announced [OpenSK], an open source security key based on [TockOS] in Embedded Rust
34+
- [Ferrous Systems] announced the second iteration of [Oxidize], an embedded Rust conference in Berlin Germany, will take place in July of 2020. Read the [Announcement Blog Post] for more details
35+
- [PLCnext] shared a [Sample Rust Runtime] and a how-to guide for running deterministic real-time Rust
36+
on an industrial Linux device
3737

3838
## Embedded Projects
3939

4040
- [@almindor] released a platform-agnostic [driver for the MAX7219][max7219-driver] segmented display and published a [blog post][max7219-blog-post] including a picture of an example setup.
41-
41+
- [embedded-hal-mock] has released 0.7.1 on crates.io with [support for error expectations]. This means that you can now unit test the error handling logic of your embedded-hal driver crates.
4242
- [@rubberduck203][@rubberduck203] added VS Code configurations to the [cortex-m-quickstart][cortex-m-quickstart] and published a [blog post][vscode-blog]. Debugging Cortex-M projects in editor with VS Code now works out of the box.
43-
43+
- [@rubberduck203][@rubberduck203] released a [quickstart template for the STM32F3DISCOVERY board][stm32f3-quickstart] with pre-configured linker script & build targets.
4444
- [@jkristell] released version 0.6 of the [Infrared][infrared] crate and published a [blog post][infrared-blog] on how to add remote control support to an embedded Rust project.
45-
46-
- [@lupyuen] has been doing very cool things with Rust and the PineTime smart watch - see [Porting druid Rust Widgets to PineTime Smart Watch](https://medium.com/@ly.lee/porting-druid-rust-widgets-to-pinetime-smart-watch-7e1d5a5d977a) and [Optimising PineTime’s Display Driver with Rust and Mynewt](https://medium.com/@ly.lee/optimising-pinetimes-display-driver-with-rust-and-mynewt-3ba269ea2f5c?source=friends_link&sk=4d2cbd2e6cd2343eed62d214814f7b81).
47-
48-
- [The Raspberry Pi OS dev tutorial] got a new chapter on Kernel Unit, Integration and Console tests using QEMU
49-
5045
- Steven Walter gave a talk at [Rust Belt Rust][rust-belt-rust] about [introducing Rust into an existing embedded Linux project][introducing-rust-into-legacy].
46+
- [@arosspope] released an implementation of [the game snake for the stm32f3 discovery board] using RTFM.
47+
- Rust firmware for [Stabilizer] has been released. [Stabilizer][stabilizer-wiki] is an open hardware, high speed, multi channel, STM32H743 based feedback controller for Quantum Physics applications. The firmware features [RTFM v0.5] and [smoltcp]. Support for several analog front end mezzanines like current stabilization or Pound-Drever-Hall locks is being developed.
48+
- [@42technology] announced they have ported Cloudflare's Rust-language [QUIC] library (known as '[quiche]') to the Nordic nRF9160, producing possibly the world's first QUIC demonstration on that platform.
49+
- [atsamd-hal] 0.8.2 released, which includes work by [@twitchyliquid64] and [@jacobrosenthal] implementing USB support for SAMD21 and SAMD51 devices.
50+
- [@Disasm] released [longan-nano] and [seedstudio-gd32v] board support crates with examples for the corresponding RISC-V boards.
5151

52-
- [@arosspope](https://github.com/arosspope) released an implementation of [the game snake for the stm32f3 discovery board](https://github.com/arosspope/usnake) using RTFM.
53-
54-
- Rust firmware for [Stabilizer](https://github.com/quartiq/stabilizer) has been released. [Stabilizer](https://github.com/sinara-hw/Stabilizer/wiki) is an open hardware, high speed, multi channel, STM32H743 based feedback controller for Quantum Physics applications. The firmware features [RTFM v0.5](https://github.com/rtfm-rs/cortex-m-rtfm) and [smoltcp](https://github.com/m-labs/smoltcp). Support for several analog front end mezzanines like current stabilization or Pound-Drever-Hall locks is being developed.
55-
56-
- [@42technology](https://twitter.com/42technology) announced they have ported Cloudflare's Rust-language [QUIC](https://en.wikipedia.org/wiki/QUIC) library (known as '[quiche](https://github.com/cloudflare/quiche)') to the Nordic nRF9160, producing possibly the world's first QUIC demonstration on that platform.
57-
58-
- [@rubberduck203][@rubberduck203] released a [quickstart template for the STM32F3DISCOVERY board][stm32f3-quickstart] with pre-configured linker script & build targets.
59-
60-
- [atsamd-hal](https://github.com/atsamd-rs/atsamd) 0.8.2 released, which includes work by [@twitchyliquid64](https://github.com/twitchyliquid64) and [@jacobrosenthal](https://github.com/jacobrosenthal) implementing USB support for SAMD21 and SAMD51 devices.
61-
62-
- [@Disasm] released [longan-nano](https://github.com/riscv-rust/longan-nano/) and [seedstudio-gd32v](https://github.com/riscv-rust/seedstudio-gd32v) board support crates with examples for the corresponding RISC-V boards.
52+
<!-- LINK SECTION FOR HIGHLIGHTS AND EMBEDDED PROJECTS -->
6353

64-
[Porting druid Rust Widgets to PineTime Smart Watch]: https://medium.com/@ly.lee/porting-druid-rust-widgets-to-pinetime-smart-watch-7e1d5a5d977a
65-
[Optimising PineTime’s Display Driver with Rust and Mynewt]: https://medium.com/@ly.lee/optimising-pinetimes-display-driver-with-rust-and-mynewt-3ba269ea2f5c
66-
[The Raspberry Pi OS dev tutorial]: https://github.com/rust-embedded/rust-raspi3-OS-tutorials/tree/master/13_integrated_testing
67-
[@lupyuen]: https://github.com/lupyuen
54+
[@42technology]: https://twitter.com/42technology
6855
[@almindor]: https://github.com/almindor
69-
[@rubberduck203]: https://twitter.com/Rubberduck203
70-
[@jkristell]: https://github.com/jkristell
56+
[@arosspope]: https://github.com/arosspope
7157
[@Disasm]: https://github.com/Disasm
58+
[@jacobrosenthal]: https://github.com/jacobrosenthal
59+
[@jkristell]: https://github.com/jkristell
60+
[@lupyuen]: https://github.com/lupyuen
61+
[@rubberduck203]: https://twitter.com/Rubberduck203
62+
[@twitchyliquid64]: https://github.com/twitchyliquid64
63+
[Ferrous Systems]: https://ferrous-systems.com
64+
[PLCnext]: https://github.com/PLCnext/
65+
66+
[Announcement Blog Post]: https://ferrous-systems.com/blog/oxidize-2020/
67+
[atsamd-hal]: https://github.com/atsamd-rs/atsamd
7268
[cortex-m-quickstart]: https://github.com/rust-embedded/cortex-m-quickstart
73-
[max7219-blog-post]: https://blog.katona.me/2019/12/22/MAX7219-segmented-display-driver-in-Rust/
74-
[max7219-driver]: https://crates.io/crates/max7219
75-
[vscode-blog]: https://christopherjmcclellan.wordpress.com/2019/12/31/debugging-rust-cortex-m-with-vs-code-take-2/
76-
[infrared]: https://github.com/jkristell/infrared
69+
[embedded-hal-mock]: https://github.com/dbrgn/embedded-hal-mock/
7770
[infrared-blog]: https://jott.se/blog/infrared
71+
[infrared]: https://github.com/jkristell/infrared
7872
[introducing-rust-into-legacy]: https://www.youtube.com/watch?v=EoV94cg_Tug
73+
[longan-nano]: https://github.com/riscv-rust/longan-nano/
74+
[max7219-blog-post]: https://blog.katona.me/2019/12/22/MAX7219-segmented-display-driver-in-Rust/
75+
[max7219-driver]: https://crates.io/crates/max7219
76+
[OpenSK]: https://security.googleblog.com/2020/01/say-hello-to-opensk-fully-open-source.html
77+
[Optimising PineTime’s Display Driver with Rust and Mynewt]: https://medium.com/@ly.lee/optimising-pinetimes-display-driver-with-rust-and-mynewt-3ba269ea2f5c
78+
[Oxidize]: https://oxidizeconf.com
79+
[Porting druid Rust Widgets to PineTime Smart Watch]: https://medium.com/@ly.lee/porting-druid-rust-widgets-to-pinetime-smart-watch-7e1d5a5d977a
80+
[QUIC]: https://en.wikipedia.org/wiki/QUIC
81+
[quiche]: https://github.com/cloudflare/quiche
82+
[RTFM v0.5]: https://github.com/rtfm-rs/cortex-m-rtfm
7983
[rust-belt-rust]: http://www.rust-belt-rust.com/
84+
[Sample Rust Runtime]: https://github.com/PLCnext/rust-sample-runtime
85+
[seedstudio-gd32v]: https://github.com/riscv-rust/seedstudio-gd32v
86+
[smoltcp]: https://github.com/m-labs/smoltcp
87+
[stabilizer-wiki]: https://github.com/sinara-hw/Stabilizer/wiki
88+
[Stabilizer]: https://github.com/quartiq/stabilizer
8089
[stm32f3-quickstart]: https://github.com/rubberduck203/stm32f3-discovery-quickstart
81-
82-
83-
<!-- TODO Add news about embedded projects here -->
90+
[support for error expectations]: https://docs.rs/embedded-hal-mock/0.7.1/embedded_hal_mock/i2c/index.html#testing-error-handling
91+
[the game snake for the stm32f3 discovery board]: https://github.com/arosspope/usnake
92+
[The Raspberry Pi OS dev tutorial]: https://github.com/rust-embedded/rust-raspi3-OS-tutorials/tree/master/13_integrated_testing
93+
[TockOS]: https://www.tockos.org/
94+
[vscode-blog]: https://christopherjmcclellan.wordpress.com/2019/12/31/debugging-rust-cortex-m-with-vs-code-take-2/
8495

8596
If you have an embedded project or blog post you would like to have featured in the Embedded WG Newsletter, make sure to add it to [the next newsletter], we would love to show it off!
8697

8798
## `embedded-hal` Ecosystem Crates
8899

89100
As part of the [Weekly Driver Initiative], crates that are part of the `embedded-hal` ecosystem are now tracked in the [Awesome Embedded Rust] repository. Here is a current snapshot of what is available there:
90101

91-
<!-- TODO fill in the numbers before release -->
92-
93102
| Type | Status | Count | Diff |
94103
| :--- | :----- | :---- | :--- |
95-
| [Peripheral Access Crates] | released | ?? | +? |
96-
| [HAL Impl Crates] | released | ?? | +? |
97-
| [Board Support Crates] | released | ?? | +? |
98-
| [Driver Crates Released] | released | ?? | +? |
99-
| [Driver Crates WIP] | WIP | ?? | +? |
100-
| [no-std crates] | released | ?? | +? |
101-
| [no-std crates WIP] | WIP | ?? | +? |
104+
| [Peripheral Access Crates] | released | 42 | +3 |
105+
| [HAL Impl Crates] | released | 32 | +1 |
106+
| [Board Support Crates] | released | 21 | +2 |
107+
| [Driver Crates Released] | released | 36 | +3 |
108+
| [Driver Crates WIP] | WIP | 71 | +4 |
109+
| [no-std crates] | released | 34 | +2 |
110+
| [no-std crates WIP] | WIP | 3 | 0 |
102111

103112
[Awesome Embedded Rust]: https://github.com/rust-embedded/awesome-embedded-rust
104113
[Weekly Driver Initiative]: https://github.com/rust-embedded/wg/issues/39

0 commit comments

Comments
 (0)