Skip to content

Commit 9f041f0

Browse files
record and then playback works
but the record during playback gives static
1 parent 7628e9a commit 9f041f0

1 file changed

Lines changed: 10 additions & 5 deletions

File tree

tests/manual_test_duplex_audio.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,7 @@ def __init__(self, sample_rate=16000, duration_ms=3000):
3232
self._tx = None
3333
self._rx = None
3434

35-
def _init_i2s(self):
36-
if not _HAS_MACHINE:
37-
raise RuntimeError("machine.I2S not available")
38-
35+
def _init_write(self):
3936
self._tx = machine.I2S(
4037
0,
4138
sck=machine.Pin(I2S_PINS["sck"], machine.Pin.OUT),
@@ -48,6 +45,12 @@ def _init_i2s(self):
4845
ibuf=8000,
4946
)
5047

48+
49+
def _init_i2s(self):
50+
if not _HAS_MACHINE:
51+
raise RuntimeError("machine.I2S not available")
52+
53+
# self._init_write()
5154
self._rx = machine.I2S(
5255
1,
5356
sck=machine.Pin(I2S_PINS["sck_in"], machine.Pin.OUT),
@@ -78,7 +81,7 @@ def run(self):
7881
t_end = time.ticks_add(time.ticks_ms(), self.duration_ms)
7982

8083
while time.ticks_diff(t_end, time.ticks_ms()) > 0:
81-
self._tx.write(tone)
84+
#self._tx.write(tone)
8285
read_len = self._rx.readinto(read_buf)
8386
if read_len:
8487
recorded.extend(read_buf[:read_len])
@@ -90,6 +93,8 @@ def run(self):
9093
playback = memoryview(recorded)
9194
offset = 0
9295
while offset < len(playback):
96+
if not self._tx:
97+
self._init_write()
9398
offset += self._tx.write(playback[offset:])
9499
finally:
95100
self._deinit_i2s()

0 commit comments

Comments
 (0)