Open Qix- opened 11 months ago
Hi @Qix- 👋🏾
Thank you for your message! Making our documentation more beginner-friendly is definitely something we have to work on.
Would you be interested in proposing changes to the docs to make it more clear? Since you just went through the process you probably know quite well what would have helped you. If yes, please just send a PR. If not we can totally also work on it.
🥂
Sure thing! I'll try to get some time this week to do it :) Thanks for the response.
Trying to implement
defmt
for a custom board/serial line was a little bit of a headache just reading through the documentation. Maybe some improvements to the docs can be made.defmt
was sending indices of strings to a host program to decode. I realize it's trivial now given the "deferred" part of "defmt" but just reading the getting started docs didn't really make that clear. It definitely wasn't clear you need a host program to decode them for you. It took all the way todefmt-print --help
to finally realize how defmt works. It's also right there at the bottom of the introduction page, but that's not what search engines are pointing to when googling around for how to integratedefmt
.defmt
integrated and sending bytes over the serial line, installingdefmt-print
and trying to use it, I spent a good hour tinkering with my system's serial config thinking the bytes weren't coming in correctly or something, because all of the frames were malformed. I looked at the encoding docs and thoughtraw
meant "no fancy encoding", but that didn't work.global_logger
nor the "Encoding" page does it mention that in order to send frames over the wire, you must use anEncoder
to get them working.I'm sure to people who use
defmt
often this is all trivial but as a complete newcomer to defmt (having previously stored all logging strings directly in the firmware itself), it wasn't obvious what was happening or how this was supposed to work, especially trying to implement my own wire debugging.Perhaps some of the docs could mention these sorts of cases on the relevant pages? I actually didn't get to the "introduction" page from google, but rather the "Setup" page. A "Guide for Implementors" page (which really is the
global_logger
page, more or less) could have a lot more information about this, I think.