Skip to content

ADC DMA library#393

Open
crabel99 wants to merge 9 commits into
adafruit:masterfrom
crabel99:adc-dma-library-clean
Open

ADC DMA library#393
crabel99 wants to merge 9 commits into
adafruit:masterfrom
crabel99:adc-dma-library-clean

Conversation

@crabel99

Copy link
Copy Markdown

Summary

Adds a new ADC library that provides higher-level ADC configuration, asynchronous reads, DMA-backed result handling, callback-based reads, chip-temperature helpers, and integration with the shared PendSV deferred service dispatcher.

This also updates SAMD_AnalogCorrection to use the new ADC implementation instead of duplicating correction logic.

Changes

  • Add libraries/ADC

    • synchronous and asynchronous ADC reads
    • callback-based read completion
    • ADC channel registration and queueing
    • ZeroDMA-backed ADC result transfer support
    • SAMD21 and SAMD51 ADC register path support
    • chip temperature conversion helpers
    • examples for basic reads, callbacks, async temperature reads, and ADC correction
  • Update SAMD_AnalogCorrection

    • remove duplicated implementation code
    • reuse the new ADC library correction API
  • Use explicit ADC chip-family guards for D5x/E5x register layouts:

    • __SAMD51__
    • __SAME51__
    • __SAME53__
    • __SAME54__

Validation

  • metro_m0: 29 succeeded, 0 failed, 37 skipped
  • metro_m4: 25 succeeded, 0 failed, 41 skipped
  • git diff --check pendsv-support-clean..HEAD passed

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

Successfully merging this pull request may close these issues.

2 participants