Introduction ============ .. image:: https://readthedocs.org/projects/adafruit-circuitpython-tlv320/badge/?version=latest :target: https://docs.circuitpython.org/projects/tlv320/en/latest/ :alt: Documentation Status .. image:: https://raw.githubusercontent.com/adafruit/Adafruit_CircuitPython_Bundle/main/badges/adafruit_discord.svg :target: https://adafru.it/discord :alt: Discord .. image:: https://github.com/adafruit/Adafruit_CircuitPython_TLV320/workflows/Build%20CI/badge.svg :target: https://github.com/adafruit/Adafruit_CircuitPython_TLV320/actions :alt: Build Status .. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json :target: https://github.com/astral-sh/ruff :alt: Code Style: Ruff CircuitPython driver for the TLV320DAC3100 I2S DAC Dependencies ============= This driver depends on: * `Adafruit CircuitPython `_ * `Bus Device `_ Please ensure all dependencies are available on the CircuitPython filesystem. This is easily achieved by downloading `the Adafruit library and driver bundle `_ or individual libraries can be installed using `circup `_. Installing from PyPI ===================== On supported GNU/Linux systems like the Raspberry Pi, you can install the driver locally `from PyPI `_. To install for current user: .. code-block:: shell pip3 install adafruit-circuitpython-tlv320 To install system-wide (this may be required in some cases): .. code-block:: shell sudo pip3 install adafruit-circuitpython-tlv320 To install in a virtual environment in your current project: .. code-block:: shell mkdir project-name && cd project-name python3 -m venv .venv source .env/bin/activate pip3 install adafruit-circuitpython-tlv320 Installing to a Connected CircuitPython Device with Circup ========================================================== Make sure that you have ``circup`` installed in your Python environment. Install it with the following command if necessary: .. code-block:: shell pip3 install circup With ``circup`` installed and your CircuitPython device connected use the following command to install: .. code-block:: shell circup install adafruit_tlv320 Or the following command to update an existing version: .. code-block:: shell circup update Usage Example ============= .. code-block:: python import audiobusio import audiocore import board import digitalio import adafruit_tlv320 # Reset the DAC before use reset_pin = digitalio.DigitalInOut(board.D12) reset_pin.direction = digitalio.Direction.OUTPUT reset_pin.value = False # Set low to reset time.sleep(0.1) # Pause 100ms reset_pin.value = True # Set high to release from reset i2c = board.I2C() dac = adafruit_tlv320.TLV320DAC3100(i2c) # set mclk, sample rate & bit depth dac.configure_clocks(sample_rate=44100, bit_depth=16) # use headphones # helper function for default settings dac.headphone_output = True dac.dac_volume = -20 # dB audio = audiobusio.I2SOut(board.I2S_BCLK, board.I2S_WS, board.I2S_DIN) Documentation ============= API documentation for this library can be found on `Read the Docs `_. For information on building library documentation, please check out `this guide `_. Contributing ============ Contributions are welcome! Please read our `Code of Conduct `_ before contributing to help this project stay welcoming.