This is the fourth 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!
- We have surpassed the halfway point towards our sponsorship income goal of $5000 🎉 This means we can now allot about 9 days of Ferrous Engineer Time per month to build knurling tools and knurling-sessions.
- We've re-dedicated the knurling meta repository as the place for (non-immediately-actionable) discussions about future tools (gathering requirements, gauging interest, etc.). Originally, the meta repository contained an overview about what knurling is about and what's coming next. However, this was hard to find and browse, so we created the knurling website instead that was launched last week.
- The knurling website is now much more mobile-friendly.
New knurling-sessions content
Knurling Sessions are quarterly embedded projects that explore specific projects using generally available hardware, building full systems and components using microcontrollers, sensors, and actuators. Every week, we're releasing a new lesson to advance the project. Currently, we're building a CO2 measuring device step by step!
This week we're learning how to:
- switch temperature output between °C, °F and K in the chapter User Input - Advanced
- build your own LED temperature indicator in Bringing it all together
Sponsors can find the lesson contents at the CO2 project book.
Remember: you can find the access credentials to all knurling-sessions materials in our sponsors team announcements.
- #78 adds a bug report template for
probe-runto make reporting and resolving issues a smoother process ✨
- #212 the
defmtdocs have been updated to reflect the changes of the last weeks in slice formatting, format character limitations and standard integer types.
- #215, #216 fix errors when linking applications using
defmtwith GNU LD. #215 prevents
elf2tablefrom trying to parse a trailing
.defmtsection as JSON included when linking with GNU LD. #216 explicitly sets the start address of the
.defmtsection to 0, since GNU LD puts it at some arbitrary address otherwise.
We're still working towards the crates.io release of
defmt. The scope of things to do before the release has grown by three issues since the last changelog, two of which have been fixed now. We've also tackled some older issues to reach this milestone:
- #191, #207, #81 clean up
defmtfor crates.io and fix two oversights made during this change. If you've hand trouble installing
probe-runin the past week, this is probably why.
- #218 Hides all of
#12 fixes a hickup in
- #83 includes commit hashes in the output of
probe-run --version. This helps identify git installs of
- #84 updates the
defmt-elf2tableversion used by
probe-runto one that includes the aforementioned changes and enables their new
unstablefeature to access them.
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!