forked from PAWPAW-Mirror/lib_xua
ADAT_TX renamed to XUA_ADAT_TX_EN
This commit is contained in:
@@ -1,6 +1,14 @@
|
|||||||
lib_xua Change Log
|
lib_xua Change Log
|
||||||
==================
|
==================
|
||||||
|
|
||||||
|
UNRELEASED
|
||||||
|
----------
|
||||||
|
|
||||||
|
* FIXED: Insufficient buffering of input packets
|
||||||
|
* CHANGED: Define ADAT_RX renamed to XUA_ADAT_RX_EN
|
||||||
|
* CHANGED: Define ADAT_TX renamed to XUA_ADAT_TX_EN
|
||||||
|
* CHANGED: Define SPDIF_RX renamed to XUA_SPDIF_RX_EN
|
||||||
|
|
||||||
3.2.0
|
3.2.0
|
||||||
-----
|
-----
|
||||||
|
|
||||||
@@ -11,7 +19,6 @@ lib_xua Change Log
|
|||||||
* FIXED: Incorrect conditional compilation of HID report code
|
* FIXED: Incorrect conditional compilation of HID report code
|
||||||
* FIXED: Input/output descriptors written when input/output not enabled.
|
* FIXED: Input/output descriptors written when input/output not enabled.
|
||||||
(Audio class 1.0 mode using XUA_USB_DESCRIPTOR_OVERWRITE_RATE_RES)
|
(Audio class 1.0 mode using XUA_USB_DESCRIPTOR_OVERWRITE_RATE_RES)
|
||||||
* FIXED: Insufficient buffering of input packets
|
|
||||||
|
|
||||||
* Changes to dependencies:
|
* Changes to dependencies:
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
#if (XUA_SPDIF_TX_EN)
|
#if (XUA_SPDIF_TX_EN)
|
||||||
#include "spdif.h"
|
#include "spdif.h"
|
||||||
#endif
|
#endif
|
||||||
#ifdef ADAT_TX
|
#if (XUA_ADAT_TX_EN)
|
||||||
#include "adat_tx.h"
|
#include "adat_tx.h"
|
||||||
#ifndef ADAT_TX_USE_SHARED_BUFF
|
#ifndef ADAT_TX_USE_SHARED_BUFF
|
||||||
#error Designed for ADAT tx shared buffer mode ONLY
|
#error Designed for ADAT tx shared buffer mode ONLY
|
||||||
@@ -63,11 +63,11 @@ static unsigned samplesIn[2][MAX(NUM_USB_CHAN_IN, IN_CHAN_COUNT)];
|
|||||||
#pragma xta command "set required - 2000 ns"
|
#pragma xta command "set required - 2000 ns"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ADAT_TX
|
#if (XUA_ADAT_TX_EN)
|
||||||
extern buffered out port:32 p_adat_tx;
|
extern buffered out port:32 p_adat_tx;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(ADAT_TX)
|
#if (XUA_ADAT_TX_EN)
|
||||||
extern clock clk_mst_spd;
|
extern clock clk_mst_spd;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -86,7 +86,7 @@ unsigned dsdMode = DSD_MODE_OFF;
|
|||||||
#include "audiohub_dsd.h"
|
#include "audiohub_dsd.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ADAT_TX
|
#if (XUA_ADAT_TX_EN)
|
||||||
#include "audiohub_adat.h"
|
#include "audiohub_adat.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -208,7 +208,7 @@ static inline int HandleSampleClock(int frameCount, buffered _XUA_CLK_DIR port:3
|
|||||||
|
|
||||||
#pragma unsafe arrays
|
#pragma unsafe arrays
|
||||||
unsigned static AudioHub_MainLoop(chanend ?c_out, chanend ?c_spd_out
|
unsigned static AudioHub_MainLoop(chanend ?c_out, chanend ?c_spd_out
|
||||||
#ifdef ADAT_TX
|
#if (XUA_ADAT_TX_EN)
|
||||||
, chanend c_adat_out
|
, chanend c_adat_out
|
||||||
, unsigned adatSmuxMode
|
, unsigned adatSmuxMode
|
||||||
#endif
|
#endif
|
||||||
@@ -238,7 +238,7 @@ unsigned static AudioHub_MainLoop(chanend ?c_out, chanend ?c_spd_out
|
|||||||
#endif
|
#endif
|
||||||
unsigned underflowWord = 0;
|
unsigned underflowWord = 0;
|
||||||
|
|
||||||
#ifdef ADAT_TX
|
#if (XUA_ADAT_TX_EN)
|
||||||
adatCounter = 0;
|
adatCounter = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -296,7 +296,7 @@ unsigned static AudioHub_MainLoop(chanend ?c_out, chanend ?c_spd_out
|
|||||||
// Reinitialise user state before entering the main loop
|
// Reinitialise user state before entering the main loop
|
||||||
UserBufferManagementInit();
|
UserBufferManagementInit();
|
||||||
|
|
||||||
#ifdef ADAT_TX
|
#if (XUA_ADAT_TX_EN)
|
||||||
unsafe{
|
unsafe{
|
||||||
//TransferAdatTxSamples(c_adat_out, samplesOut, adatSmuxMode, 0);
|
//TransferAdatTxSamples(c_adat_out, samplesOut, adatSmuxMode, 0);
|
||||||
volatile unsigned * unsafe samplePtr = &samplesOut[ADAT_TX_INDEX];
|
volatile unsigned * unsafe samplePtr = &samplesOut[ADAT_TX_INDEX];
|
||||||
@@ -411,7 +411,7 @@ unsigned static AudioHub_MainLoop(chanend ?c_out, chanend ?c_spd_out
|
|||||||
}
|
}
|
||||||
#endif // (I2S_CHANS_DAC != 0)
|
#endif // (I2S_CHANS_DAC != 0)
|
||||||
|
|
||||||
#ifdef ADAT_TX
|
#if (XUA_ADAT_TX_EN)
|
||||||
TransferAdatTxSamples(c_adat_out, samplesOut, adatSmuxMode, 1);
|
TransferAdatTxSamples(c_adat_out, samplesOut, adatSmuxMode, 1);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -679,12 +679,11 @@ void XUA_AudioHub(chanend ?c_aud, clock ?clk_audio_mclk, clock ?clk_audio_bclk,
|
|||||||
#endif
|
#endif
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
#ifdef ADAT_TX
|
#if (XUA_ADAT_TX_EN)
|
||||||
chan c_adat_out;
|
chan c_adat_out;
|
||||||
unsigned adatSmuxMode = 0;
|
unsigned adatSmuxMode = 0;
|
||||||
unsigned adatMultiple = 0;
|
unsigned adatMultiple = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
unsigned curSamFreq = DEFAULT_FREQ * AUD_TO_USB_RATIO;
|
unsigned curSamFreq = DEFAULT_FREQ * AUD_TO_USB_RATIO;
|
||||||
unsigned curSamRes_DAC = STREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS; /* Default to something reasonable */
|
unsigned curSamRes_DAC = STREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS; /* Default to something reasonable */
|
||||||
unsigned curSamRes_ADC = STREAM_FORMAT_INPUT_1_RESOLUTION_BITS; /* Default to something reasonable - note, currently this never changes*/
|
unsigned curSamRes_ADC = STREAM_FORMAT_INPUT_1_RESOLUTION_BITS; /* Default to something reasonable - note, currently this never changes*/
|
||||||
@@ -708,7 +707,7 @@ void XUA_AudioHub(chanend ?c_aud, clock ?clk_audio_mclk, clock ?clk_audio_bclk,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ADAT_TX
|
#if (XUA_ADAT_TX_EN)
|
||||||
/* Share SPDIF clk blk */
|
/* Share SPDIF clk blk */
|
||||||
configure_clock_src(clk_mst_spd, p_mclk_in);
|
configure_clock_src(clk_mst_spd, p_mclk_in);
|
||||||
configure_out_port_no_ready(p_adat_tx, clk_mst_spd, 0);
|
configure_out_port_no_ready(p_adat_tx, clk_mst_spd, 0);
|
||||||
@@ -727,7 +726,7 @@ void XUA_AudioHub(chanend ?c_aud, clock ?clk_audio_mclk, clock ?clk_audio_bclk,
|
|||||||
if (((MCLK_441) % curSamFreq) == 0)
|
if (((MCLK_441) % curSamFreq) == 0)
|
||||||
{
|
{
|
||||||
mClk = MCLK_441;
|
mClk = MCLK_441;
|
||||||
#ifdef ADAT_TX
|
#if (XUA_ADAT_TX_EN)
|
||||||
/* Calculate ADAT SMUX mode (1, 2, 4) */
|
/* Calculate ADAT SMUX mode (1, 2, 4) */
|
||||||
adatSmuxMode = curSamFreq / 44100;
|
adatSmuxMode = curSamFreq / 44100;
|
||||||
adatMultiple = mClk / 44100;
|
adatMultiple = mClk / 44100;
|
||||||
@@ -736,7 +735,7 @@ void XUA_AudioHub(chanend ?c_aud, clock ?clk_audio_mclk, clock ?clk_audio_bclk,
|
|||||||
else if (((MCLK_48) % curSamFreq) == 0)
|
else if (((MCLK_48) % curSamFreq) == 0)
|
||||||
{
|
{
|
||||||
mClk = MCLK_48;
|
mClk = MCLK_48;
|
||||||
#ifdef ADAT_TX
|
#if (XUA_ADAT_TX_EN)
|
||||||
/* Calculate ADAT SMUX mode (1, 2, 4) */
|
/* Calculate ADAT SMUX mode (1, 2, 4) */
|
||||||
adatSmuxMode = curSamFreq / 48000;
|
adatSmuxMode = curSamFreq / 48000;
|
||||||
adatMultiple = mClk / 48000;
|
adatMultiple = mClk / 48000;
|
||||||
@@ -860,7 +859,7 @@ void XUA_AudioHub(chanend ?c_aud, clock ?clk_audio_mclk, clock ?clk_audio_bclk,
|
|||||||
par
|
par
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifdef ADAT_TX
|
#if (XUA_ADAT_TX_EN)
|
||||||
{
|
{
|
||||||
set_thread_fast_mode_on();
|
set_thread_fast_mode_on();
|
||||||
adat_tx_port(c_adat_out, p_adat_tx);
|
adat_tx_port(c_adat_out, p_adat_tx);
|
||||||
@@ -879,7 +878,7 @@ void XUA_AudioHub(chanend ?c_aud, clock ?clk_audio_mclk, clock ?clk_audio_bclk,
|
|||||||
c_pdm_in <: curSamFreq / AUD_TO_MICS_RATIO;
|
c_pdm_in <: curSamFreq / AUD_TO_MICS_RATIO;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ADAT_TX
|
#if (XUA_ADAT_TX_EN)
|
||||||
// Configure ADAT parameters ...
|
// Configure ADAT parameters ...
|
||||||
//
|
//
|
||||||
// adat_oversampling = 256 for MCLK = 12M288 or 11M2896
|
// adat_oversampling = 256 for MCLK = 12M288 or 11M2896
|
||||||
@@ -899,7 +898,7 @@ void XUA_AudioHub(chanend ?c_aud, clock ?clk_audio_mclk, clock ?clk_audio_bclk,
|
|||||||
#else
|
#else
|
||||||
, null
|
, null
|
||||||
#endif
|
#endif
|
||||||
#ifdef ADAT_TX
|
#if (XUA_ADAT_TX_EN)
|
||||||
, c_adat_out
|
, c_adat_out
|
||||||
, adatSmuxMode
|
, adatSmuxMode
|
||||||
#endif
|
#endif
|
||||||
@@ -964,7 +963,7 @@ void XUA_AudioHub(chanend ?c_aud, clock ?clk_audio_mclk, clock ?clk_audio_bclk,
|
|||||||
c_pdm_in <: 0;
|
c_pdm_in <: 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ADAT_TX
|
#if (XUA_ADAT_TX_EN)
|
||||||
#ifdef ADAT_TX_USE_SHARED_BUFF
|
#ifdef ADAT_TX_USE_SHARED_BUFF
|
||||||
/* Take out-standing handshake from ADAT core */
|
/* Take out-standing handshake from ADAT core */
|
||||||
inuint(c_adat_out);
|
inuint(c_adat_out);
|
||||||
|
|||||||
@@ -138,11 +138,11 @@ on tile[AUDIO_IO_TILE] : in port p_mclk_in = PORT_MCLK_IN;
|
|||||||
on tile[XUD_TILE] : in port p_for_mclk_count = PORT_MCLK_COUNT;
|
on tile[XUD_TILE] : in port p_for_mclk_count = PORT_MCLK_COUNT;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (XUA_SPDIF_TX_EN == 1)
|
#if (XUA_SPDIF_TX_EN)
|
||||||
on tile[SPDIF_TX_TILE] : buffered out port:32 p_spdif_tx = PORT_SPDIF_OUT;
|
on tile[SPDIF_TX_TILE] : buffered out port:32 p_spdif_tx = PORT_SPDIF_OUT;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ADAT_TX
|
#if (XUA_ADAT_TX_EN)
|
||||||
on stdcore[AUDIO_IO_TILE] : buffered out port:32 p_adat_tx = PORT_ADAT_OUT;
|
on stdcore[AUDIO_IO_TILE] : buffered out port:32 p_adat_tx = PORT_ADAT_OUT;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -178,7 +178,7 @@ clock clk_pdm = on tile[PDM_TILE]:
|
|||||||
on tile[MIDI_TILE] : clock clk_midi = CLKBLK_MIDI;
|
on tile[MIDI_TILE] : clock clk_midi = CLKBLK_MIDI;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if XUA_SPDIF_TX_EN || defined(ADAT_TX)
|
#if (XUA_SPDIF_TX_EN || XUA_ADAT_TX_EN)
|
||||||
on tile[SPDIF_TX_TILE] : clock clk_mst_spd = CLKBLK_SPDIF_TX;
|
on tile[SPDIF_TX_TILE] : clock clk_mst_spd = CLKBLK_SPDIF_TX;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user