Skip to content

Instantly share code, notes, and snippets.

View jessebraham's full-sized avatar

Jesse Braham jessebraham

View GitHub Profile

Organization Overview - esp-rs

January, 2023

This a collection of repositories from within the esp-rs organization that I feel are the main points of interest. I've included any ongoing projects as much as possible.

A repository be omitted from this list does not mean that it is not important or useful, only that it requires much less development effort than other projects.

HARDWARE SUPPORT

Bare-Metal RUWM

Can we use RUWM as an ongoing litmus test for our bare-metal portfolio readiness?

Stuff that RUWM core would need to run on bare-metal:

  • An executor - can be either embassy-executor or edge-executor (as ESP bare-metal has a generic allocator now) and we can make it configurable
  • Blocking or async drivers for SPI, I2C, one-shot calibrated ADC and pin peripherals (pin peripherals need interrupt support)
    • Blocking drivers
      • ADC
  • Need to implement calibration
use embedded_hal::adc::{Channel, OneShot};
/// The ESP8266 has only a single ADC channel, which is multiplexed with the
/// system voltage. You can use the ADC to read an external voltage, or read
/// the system voltage (VDD33), but not both.
#[derive(Debug, Copy, Clone)]
pub enum AdcMode {
External,
Vdd33,
}