AboutServicesProjectsBlog
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
Esp32RustBluetoothPhilosophy
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
Featured Projects
GeneratorHandwheel Repair
Company Info
About UsContactAffiliate DisclosurePrivacy Policy
Specific Solutions LLC
Portland, OR