I2S duplex app - #646
Conversation
9119e65 to
525163d
Compare
de4d64a to
cfcc5c2
Compare
|
Removing manifest commit patch to merge ! |
cfcc5c2 to
b0c1a6b
Compare
There was a problem hiding this comment.
🟡 Changes recommended
The new sample has a confirmed RX verification drift/API-size-type issue (and a few smaller correctness/consistency fixes) that should be addressed before merging.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Adds an I2S full-duplex (simultaneous RX/TX) sample plus a reusable Zephyr snippet to enable an RTSS I2S controller for supported Alif devkits, and bumps the Zephyr manifest revision to pick up required driver support.
Changes:
- Update
west.ymlto a Zephyr revision that includes the needed I2S driver capabilities. - Add an
i2s-duplexsnippet with board-specific devicetree overlays to enable/configure I2S for loopback testing. - Introduce a new
samples/drivers/i2s_duplexapplication demonstrating full-duplex streaming and RX verification.
File summaries
| File | Description |
|---|---|
west.yml |
Updates Zephyr manifest revision to the commit expected to contain full-duplex-related driver support. |
snippets/i2s-duplex/snippet.yml |
Defines the snippet and selects the correct overlay per board family. |
snippets/i2s-duplex/b1_rtss.overlay |
Enables I2S on B1 RTSS and sets pinctrl for loopback wiring. |
snippets/i2s-duplex/e3_e7_rtss.overlay |
Enables I2S on E3/E7 RTSS and sets pinctrl for loopback wiring. |
snippets/i2s-duplex/e4_e8_rtss.overlay |
Enables I2S on E4/E8 RTSS for loopback wiring. |
samples/drivers/i2s_duplex/src/main.c |
Implements the full-duplex sample: configure, pre-queue TX, start, read RX blocks, verify pattern. |
samples/drivers/i2s_duplex/README.rst |
Documents purpose, requirements, build commands, and example output. |
samples/drivers/i2s_duplex/prj.conf |
Enables CONFIG_I2S for the sample build. |
samples/drivers/i2s_duplex/CMakeLists.txt |
Adds build integration for the new sample. |
Review details
Suppressed comments (1)
samples/drivers/i2s_duplex/src/main.c:70
- The comment “+ive” is an unclear abbreviation; using “positive” makes the intent clearer.
expected =
(int16_t)((expected_sequence + i) & 0x7fff); /*wrap and +ive value */
- Files reviewed: 9/9 changed files
- Comments generated: 7
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| */ | ||
|
|
||
| /* | ||
| * I2S_3 : Tested in E8 devkit pls short following pins: |
Add I2S duplex sample with full-duplex TX/RX loopback verification. App generates a transmit pattern, captures received blocks, and verifies the RX data against the expected TX sequence. Signed-off-by: Ganesh Kumar R <ganesh.ramani@alifsemi.com>
1cd0707 to
48a3981
Compare
add snippets support for i2s duplex application. Signed-off-by: Ganesh Kumar R <ganesh.ramani@alifsemi.com>
48a3981 to
061bf1c
Compare
sudhir-alifsemi
left a comment
There was a problem hiding this comment.
You may merge these 2 commits
| @@ -0,0 +1,26 @@ | |||
| /* | |||
| * SPDX-FileCopyrightText: Copyright Alif Semiconductor | |||
| * SPDX-License-Identifier: Apache-2.0 | |||
There was a problem hiding this comment.
Use alif private license
Application and Snippet for I2S full duplex support.
Tested in E7 devkit and B1 Devkit only.
I2S driver: PR