Skip to content

Rework AMDS daisy chain implementation - #140

Open
AwesomeTornado wants to merge 8 commits into
developfrom
feature/emi-resistant-daisy-chain
Open

Rework AMDS daisy chain implementation#140
AwesomeTornado wants to merge 8 commits into
developfrom
feature/emi-resistant-daisy-chain

Conversation

@AwesomeTornado

@AwesomeTornado AwesomeTornado commented Jul 24, 2026

Copy link
Copy Markdown
Member

Closes #139, #803
@elsevers

Notes

This update:

  • Disables interrupts during sampling and transmission
  • Removes try process routing
  • Removes dual stream fast path from drv_uart.c
  • Removes single stream fast path from drv_uart.c
  • Refactors the uart slow path to eliminate while loops

During tests, the FBC board was about 1us faster, while the AMDS was about 4us faster.
I have not yet collected data to prove this, this is based off of what I saw during testing.

DMA seems to be done within interrupts, so I am unsure as to why it still works while they are disabled. Regardless, doing so has made data transmission faster and more consistent.

Testing was done on FBC and AMDS daisy chain setups, with the following screenshot showing @knvprasad-dr's setup working with this new firmware.
FBC_best_yet
Testing was done with three daisy chained AMDS boards, and the AMDC counters showed no bad data.
image

Self-Review

  1. Are all images < 40 kB and other files < 300 kB (if not, please carefully assess whether it is worth committing them)? Yes
  2. Are all files named according to the appropriate naming convention, i.e., dash-case, camelCase, snake case? Yes
  3. Do all Markdown files follow the CONTRIBUTING article template? Yes
  4. Do all links work in the material that the PR is adding? Yes
  5. Is the PR configured to close the correct issue(s)? Yes
  6. Did the PR fully address the Approach section of the issue(s) it is closing? Yes

Reviewer Instructions

Reviewers, please copy and paste a suitable review checklist into your review and answer all questions.

Appendix

This section should be the same for all PRs. Do not edit this section when creating a PR.

Review Checklists

Checklists maintained by the eLev lab for research repositories include:

Standard checklist

1. Are all images < 40 kB and other files < 300 kB (if not, please carefully assess whether it is worth committing them)? **Yes or No**
2. Are all files named according to the appropriate [naming convention](https://github.com/Severson-Group/research-repo-template?tab=readme-ov-file#file-naming), i.e., dash-case, camelCase, snake case? **Yes or No**
3. Do all Markdown files follow the [CONTRIBUTING article template](https://github.com/Severson-Group/.github/blob/main/CONTRIBUTING.md#markdown-documentation-template)? **Yes or No**
4. Do all links work in the material that the PR is adding? **Yes or No**
5. Is the PR configured to close the correct issue(s)? **Yes or No**
6. Did the PR fully address the `Approach` section of the issue(s) it is closing? **Yes or No**

Please work on addressing any **No** items.

@AwesomeTornado AwesomeTornado self-assigned this Jul 24, 2026
@AwesomeTornado
AwesomeTornado requested a review from elsevers as a code owner July 24, 2026 21:08
@elsevers

Copy link
Copy Markdown
Contributor

Thanks @AwesomeTornado! Is this ready for review + release, or still in draft stage?

@AwesomeTornado

Copy link
Copy Markdown
Member Author

@elsevers This is ready for review + release.

@AwesomeTornado AwesomeTornado linked an issue Aug 5, 2026 that may be closed by this pull request
6 tasks
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.

Streamline process_routing for faster data transmission

2 participants