Update transmit and receive firmware to meet timing requirements#106
Update transmit and receive firmware to meet timing requirements#106mohamed-dek1 wants to merge 14 commits intofeature/dcp-amds-firmwarefrom
Conversation
|
Thanks @mohamed-dek1. I see your approach here with One minor point in
|
|
Thanks @elsevers, after implementing the selective channel transmit, it's improved quite a bit. Since I have to check whether each channel is active before transmitting, this adds a ~1us delay between when the two UART lines start transmission. When I programmed 3 AMDS boards with a fixed 2-channel transmit mask, the only 2 channels on the FBC, I was able to get the full transmission down to 18.99us. This would meet the timing requirement of 50kHz Saleae capture
Additional delay
|
|
Per 4/7 conversation with @elsevers:
|
|
Thanks @mohamed-dek1. I am trying to understand the delay between when AMDS/Mainboard/Firmware/motherboard_v1/Core/Src/adc.c Lines 163 to 179 in 824bb43 It then also seems like there is a long delay until the daisy chained data starts emerging from |
Yes. Since we aren't sending bytes "simultaneously", there's a delay due to the conditionals and also the sequential transmission. |
Yes, exactly this is THE OPPORTUNITY to fix this! Here is where we can write clever code and compiler optimization to get it tuned up and working right. |
|
@mohamed-dek1 -- can you please report out the results of our profiling experiments yesterday? Two things:
|
|
Thanks @mohamed-dek1 -- part of my request here is for you to archive what we wrote down on that sheet of paper in the lab last week so we know it going forward. |
|
Thanks @mohamed-dek1. Do you have any update on stabilizing the communication link (i.e., swapping out your daisy chain adapter boards)? |
I will be doing this today |
|
@mohamed-dek1 -- I have spent the morning working on this and have code I would like you to test. Please see my instructions here directing you to merge the code into this branch and explaining the key improvements. |


















Closes #104
Notes
Anything reviewers should be aware of when reviewing? Other related issues? Known problems? Future work?
Self-Review
In this section, please self-review (answer all questions) on a suitable review checklist prior to requesting review from others. Select a review checklist based on what content is being merged in; see the Review Checklists section.
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