feat: ADCBUF driver implementation and host unit tests #85
Labels
No labels
Category
App
Category
Documentation
Category
Firmware
Category
Hardware
Category
Qms
PR_Size
L
PR_Size
M
PR_Size
S
PR_Size
XL
PR_Size
XS
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Priority
Very Low Priority
Size
Epic
Size
Feature
Size
Task
Status
Blocked
Status
Draft
Status
Needs-review
Team
Board
Team
Dev
Team
Management
Type
Bug
Type
Capa
Type
Improvement
Type
New-feature
Type
Regulatory
Type
Usability
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
opendutchsolutions.public/hal_awr6843#85
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Description
Adds
hal/mss/adcbuf/hal_adcbuf.c/.h— the ADCBUF driver: channel-enable/real-only/IQ-swap configuration (CFG1), per-channel sample-address configuration (CFG2/CFG3, read-modify-write hazard between paired channels), chirp-count configuration (CFG4), sample-buffer pointer accessor, and ECC enable (pollsINITDONEwith a bounded timeout) / clear-error for both ping and pong banks.Use Case / Rationale
As a firmware developer, I need an
hal_adcbuf_*API to configure ADC sample-buffer channels, addressing, and ECC protection, following the same driver pattern established by GPIO (#75), ESM (#77), UART (#79), I2C (#81), and SPI (#83).User Stories
hal_adcbuf_configure()/hal_adcbuf_set_channel_address()/hal_adcbuf_set_chirp_counts()to configure the ADC sample buffer without hand-computingCFG1-CFG4bitfields myself.hal_adcbuf_ecc_enable()to bound itsINITDONEpoll with a timeout rather than hang forever on a stuck ECC state machine.testing/mss/unit/hal_functionality/test_adcbuf.c) covering channel configuration, address read-modify-write isolation, and the ECC init/enable sequence (via a simulated background "hardware" thread settingINITDONE), runnable in CI without target hardware.Acceptance Criteria
hal/mss/adcbuf/hal_adcbuf.c/.himplemented against this project's currenthal/registers/component/adcbuf.h/instance/adcbuf.htesting/mss/unit/hal_functionality/test_adcbuf.cpasses underctest, including the threaded ECC-init-done simulation (verified stable across repeated runs, not flaky)Functional Impact
None — self-contained addition alongside the already-landed GPIO/ESM/UART/I2C/SPI drivers.
Regulatory Impact
None
QMS Impact
None
Risk Impact
No — existing risk coverage sufficient.
Related Issues / PRs
Relates to #4, relates to #75, relates to #77, relates to #79, relates to #81, relates to #83