Knurling-rs changelog #6

This is the sixth changelog for Knurling-rs, our push to sustainably build better tooling for developing and debugging Rust software for embedded systems. Knurling-rs includes a suite of tools that make it easier to develop, log, debug, and test your embedded Rust libraries and applications!

Knurling-rs is supported by our sponsors on GitHub. If you're interested in seeing more projects like this, consider becoming a sponsor today!

Milestones

defmt goes crates.io!

On wednesday, we released defmt v0.1.0 to crates.io. Accordingly most of the changes from the last week were steps to making this possible. We prepared a handy guide on migrating to the crates.io version. New projects based on the app-template will automatically use the crates.io version.

Probe-run

Probe-run v.0.1.4 was released. This version always includes defmt support so it's not necessary any more to enable the "defmt' Cargo feature when installing it. Check this guide on migrating existing projects to the crates.io version.

New knurling-sessions block started!

We added instructions for reading the sensor's firmware version. You'll learn the basics about writing your own driver. We also released all the example code into the session's repository. Since it is based on the app template, it is already migrated to the crates.io versions of defmt and probe-run.

sneak peek into next week…

On Monday we will release instructions for making measurements with the sensor. Along this update, we will publish a major refactoring of the instructions of the first block. Today's release of example code is based on this refactoring.

Remember: you can find the access credentials to all knurling-sessions materials in our sponsors team announcements.

Improvements

App template

  • #22 updates the app template to use the crates.io version of defmt- -
  • #27 adds instruction about how to switch to the git version of defmt

defmt

  • #244 adds an import of the panic-probe crate from the probe-run repo, including its git history. puts migration doc under the user guide section.
  • #242 adds improved defmt version mismatch diagnostics
  • #240 and #243 add instructions about how to migrate from git version of defmt to the crates.io version.
  • #235 several minor edits on the book.
  • #234 touched up crate level docs.
  • #232 improved defmt rustdoc.
  • #14 adds support for section length arithmetic using + sign as used in the stm32f7xx-hal crate.

probe-run

  • #101 adds call to action to upgrade from using the git version of panic-probe to crates.io version.
  • #98 prints supported defmt version from –version
  • #96 hard-enables the defmt Cargo feature
  • #95 updates the changelog.

New features

probe-run

  • #88 adds option to specify probe clock frequency.

Fixes

App template

  • #21 adds a step to the the README.md on how to manually add the file memory.x

defmt

  • #231 fixes rustdoc-args from rustdoc-args = [ "–cfg docsrs" ] to rustdoc-args = [ "–cfg=docsrs" ], as the former is outdated.

Internal improvements

We updated links to the knurling website in many places.

defmt

  • #241 makes DEFMT_VERSION public
  • #239 adds crate metadata & crates.io dependencies.
  • #238 unexport write as it is now completely unused by the derives. The macro code is left intact for possible future use.
  • #237 remove sample firmware
  • #233 removes old panic-probe copy
  • #230 adds handling of crates.io versions in decoder build script

probe-run

  • #97 adds crate metadata & crates.io dependencies for panic-probe.
  • #94 makes panic-probe compilable on hosted systems.
  • #15 adds usage of cortex-m-quickstart to test the linking.

Sponsor this work

Knurling is mainly funded through GitHub sponsors. Sponsors get early access to the tools we are building and help us to support and grow the knurling tools and courses. Thank you to all of the people already sponsoring our work through the Knurling project!