changed a year ago
Linked with GitHub

Embedded Working Group Meeting 2023-11-28

Attendance

Write your GH username or Matrix handle here!

  • adamgreig
  • jannic
  • therealprof
  • cr1901
  • greengenie
  • dirbaio
  • mabez

Agenda

  • Announcements
  • Embedded HAL
    • Counting down to release on Dec 28th
    • Triage new issues?
      • set rust-version to msrv https://github.com/rust-embedded/embedded-hal/pull/490
      • merge https://github.com/rust-embedded/embedded-hal/pull/531
      • merge https://github.com/rust-embedded/embedded-hal/pull/534
        • maybe undo before 1.0 release
      • discussed recently opened issues
        • can't use core Duration for delay, because it's big and requires more operations to perform arithmetic; we don't want to impose that on all end-users and can't let users pick because it's the driver that chooses what trait to use; we hope to one day have a better answer but for now we're punting on it
        • should rename get_max_duty_cycle, will do that
        • can't unify spi traits as they have different semantics
        • spi delay granularity was a more involved discussion
          • it seems like drivers using delay at the start/end of a transaction is not the best API, plus we didn't want to support ns-level delays because on linux they'll be rounded up to 1us
          • instead it should be "configuration", e.g. something the user sets up, alongside spi clock and mode etc
          • perhaps in the future we'll have SpiDeviceWithConfig that takes a config for each transaction that sets spi mode, clock speed, etc
          • or some more SpiBus sharing impls that can be configured to apply a different mode for each SpiDevice
          • however, this led to talking about the DelayUs trait maybe supporting ns
          • which perhaps it should do
          • in which case we might as well add DelayNs to SPI operation too, and it will round up, and that's perhaps better than not having it at all
          • we still discourage wrapping transactions in ns delays and prefer it be configuration, but we don't have ways to make it configuration yet, so perhaps for now drivers can do that
          • so the proposal is to rename DelayUs (SimpleDelay/DelayNs/???), add delay_ns, then add delay_ns to Operation too, but document the limitations
  • cortex-m-rt extra section example soundness https://github.com/rust-embedded/cortex-m/issues/498
  • cargo-binutils release?
  • C-m-pac-interface: rename, test
  • mutex-trait: awaiting deprecation rfc
  • book: tooling page updates
  • bors: ops docs
  • rustc targets: awaiting feedback

Last Week's Minutes

  • Announcements
    • svd2rust 0.30.3 released
    • new probe.rs website
    • postcard-rpc 0.2.0 released
  • Embedded HAL
    • Release 1.0 on Dec 28th!
    • More fine-grained timing control?
      • Lots of discussion about this point and whether it should result in any changes pre-1.0 to permit changing bus configuration per-device (which could include timing)
      • Consensus from the meeting is to probably not make any big changes pre-1.0 or delay 1.0
    • Adopt embedded-hal-mock and bring up-to-date?
      • Concern about maintenance overhead and potentially slowing development of embedded-hal
  • Cortex-M PAC interface
  • cargo-binutils release?
  • Mutex trait: awaiting RFC to deprecate
  • Book: tooling page update in works
  • bors: ops docs need updating
  • rustc targets: awaiting PR feedback
  • no-std team?
Select a repo