Skip to content

Commit 0915df3

Browse files
authored
Merge pull request #1 from bcmi-labs/blocking_calls
ADC/DAC: Make read/write block if there's no buffer available.
2 parents 13b404a + c1282ec commit 0915df3

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

src/AdvancedADC.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,9 @@ bool AdvancedADC::available() {
8686
DMABuffer<Sample> &AdvancedADC::read() {
8787
static DMABuffer<Sample> NULLBUF;
8888
if (descr != nullptr) {
89+
while (!available()) {
90+
__WFI();
91+
}
8992
return *descr->pool->dequeue();
9093
}
9194
return NULLBUF;

src/AdvancedDAC.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,9 @@ bool AdvancedDAC::available() {
8484
DMABuffer<Sample> &AdvancedDAC::dequeue() {
8585
static DMABuffer<Sample> NULLBUF;
8686
if (descr != nullptr) {
87+
while (!available()) {
88+
__WFI();
89+
}
8790
return *descr->pool->allocate();
8891
}
8992
return NULLBUF;

0 commit comments

Comments
 (0)