AboutCapabilitiesPortfolioExplore
Projects
Hanging Plotter
First Steps - Pinning an idea down and checking assumptions
Post Print Iterations
ESP32 development in NixOS using VSCode
Spinning a Stepper
Android development on NixOS
Connecting an ESP32 to android with bluetooth
Using an ESP32 as a logic analyzer
Using an Arduino as a logic analyzer
Driving steppers with the RMT module
Using Nix to write rust on the esp32
Using a smooth stepper driver on the esp32 in rust
Translating an esp32+esp-idf bluetooth example to rust
Musings on packaging build system via splitting independent libraries

Musings on packaging build system via splitting independent libraries

13th article in Hanging Plotter
Esp32 Rust Bluetooth Philosophy Project Hanging Plotter
2020-5-31

How can the esp-idf build system be packaged into an independent library?

TLDR

TODO

Research

  • sapir/esp-idf-sys Sapir has packaged building esp-idf into a repo
  • reitermarkus/esp-idf-bindgen Reiter Markus forked esp-idf-sys and built up build.rs
  • reitermarkus/esp32-hello An implementation demonstrating using esp-idf-bindgen

Plan

  1. Split esp32-bluetooth into a separate repo
  2. Fork esp-idf-bindgen and integrate changes from esp32-bluetooth/esp32-sys
  3. Audit and integrate any bluetooth specific helpers
  4. Determine existing rust+ble landscape and see if there are any idiomatic implementations that can have esp32 added as a target

Project aspects

  • Dev tooling (rust-analysis-check)
  • Build tooling (makefiles, *.sh for flashing, nix)
  • Handwritten bindings (macro redefs)
  • Per project Configuration (sdkconfig.h)

Sdkconfig

The original esp-idf-bindgen includes an sdkconfig.h while the esp-idf build process includes one in the build/include after calling “make”

To use the most accurate and project specific sdkconfig we must call build during the build process. Is it possible to reference the “parent project” in a dependencies crate?

Previous
Related Hanging Plotter:
First Steps - Pinning an idea down and checking assumptions Post Print Iterations ESP32 development in NixOS using VSCode Spinning a Stepper Android development on NixOS
Featured Work
Welding PositionerSurface Grinder Retrofit
Company Info
About UsContactAffiliate DisclosurePrivacy Policy
Specific Solutions LLC
Portland, OR