I’ve been working with the Notecard on Zephyr for both work and hobby recently and decided to provide a hand levelling up the Zephyr implementation by making it into a west module, that is easy to import into a project. Currently the module is hosted on my company’s GitHub org but would be happy to contribute this back to Blues, upon advice for where to make the Pull Request, as it doesn’t quite fit any of the existing repos!
The README covers how to import the module into your project; you just need to add the following to your west.yml manifest:
projects:
# Your other modules here
- name: notecard
path: modules/notecard
revision: main
submodules: true
url: https://github.com/arribada/lib-notecard-zephyr
Then run west update to pull the module into your project. From there you can start using the helper code for setting up the zephyr interface to the module, where you just need to adjust the specific i2c bus for your target board in it’s .overlay file.
/ {
aliases {
// for example, using the i2c0 bus
notecard = &i2c0;
};
};
Currently the repo has a submodule pinned at a working release of note-c; I intend to track the latest commit at some point using a GitHub workflow.
Blues team, let me know how best to upstream this back to your org
Yes, we would ultimately love to upstream your work. I’ll be happy to work with you on GitHub or here in the forum post. Let me finish working on my current task, and I’ll jump over to take a look at what you’ve come up with.
Awesome, where would you like me to open a PR? I was thinking maybe it makes sense to do it from the note-zephyr repo but I will update my repo to include your example project? That way a new user can see how to use your helper libraries as well as pull in the west module?
Just bumping this to say I’ve added the serial transport mechanism to the note_c_hook so you can use the zephyr module with either i2c or serial now .
Depending on your Notecarrier (e.g. Notecarrier F), you may need to bridge F_TX → N_RX and F_RX → N_TX with a jumper and also ensure that the DFU switch is set to ‘NORMAL’.
// for example, using the usart0 bus
/ {
aliases {
notecard = &usart0;
};
};