Skip to content

Commit 93a6611

Browse files
committed
Modified audio.py to use hardware Timer 4 for DAC write timed rather than Timer 2, to avoid conflict with Rotary_encoder which uses Timer 2.
1 parent 5a9b9a2 commit 93a6611

2 files changed

Lines changed: 5 additions & 5 deletions

File tree

pyControl/audio.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,21 +25,21 @@ def __init__(self, channel=1):
2525
# User functions
2626

2727
def off(self):
28-
self._DAC.write_timed(_off_buf, pyb.Timer(2, freq=10000), mode=pyb.DAC.NORMAL)
28+
self._DAC.write_timed(_off_buf, pyb.Timer(4, freq=10000), mode=pyb.DAC.NORMAL)
2929
self._timer.deinit()
3030
self._playing = False
3131

3232
def sine(self, freq): # Play a sine wave tone at the specified frequency.
33-
self._DAC.write_timed(_sine_buf, pyb.Timer(2, freq=freq*_sine_len), mode=pyb.DAC.CIRCULAR)
33+
self._DAC.write_timed(_sine_buf, pyb.Timer(4, freq=freq*_sine_len), mode=pyb.DAC.CIRCULAR)
3434

3535
def square(self, freq): # Play a square wave tone at the specified frequency.
36-
self._DAC.write_timed(_sqr_buf, pyb.Timer(2, freq=freq*2), mode=pyb.DAC.CIRCULAR)
36+
self._DAC.write_timed(_sqr_buf, pyb.Timer(4, freq=freq*2), mode=pyb.DAC.CIRCULAR)
3737

3838
def noise(self, freq=10000): # Play white noise with specified maximum frequency.
3939
self._DAC.noise(freq*2)
4040

4141
def click(self, timer=None): # Play a single click.
42-
self._DAC.write_timed(_click_buf, pyb.Timer(2, freq=40000), mode=pyb.DAC.NORMAL)
42+
self._DAC.write_timed(_click_buf, pyb.Timer(4, freq=40000), mode=pyb.DAC.NORMAL)
4343

4444
def clicks(self, rate): # Play clicks at specified rate.
4545
self._timer.init(freq=rate)

pyControl/hardware.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ def get(self) -> int:
4747

4848
IO_dict = {} # Dictionary {ID: IO_object} containing all hardware inputs and outputs.
4949

50-
available_timers = [3,4,5,7,8,9,10,11,12,13,14] # Hardware timers not in use. Used timers; 1: Framework clock tick, 2: Audio write_timed, 6: DAC write_timed.
50+
available_timers = [3,5,7,8,9,10,11,12,13,14] # Hardware timers not in use. Used timers; 1: Framework clock tick, 2: Rotary encoder, 4: Audio write_timed, 6: DAC write_timed.
5151

5252
initialised = False # Set to True once hardware has been intiialised.
5353

0 commit comments

Comments
 (0)