Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate Espressif ESP32 implementation of the library #7

Open
eudes opened this issue Aug 15, 2020 · 0 comments
Open

Integrate Espressif ESP32 implementation of the library #7

eudes opened this issue Aug 15, 2020 · 0 comments

Comments

@eudes
Copy link

eudes commented Aug 15, 2020

Hello!

I've been working on an implementation of the NTS-1 C interface for the Espressif ESP32. It needs still needs polishing, but it is mostly working as a feature-complete replacement for the ESP32 IDF framework.

Would there be any interest in merging the implementation into the official repository?

Some more context

I started it as a fork of this project, and it reuses most of the code, only diverging for the init and idle phases, and in the way it communicates with the MCU's SPI peripheral. In the process of separating the STM32-specific code from the rest, I managed to carve out a clear API on which to base my framework-dependent implementation. This API, I think, provides a great deal of support anyone trying to implement the library for other frameworks/MCUs, as it provides a clear division between those parts of the code that are specific to an architecture, and those that aren't and can be reused.

I'm no expert in embedded programming, or C for that matter, so I'll be more than open to any suggestions or advice that might arise in the process.

As I said, I just finished making it work and I'll be polishing kinks and testing it more thoroughly, but I thought, given that there's not much activity in this repo, that it would be good to ask early.

The code

I'm working on it at https://github.com/eudes/nts-1-customizations. This is the ESP32-specific code. I've added many comments to the original STM32, but the actual code is the same.

I also created a library.json file to make it easier to use with platformio.

There's a sample project that uses the implementation here: https://github.com/eudes/korg-nts1-esp32. This one is more liable to change over time as I'm using it for testing and documenting the process. It might also be nice, for people trying to port the library to other platforms, to have some of the details there incorporated into the official documentation. I know there's a mention in this repo of "more details about the communication protocol will be released at a later date", but in the meantime it could serve as a helping hand.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant