Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

First Newsletter #66

Merged
merged 4 commits into from
Mar 15, 2018
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 83 additions & 0 deletions newsletters/2018-03-15.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# The Embedded Working Group Newsletter - 1

> 2018-03-15

This is the first newsletter of the [Embedded WG]! We will be releasing this newsletter on a bi-weekly basis, and we are looking to highlight new progress, celebrate cool projects, thank the community, and advertise projects that need help!

If you want to mention something in [the next newsletter], make sure to leave a comment on the issue!

## Highlights

* [Tock-OS] has released the [1.0 of their kernel], gotten the Rust Userspace library back in order, and are working on a [new register interface]
* [Emilgardis], [jamesmunns] and [ryankurte] have become collaborators of the [svd] and [svd2rust] projects.
* [hannobraun], [ilya-epifanov], [thejpster], [therealprof] have become collaborators of the [embedded-hal] project.
* [dvc94ch] has created the [riscv-rust] organization for all your embedded RISCV needs!
* [dylanmckay] has begun [rebasing][avr-rust-rebase] the avr-rust/rust fork onto a recent rust-lang/rust version, bringing in LLVM 6.0 support.

## Embedded Projects

If you have an embedded project or blog post you would like to have featured in the Embedded WG Newsletter, make sure to mention it on the tracking issue for [the next newsletter], we would love to show it off!

### `embedded-hal` drivers
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be good to link to #39 before the list and mention that this is part of the weekly driver initiative and that (at the time of writing) there are 10+ drivers in WIP state.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 Fixed


This is a list of recently released drivers that are part of the [Weekly Driver Initiative]. There are currently 5 Released Drivers, 14 WIP Drivers, and lots of TODOs!

* [pcein] has [released][pcein-blog] the third weekly driver for the [`adc-mcp3008`], an 8-channel 10-bit ADC.
* [japaric] has [released][enc-blog] the fourth weekly driver for the [`enc28j60`], an Ethernet controller with SPI interface.
* [dbrgn] has [released][mcp-blog] the fifth weekly driver for the [`mcp3425`], a 16-bit ADC with I2C interface.

## Thanks

* Thanks to everyone who has been commenting on the [Embedded WG Issues], especially for the [Embedded Rust Book] tracking issue!
* [varkor] has fixed a [long standing LLVM bug][gh41315], that artificially increased the binary size of Rust programs, and backported the patch to rustc.
* LLD is now being shipped with the Rust toolchain. [FenrirWolf] [patched Xargo][xargo-lld] so that Xargo users can make use of it too.

## Help Wanted

If you have an embedded project that could use contributors or maintainers, leave a comment for [the next newsletter]!

* We are [pretty close][cortex-m-rt-lld] to being able to use LLD to link Rust programs compiled for ARM Cortex-M but there are some [LLD bugs][lld-issues] that still need to be fixed. Help reporting these bugs upstream would be greatly appreciated!
* Incremental compilation is in the roadmap for this year but it doesn't work with `no_std` binaries due to an [old rustc bug][gh18807] related to linking. Help us fix it! There's a proposed solution [here].
* We want to explore stabilizing some assembly operations in core as an alternative to the unstable asm! macro. We would love some help identifying the assembly operations that need to be provided this way as some can be implemented in external assembly files without losing
semantics. Details in issue [#63].

[#63]: https://github.com/rust-lang-nursery/embedded-wg/issues/63
[1.0 of their kernel]: https://www.tockos.org/blog/2018/talking-tock-35/
[`adc-mcp3008`]: https://crates.io/crates/adc-mcp3008
[`enc28j60`]: https://crates.io/crates/enc28j60
[`mcp3425`]: https://crates.io/crates/mcp3425
[avr-rust-rebase]: https://github.com/avr-rust/rust/pull/91
[cortex-m-rt-lld]: https://github.com/japaric/cortex-m-rt/issues/53
[dbrgn]: https://github.com/dbrgn
[dvc94ch]: https://github.com/dvc94ch
[dylanmckay]: https://github.com/dylanmckay
[Embedded Rust Book]: https://github.com/rust-lang-nursery/embedded-wg/issues/56
[Embedded WG Issues]: https://github.com/rust-lang-nursery/embedded-wg/issues
[Embedded WG]: https://github.com/rust-lang-nursery/embedded-wg
[embedded-hal]: https://github.com/japaric/embedded-hal
[Emilgardis]: https://github.com/Emilgardis
[enc-blog]: http://blog.japaric.io/wd-4-enc28j60/
[FenrirWolf]: https://github.com/FenrirWolf
[gh18807]: https://github.com/rust-lang/rust/issues/18807
[gh41315]: https://github.com/rust-lang/rust/issues/41315
[hannobraun]: https://github.com/hannobraun
[here]: https://github.com/rust-lang/rust/issues/47074#issuecomment-354588718
[ilya-epifanov]: https://github.com/ilya-epifanov
[jamesmunns]: https://github.com/jamesmunns
[japaric]: https://github.com/japaric
[lld-issues]: https://github.com/japaric/cortex-m-rt/issues/53#issuecomment-371972935
[mcp-blog]: https://blog.dbrgn.ch/2018/3/13/rust-mcp3425-driver/
[new register interface]: https://www.tockos.org/blog/2018/talking-tock-36/
[pcein]: https://github.com/pcein
[pcein-blog]: http://pramode.in/2018/02/24/an-introduction-to-writing-embedded-hal-based-drivers-in-rust/
[riscv-rust]: https://github.com/riscv-rust
[ryankurte]: https://github.com/ryankurte
[svd2rust]: https://github.com/japaric/svd2rust
[svd]: https://github.com/japaric/svd
[the next newsletter]: https://github.com/rust-lang-nursery/embedded-wg/issues/65
[thejpster]: https://github.com/thejpster
[therealprof]: https://github.com/therealprof
[Tock-OS]: https://github.com/helena-project/tock
[varkor]: https://github.com/varkor
[Weekly Driver Initiative]: https://github.com/rust-lang-nursery/embedded-wg/issues/39
[xargo-lld]: https://github.com/japaric/xargo/pull/200