Skip to content

Commit

Permalink
- Readme updates
Browse files Browse the repository at this point in the history
- Bump XJSL 0.34 -> 0.35
- Bump xmosdoc 6.1.3 -> 6.2.0
- Documentation tidy
  • Loading branch information
xross committed Dec 6, 2024
1 parent 66890fd commit 58d6570
Show file tree
Hide file tree
Showing 22 changed files with 350 additions and 341 deletions.
6 changes: 4 additions & 2 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
@Library('[email protected]') _
// This file relates to internal XMOS infrastructure and should be ignored by external users

@Library('[email protected]') _

def checkout_shallow()
{
Expand Down Expand Up @@ -48,7 +50,7 @@ pipeline {

string(
name: 'XMOSDOC_VERSION',
defaultValue: 'v6.1.3',
defaultValue: 'v6.2.0',
description: 'The xmosdoc version')

string(
Expand Down
61 changes: 30 additions & 31 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ sw_usb_audio: USB Audio reference designs
:scope: General Use
:description: USB Audio reference designs
:category: Audio
:keywords: USB Audio, DFU
:devices: xcore.ai, xcore-200
:keywords: USB Audio, DFU, USB, I2S, ADAT, SPDIF, TDM
:hardware: XK-AUDIO-216-MC, XK-AUDIO-316-MC, XK-EVK-XU316

*******
Summary
Expand Down Expand Up @@ -99,8 +99,8 @@ Key features of the various applications in this repository are listed below. P

Note, not all features may be supported at all sample frequencies, simultaneously or on all devices. Some features also require specific host driver support.

Release Quality & QA
--------------------
Release quality & QA
====================

+---------------------------+--------------------------+
| Feature | Quality |
Expand Down Expand Up @@ -166,7 +166,6 @@ General known issues with this release are listed below. For board/application

- Compatibility issues exist with the Microsoft built in UAC1.0 driver (usbaudio.sys) and Intel Smart Sound Technology (SST) can result in audible distortions. This can be worked around by disabling the SST driver.


****************
Development repo
****************
Expand All @@ -178,54 +177,54 @@ Host system requirements
************************

USB Audio Class 1.0
-------------------
===================

- macOS version 10.6 or later
- Windows 10 or 11 with built-in USB Audio Class 1.0 driver.
* macOS version 10.6 or later
* Windows 10 or 11 with built-in USB Audio Class 1.0 driver.

USB Audio Class 2.0
-------------------
===================

- macOS version 10.6 or later
- Windows 10 or 11 with built-in USB Audio Class 2.0 driver.
- Windows 10 or 11 using built-in or Thesycon Audio Class 2.0 driver for Windows (Tested against version Thesycon driver version 5.70.0)
* macOS version 10.6 or later
* Windows 10 or 11 with built-in USB Audio Class 2.0 driver.
* Windows 10 or 11 using built-in or Thesycon Audio Class 2.0 driver for Windows (Tested against version Thesycon driver version 5.70.0)

**************
Required tools
**************

* XMOS XTC Tools: 15.3.0

* XMOS XTC Tools: 15.3.0

*********************************
Required libraries (dependencies)
*********************************

* `lib_sw_pll <https://www.xmos.com/file/lib_sw_pll>`_
* `lib_xua <https://www.xmos.com/file/lib_xua>`_
* `lib_adat <https://www.xmos.com/file/lib_adat>`_
* `lib_locks <https://www.xmos.com/file/lib_locks>`_
* `lib_logging <https://www.xmos.com/file/lib_logging>`_
* `lib_mic_array <https://www.xmos.com/file/lib_mic_array>`_
* `lib_xassert <https://www.xmos.com/file/lib_xassert>`_
* `lib_xcore_math <https://www.xmos.com/file/lib_xcore_math>`_
* `lib_spdif <https://www.xmos.com/file/lib_spdif>`_
* `lib_xud <https://www.xmos.com/file/lib_xud>`_
* `lib_i2c <https://www.xmos.com/file/lib_i2c>`_
* `lib_i2s <https://www.xmos.com/file/lib_i2s>`_
* `lib_sw_pll <https://www.xmos.com/file/lib_sw_pll>`_
* `lib_xua <https://www.xmos.com/file/lib_xua>`_
* `lib_adat <https://www.xmos.com/file/lib_adat>`_
* `lib_locks <https://www.xmos.com/file/lib_locks>`_
* `lib_logging <https://www.xmos.com/file/lib_logging>`_
* `lib_mic_array <https://www.xmos.com/file/lib_mic_array>`_
* `lib_xassert <https://www.xmos.com/file/lib_xassert>`_
* `lib_xcore_math <https://www.xmos.com/file/lib_xcore_math>`_
* `lib_spdif <https://www.xmos.com/file/lib_spdif>`_
* `lib_xud <https://www.xmos.com/file/lib_xud>`_
* `lib_i2c <https://www.xmos.com/file/lib_i2c>`_
* `lib_i2s <https://www.xmos.com/file/lib_i2s>`_


*************************
Related application notes
*************************

* AN02019: Using Device Firmware Upgrade (DFU) for USB Audio
* AN00136: Example USB Vendor Specific Device
* AN02026: Blocked DSP inside USB Audio
* AN01009: Optimizing USB Audio for stereo output, battery powered devices
* AN02019: Using Device Firmware Upgrade (DFU) for USB Audio
* AN00136: Example USB Vendor Specific Device
* AN02026: Blocked DSP inside USB Audio
* AN01009: Optimizing USB Audio for stereo output, battery powered devices

*******
Support
*******

This package is supported by XMOS Ltd. Issues can be raised against the software at http://www.xmos.com/support
This package is supported by XMOS Ltd. Issues can be raised against the software at
`http://www.xmos.com/support <http://www.xmos.com/support>`_
2 changes: 1 addition & 1 deletion app_usb_aud_xk_316_mc/src/core/xua_conf.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@

/* Enable/Disable S/PDIF output - Default is S/PDIF off */
#ifndef XUA_SPDIF_TX_EN
#define XUA_SPDIF_TX_EN (0)
#define XUA_SPDIF_TX_EN (0)
#endif

/* Enable/Disable S/PDIF input - Default is S/PDIF off */
Expand Down
12 changes: 7 additions & 5 deletions app_usb_aud_xk_316_mc/src/extensions/audiohw.xc
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,17 @@
#endif
#endif

static xk_audio_316_mc_ab_config_t config = {
static xk_audio_316_mc_ab_config_t config =
{
// clk_mode
(XUA_SYNCMODE == XUA_SYNCMODE_SYNC || XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
? ( XUA_USE_SW_PLL
? CLK_PLL : CLK_CS2100 )
: CLK_FIXED,

// dac_is_clk_master
CODEC_MASTER,

// default_mclk
(DEFAULT_FREQ % 22050 == 0) ? MCLK_441 : MCLK_48,

Expand Down Expand Up @@ -56,10 +57,11 @@ void board_setup()
/* Configures the external audio hardware at startup */
void AudioHwInit()
{
unsafe{
unsafe
{
/* Wait until global is set */
while(!(unsigned) i_i2c_client);
xk_audio_316_mc_ab_AudioHwInit((client interface i2c_master_if)i_i2c_client, config);
xk_audio_316_mc_ab_AudioHwInit((client interface i2c_master_if)i_i2c_client, config);
}
}

Expand Down
2 changes: 1 addition & 1 deletion doc/rst/api.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
|newpage|

***********************
USB Audio API Reference
USB Audio API reference
***********************

.. toctree::
Expand Down
25 changes: 14 additions & 11 deletions doc/rst/api_user_functions.rst
Original file line number Diff line number Diff line change
@@ -1,22 +1,24 @@
Required User Function Definitions
==================================
User function definitions
=========================

The following functions need to be defined by an application using the XMOS USB Audio framework.
The following functions can be optionally defined by an application to override default (empty)
implementation in ``lib_xua``.

External Audio Hardware Configuration Functions
-----------------------------------------------
External audio hardware configuration
-------------------------------------

The functions should be implemented to configure external audio hardware.

.. doxygenfunction:: AudioHwInit
.. doxygenfunction:: AudioHwConfig
.. doxygenfunction:: AudioHwConfig_Mute
.. doxygenfunction:: AudioHwConfig_UnMute


Audio Streaming Functions
-------------------------
Audio streaming notification
----------------------------

The following functions can be optionally used by the design by overriding their empty by default implementation in ``lib_xua``.
They can be useful for mute lines etc.
They functions can be useful for mute lines, indication LEDs etc.

.. doxygenfunction:: UserAudioStreamStart
.. doxygenfunction:: UserAudioStreamStop
Expand All @@ -26,10 +28,11 @@ They can be useful for mute lines etc.
.. doxygenfunction:: UserAudioOutputStreamStop


HID Controls
HID controls
------------

The following function is called when the device wishes to read physical user input (buttons etc).
The function should write relevant HID bits into this array. The bit ordering and functionality is defined by the HID report descriptor used.
The function should write relevant HID bits into this array.
The bit ordering and functionality is defined by the HID report descriptor used.

.. doxygenfunction:: UserHIDGetData
25 changes: 13 additions & 12 deletions doc/rst/api_xua_conf.rst
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@

.. _sec_xua_conf_api:

Configuration Defines
Configuration defines
=====================

An application using the USB audio framework provided by ``lib_xua`` needs to have defines set for configuration.
Defaults for these defines are found in ``lib_xua`` in ``xua_conf_default.h``.
An application using the USB audio framework provided by ``lib_xua`` needs to have defines set
for configuration. Defaults for these defines are found in ``lib_xua`` in ``xua_conf_default.h``.

An application should override these defines in an optional ``xua_conf.h`` file or in the ``CMakeLists.txt``
for the relevant build configuration.
An application should override these defines in an optional ``xua_conf.h`` file or in the
``CMakeLists.txt`` for the relevant build configuration.

This section documents commonly used defines, for full listings and documentation see the ``lib_xua``.


Code location (tile)
--------------------

Expand All @@ -22,7 +21,7 @@ Code location (tile)
.. doxygendefine:: PLL_REF_TILE
.. doxygendefine:: SPDIF_TX_TILE

Channel Counts
Channel counts
--------------

.. doxygendefine:: NUM_USB_CHAN_OUT
Expand All @@ -31,7 +30,7 @@ Channel Counts
.. doxygendefine:: I2S_CHANS_ADC
.. doxygendefine:: DSD_CHANS_DAC

Frequencies and Clocks
Frequencies and clocks
----------------------

.. doxygendefine:: MAX_FREQ
Expand All @@ -44,7 +43,7 @@ Audio Class

.. doxygendefine:: AUDIO_CLASS

System Feature Configuration
System feature configuration
----------------------------

MIDI
Expand All @@ -64,6 +63,8 @@ S/PDIF
ADAT
^^^^

.. doxygendefine:: XUA_ADAT_TX_EN
.. doxygendefine:: ADAT_TX_INDEX
.. doxygendefine:: XUA_ADAT_RX_EN
.. doxygendefine:: ADAT_RX_INDEX

Expand All @@ -89,7 +90,7 @@ CODEC Interface
.. doxygendefine:: CODEC_MASTER


USB Device Configuration
USB device configuration
------------------------

.. doxygendefine:: VENDOR_STR
Expand All @@ -101,13 +102,13 @@ USB Device Configuration
.. doxygendefine:: PID_AUDIO_2
.. doxygendefine:: BCD_DEVICE

Volume Control
Volume control
--------------

.. doxygendefine:: OUTPUT_VOLUME_CONTROL
.. doxygendefine:: INPUT_VOLUME_CONTROL

Mixing Parameters
Mixing parameters
-----------------

.. doxygendefine:: MIXER
Expand Down
Loading

0 comments on commit 58d6570

Please sign in to comment.