Skip to content

feat: Restructure ADC driver & include new examples#73

Merged
fanfare-ff merged 22 commits intodevfrom
feat/62/adc-rework
Dec 19, 2025
Merged

feat: Restructure ADC driver & include new examples#73
fanfare-ff merged 22 commits intodevfrom
feat/62/adc-rework

Conversation

@fanfare-ff
Copy link
Collaborator

@fanfare-ff fanfare-ff commented Dec 18, 2025

  • Please check if the Pull Request fulfils these requirements

    • PR title follows the style: type: Descriptive Name
    • Commit messages follow the guidelines
    • Code compiles
    • New additions are tested
    • Changes are documented on the website (refer to the docs section)
  • Link related open issue
    [TASK] Refactor ADC driver and fix known bugs #62

  • Provide a short description
    Rewritten ADC driver with not conflicting and user-friendly modes while including couple of new examples

  • Provide a more detailed list of changes

    • New settings field: adc_mode
    • New settings field: sr_mode
    • Fixed all software polling bugs
    • New overrun interrupt related functionality
    • Refactored DAC_2CH example
    • Rewritten ADC docs
    • Restructured errors
    • Renamed all examples
    • Updated all projects/examples to a new styling
  • Does this PR introduce a breaking change?
    Yes, each project/example using ADC driver will break. Follow new examples to update DMA transfer code and ADC_Settings struct

  • Other information
    N/A

fanfare-ff and others added 21 commits December 18, 2025 11:04
Fix override config for cont to avoid rank misalignment
Improve IRQ handlers to clean EOC by reading the DR
Split polling for cont and one shot modes
Rename adc_data fields to better ones
Implement proper single channel software polling for new adc driver
Refactor all ADC names to a new code naming style
Rework adc examples structure
Add optional overrun interrupts
Polish DMA example
Add a flag for DMA half transfer reached event
Works only with invalidation in interrupt for now
Must be redone with proper MPU config
Add proper interrupts for OVR flags
Rename all ADC examples�Cleanup DMA and timer files
Fix HalfTransfer function names
Refactor ADCx3 and Blink examples
Updated documentation for the example
Add temporal cache invalidation to DMA interrupts
Update library description
Refactor each function
Add new functions
Refactor ADC, DAC and timer errors
Refactor ADC config to a new style
Refactor each example
Add new examples
Add pictures for diff SR and Flags examples
Rename DAC and ADC examples
Add link to PWM docs
Refactor basic ultrasonic examples with a new ADC style
@fanfare-ff fanfare-ff self-assigned this Dec 18, 2025
@fanfare-ff fanfare-ff linked an issue Dec 18, 2025 that may be closed by this pull request
7 tasks
Copy link
Collaborator

@svire-at svire-at left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work!

In some files, there are comments in code that sometimes start with lower case. I tried to point them out when I noticed inconsistencies.

@fanfare-ff fanfare-ff linked an issue Dec 18, 2025 that may be closed by this pull request
5 tasks
@fanfare-ff fanfare-ff removed a link to an issue Dec 18, 2025
7 tasks
@fanfare-ff fanfare-ff linked an issue Dec 18, 2025 that may be closed by this pull request
Copy link
Collaborator

@LorenzoBuldorini LorenzoBuldorini left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything looks more clear and polish right now. There were just some issue with comments like capital letter at the beginning like Azra pointed out. But apart from that everything looks very good in my opinion

@fanfare-ff fanfare-ff merged commit a547dea into dev Dec 19, 2025
@fanfare-ff fanfare-ff deleted the feat/62/adc-rework branch February 19, 2026 13:07
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.

[TASK] Refactor ADC driver and fix known bugs Broken ADC CPU polling in one-shot mode

3 participants