Hi everyone,
I’d like to introduce to you libdaisy_nim, a Nim wrapper for libDaisy ! I’ve wanted to use Nim in embedded audio for a while now and thanks to copilot cli I’ve been able to write a wrapper for libDaisy to use it with.
For those who don’t know Nim “Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula.” I think it’s a really cool language to try and tinker with and since it can compile to C++ I thought it would be relatively easy to try to wrap libDaisy with.
It’s still in it’s early days and while it’s far from complete I think I the global architecture of the wrapper is sufficiently stable to share it with people now. I desperately need some help to try and fix the examples since I don’t have enough parts to try and fix some examples. As of right now, I’ve only tested the blink, button_led, i2c_scanner, audio_passthrough, basic_sine_generator and distortion_effect exemples. There’s a technical document explaining how the wrapper works in detail for those who are curious. The wrapper is heap free and has almost no overhead as most of the basic functions are inline so you get the advantages of Nim basically for free ! Feel free to contribute and/or correct me as it is my first project in Nim and my first open source project on top of that !
3 Likes
Welcome to the forum, @Brokezawa!
That’s awesome!! Thank you so much for sharing this new Nim wrapper with the community ![]()
Please feel to keep us updated!
1 Like