forked from PAWPAW-Mirror/lib_xua
Resolving build issues due to moving from custom/devicedefines.h to conf headers. Also removed i_audMan
This commit is contained in:
@@ -67,7 +67,7 @@ int main()
|
||||
on tile[1]: XUA_Buffer(c_ep_out[1], c_ep_in[1], c_sof, c_aud_ctl, p_for_mclk_count, c_aud);
|
||||
|
||||
/* IOHub core does most of the audio IO i.e. I2S (also serves as a hub for all audio) */
|
||||
on tile[0]: XUA_AudioHub(c_aud, null);
|
||||
on tile[0]: XUA_AudioHub(c_aud);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
/* Required by lib_xua at the moment. To be replaced with lib_xua_conf.h"
|
||||
*/
|
||||
|
||||
// Copyright (c) 2016, XMOS Ltd, All rights reserved
|
||||
#ifndef __custom_defines_h__
|
||||
#define __custom_defines_h__
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // __custom_defines_h__
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
#include <platform.h>
|
||||
#include <timer.h>
|
||||
#include "audiohw.h"
|
||||
#include "customdefines.h"
|
||||
|
||||
#include "xua.h"
|
||||
#include "i2c_shared.h"
|
||||
|
||||
#include "cs5368.h"
|
||||
|
||||
@@ -2,16 +2,14 @@
|
||||
#ifndef __XUA_H__
|
||||
#define __XUA_H__
|
||||
|
||||
#ifdef __xua_conf_h_exists__
|
||||
#include "xua_conf.h"
|
||||
#endif
|
||||
|
||||
#include "xua_conf_default.h"
|
||||
#include "xua_conf_full.h"
|
||||
|
||||
#if __XC__ || __STDC__
|
||||
#include "xua_audiohub.h"
|
||||
|
||||
#include "xua_endpoint0.h"
|
||||
|
||||
#include "xua_buffer.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -3,22 +3,12 @@
|
||||
|
||||
#if __XC__
|
||||
|
||||
#include "xccompat.h"
|
||||
|
||||
#ifndef NO_USB
|
||||
#include "dfu_interface.h"
|
||||
#endif
|
||||
|
||||
typedef interface audManage_if
|
||||
{
|
||||
[[guarded]]
|
||||
void transfer_buffers(int * unsafe in_aud_buf, int * unsafe in_usb_buf,
|
||||
int * unsafe out_usb_buf, int * unsafe out_aud_buf);
|
||||
|
||||
[[guarded]]
|
||||
void transfer_samples(int in_mic_buf[], int in_spk_buf[], int out_mic_buf[], int out_spk_buf[]);
|
||||
|
||||
} audManage_if;
|
||||
|
||||
|
||||
/** The audio driver thread.
|
||||
*
|
||||
* This function drives I2S ports and handles samples to/from other digital
|
||||
@@ -44,7 +34,6 @@ void XUA_AudioHub(chanend ?c_aud
|
||||
#if (NUM_PDM_MICS > 0)
|
||||
, chanend c_pdm_in
|
||||
#endif
|
||||
, client audManage_if ?i_audMan
|
||||
);
|
||||
|
||||
void SpdifTxWrapper(chanend c_spdif_tx);
|
||||
@@ -62,11 +51,8 @@ void AudioHwConfig(unsigned samFreq, unsigned mClk, unsigned dsdMode,
|
||||
|
||||
#endif // __XC__
|
||||
|
||||
void UserBufferManagementInit(CLIENT_INTERFACE(audManage_if, i_audMan));
|
||||
|
||||
void UserBufferManagement(unsigned sampsFromUsbToAudio[],
|
||||
unsigned sampsFromAudioToUsb[],
|
||||
CLIENT_INTERFACE(audManage_if, i_audMan));
|
||||
void UserBufferManagementInit();
|
||||
|
||||
void UserBufferManagement(unsigned sampsFromUsbToAudio[], unsigned sampsFromAudioToUsb[]);
|
||||
|
||||
#endif // __XUA_AUDIOHUB_H__
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
#ifndef __XUA_BUFFER_H__
|
||||
#define __XUA_BUFFER_H__
|
||||
/** USB Audio Buffering Thread.
|
||||
|
||||
#if __XC__
|
||||
|
||||
#include "xua.h"
|
||||
|
||||
/** USB Audio Buffering Core.
|
||||
*
|
||||
* This function buffers USB audio data between the XUD layer and the decouple
|
||||
* thread. Most of the chanend parameters to the function should be connected to
|
||||
@@ -17,8 +22,6 @@
|
||||
* \param c_aud_ctl Audio control channel connected to Endpoint0()
|
||||
* \param p_off_mclk A port that is clocked of the MCLK input (not the MCLK input itself)
|
||||
*/
|
||||
#include "devicedefines.h"
|
||||
|
||||
|
||||
void XUA_Buffer(
|
||||
chanend c_aud_out,
|
||||
@@ -112,6 +115,6 @@ void XUA_Buffer_Decouple(chanend c_audio_out
|
||||
#endif
|
||||
);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -2,9 +2,12 @@
|
||||
* @brief Defines relating to device configuration and customisation of lib_xua
|
||||
* @author Ross Owen, XMOS Limited
|
||||
*/
|
||||
#ifndef __XUA_CONF_H__
|
||||
#define __XUA_CONF_H__
|
||||
#ifndef __XUA_CONF_DEFAULT_H__
|
||||
#define __XUA_CONF_DEFAULT_H__
|
||||
|
||||
#ifdef __xua_conf_h_exists__
|
||||
#include "xua_conf.h"
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -1163,7 +1166,7 @@
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
/* Endpoint addresses enums */
|
||||
enum USBEndpointNumber_In
|
||||
{
|
||||
@@ -1209,6 +1212,8 @@ enum USBEndpointNumber_Out
|
||||
ENDPOINT_COUNT_OUT /* End marker */
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
/*** Internal defines below here. NOT FOR MODIFICATION ***/
|
||||
|
||||
#define AUDIO_STOP_FOR_DFU (0x12345678)
|
||||
|
||||
10
lib_xua/api/xua_conf_full.h
Normal file
10
lib_xua/api/xua_conf_full.h
Normal file
@@ -0,0 +1,10 @@
|
||||
#ifndef __XUA_CONF_FULL_H__
|
||||
#define __XUA_CONF_FULL_H__
|
||||
|
||||
#ifdef __xua_conf_h_exists__
|
||||
#include "xua_conf.h"
|
||||
#endif
|
||||
|
||||
#include "xua_conf_default.h"
|
||||
|
||||
#endif
|
||||
@@ -2,10 +2,11 @@
|
||||
#ifndef _XUA_ENDPOINT0_H_
|
||||
#define _XUA_ENDPOINT0_H_
|
||||
|
||||
#include "xua_conf_default.h"
|
||||
#include "xua.h"
|
||||
#include "dfu_interface.h"
|
||||
#include "vendorrequests.h"
|
||||
|
||||
#if __XC__
|
||||
/** Function implementing Endpoint 0 for enumeration, control and configuration
|
||||
* of USB audio devices. It uses the descriptors defined in ``descriptors_2.h``.
|
||||
*
|
||||
@@ -27,3 +28,4 @@ void XUA_Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioCtrl,
|
||||
VENDOR_REQUESTS_PARAMS_DEC_);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -14,10 +14,7 @@
|
||||
#include <xs1_su.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "xua_conf_default.h"
|
||||
|
||||
#include "devicedefines.h" /* TODO rm me */
|
||||
#include "xua_audiohub.h"
|
||||
#include "xua.h"
|
||||
|
||||
#include "audioports.h"
|
||||
#include "audiohw.h"
|
||||
@@ -248,7 +245,7 @@ static inline void TransferAdatTxSamples(chanend c_adat_out, const unsigned samp
|
||||
|
||||
#ifndef NO_USB
|
||||
#pragma unsafe arrays
|
||||
static inline unsigned DoSampleTransfer(chanend c_out, const int readBuffNo, const unsigned underflowWord, client audManage_if ?i_audMan)
|
||||
static inline unsigned DoSampleTransfer(chanend c_out, const int readBuffNo, const unsigned underflowWord)
|
||||
{
|
||||
outuint(c_out, underflowWord);
|
||||
|
||||
@@ -290,7 +287,7 @@ static inline unsigned DoSampleTransfer(chanend c_out, const int readBuffNo, con
|
||||
#else
|
||||
inuint(c_out);
|
||||
#endif
|
||||
UserBufferManagement(samplesOut, samplesIn[readBuffNo], i_audMan);
|
||||
UserBufferManagement(samplesOut, samplesIn[readBuffNo]);
|
||||
|
||||
#if NUM_USB_CHAN_IN > 0
|
||||
#pragma loop unroll
|
||||
@@ -306,9 +303,9 @@ static inline unsigned DoSampleTransfer(chanend c_out, const int readBuffNo, con
|
||||
|
||||
#else /* NO_USB */
|
||||
#pragma unsafe arrays
|
||||
static inline unsigned DoSampleTransfer(chanend ?c_out, const int readBuffNo, const unsigned underflowWord, client audManage_if ?i_audMan)
|
||||
static inline unsigned DoSampleTransfer(chanend ?c_out, const int readBuffNo, const unsigned underflowWord)
|
||||
{
|
||||
UserBufferManagement(samplesOut, samplesIn[readBuffNo], i_audMan);
|
||||
UserBufferManagement(samplesOut, samplesIn[readBuffNo]);
|
||||
return 0;
|
||||
}
|
||||
#endif /* NO_USB */
|
||||
@@ -448,20 +445,19 @@ static inline void InitPorts(unsigned divide)
|
||||
|
||||
/* I2S delivery thread */
|
||||
#pragma unsafe arrays
|
||||
unsigned static deliver(chanend ?c_out, chanend ?c_spd_out,
|
||||
unsigned static deliver(chanend ?c_out, chanend ?c_spd_out
|
||||
#ifdef ADAT_TX
|
||||
chanend c_adat_out,
|
||||
unsigned adatSmuxMode,
|
||||
, chanend c_adat_out
|
||||
, unsigned adatSmuxMode
|
||||
#endif
|
||||
unsigned divide, unsigned curSamFreq,
|
||||
, unsigned divide, unsigned curSamFreq
|
||||
#if(defined(SPDIF_RX) || defined(ADAT_RX))
|
||||
chanend c_dig_rx,
|
||||
, chanend c_dig_rx
|
||||
#endif
|
||||
#if (NUM_PDM_MICS > 0)
|
||||
chanend c_pdm_pcm,
|
||||
, chanend c_pdm_pcm
|
||||
#endif
|
||||
chanend ?unused,
|
||||
client audManage_if i_audMan)
|
||||
)
|
||||
{
|
||||
|
||||
/* Since DAC and ADC buffered ports off by one sample we buffer previous ADC frame */
|
||||
@@ -538,12 +534,12 @@ unsigned static deliver(chanend ?c_out, chanend ?c_spd_out,
|
||||
}
|
||||
#endif // ((DEBUG_MIC_ARRAY == 1) && (NUM_PDM_MICS > 0))
|
||||
|
||||
UserBufferManagementInit(i_audMan);
|
||||
UserBufferManagementInit();
|
||||
|
||||
unsigned command = DoSampleTransfer(c_out, readBuffNo, underflowWord, i_audMan);
|
||||
unsigned command = DoSampleTransfer(c_out, readBuffNo, underflowWord);
|
||||
|
||||
// Reinitialise user state before entering the main loop
|
||||
UserBufferManagementInit(i_audMan);
|
||||
UserBufferManagementInit();
|
||||
|
||||
#ifdef ADAT_TX
|
||||
unsafe{
|
||||
@@ -1001,9 +997,9 @@ unsigned static deliver(chanend ?c_out, chanend ?c_spd_out,
|
||||
/* The below looks a bit odd but forces the compiler to inline twice */
|
||||
unsigned command;
|
||||
if(readBuffNo)
|
||||
command = DoSampleTransfer(c_out, 1, underflowWord, i_audMan);
|
||||
command = DoSampleTransfer(c_out, 1, underflowWord);
|
||||
else
|
||||
command = DoSampleTransfer(c_out, 0, underflowWord, i_audMan);
|
||||
command = DoSampleTransfer(c_out, 0, underflowWord);
|
||||
|
||||
if(command)
|
||||
{
|
||||
@@ -1123,7 +1119,6 @@ chanend c_dig_rx,
|
||||
#if (NUM_PDM_MICS > 0)
|
||||
, chanend c_pdm_in
|
||||
#endif
|
||||
, client audManage_if ?i_audMan
|
||||
)
|
||||
{
|
||||
#if defined (SPDIF_TX) && (SPDIF_TX_TILE == AUDIO_IO_TILE)
|
||||
@@ -1351,24 +1346,23 @@ chanend c_dig_rx,
|
||||
outuint(c_adat_out, adatMultiple);
|
||||
outuint(c_adat_out, adatSmuxMode);
|
||||
#endif
|
||||
command = deliver(c_mix_out,
|
||||
command = deliver(c_mix_out
|
||||
#ifdef SPDIF_TX
|
||||
c_spdif_out,
|
||||
, c_spdif_out
|
||||
#else
|
||||
null,
|
||||
, null
|
||||
#endif
|
||||
#ifdef ADAT_TX
|
||||
c_adat_out,
|
||||
adatSmuxMode,
|
||||
, c_adat_out
|
||||
, adatSmuxMode
|
||||
#endif
|
||||
divide, curSamFreq,
|
||||
, divide, curSamFreq
|
||||
#if defined (ADAT_RX) || defined (SPDIF_RX)
|
||||
c_dig_rx,
|
||||
, c_dig_rx
|
||||
#endif
|
||||
#if (NUM_PDM_MICS > 0)
|
||||
c_pdm_in,
|
||||
, c_pdm_in
|
||||
#endif
|
||||
null, i_audMan
|
||||
);
|
||||
|
||||
#ifndef NO_USB
|
||||
|
||||
@@ -3,15 +3,13 @@
|
||||
#include "xua_audiohub.h"
|
||||
|
||||
/* Default implementation for UserBufferManagementInit() */
|
||||
void __attribute__ ((weak)) UserBufferManagementInit(CLIENT_INTERFACE(audManage_if, i_audMan))
|
||||
void __attribute__ ((weak)) UserBufferManagementInit()
|
||||
{
|
||||
/* Do nothing */
|
||||
}
|
||||
|
||||
/* Default implementation for UserBufferManagement() */
|
||||
void __attribute__ ((weak)) UserBufferManagement(unsigned sampsFromUsbToAudio[],
|
||||
unsigned sampsFromAudioToUsb[],
|
||||
CLIENT_INTERFACE(audManage_if, i_audMan))
|
||||
void __attribute__ ((weak)) UserBufferManagement(unsigned sampsFromUsbToAudio[], unsigned sampsFromAudioToUsb[])
|
||||
{
|
||||
/* Do nothing */
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include <assert.h>
|
||||
#include <print.h>
|
||||
|
||||
#include "devicedefines.h"
|
||||
#include "xua.h"
|
||||
#include "commands.h"
|
||||
|
||||
#if defined(SPDIF_RX)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
|
||||
#ifndef __XUA_INTERNAL_CMDS_H__
|
||||
#define __XUA_INTERNAL_CMDS_H_
|
||||
#define __XUA_INTERNAL_CMDS_H__
|
||||
|
||||
#include "xua_conf_default.h"
|
||||
#include "xua.h"
|
||||
|
||||
/* Clocking commands - c_clk_ctl */
|
||||
#define GET_SEL 0 /* Get value of clock selector */
|
||||
|
||||
@@ -2,13 +2,15 @@
|
||||
* @brief Implements relevant requests from the USB Audio 2.0 Specification
|
||||
* @author Ross Owen, XMOS Semiconductor
|
||||
*/
|
||||
|
||||
#include "xua.h"
|
||||
|
||||
#ifndef NO_USB
|
||||
#include <xs1.h>
|
||||
#include "xud_device.h"
|
||||
#include "usbaudio20.h"
|
||||
#include "usbaudio10.h"
|
||||
#include "dbcalc.h"
|
||||
#include "devicedefines.h"
|
||||
#include "commands.h"
|
||||
#include "xc_ptr.h"
|
||||
#ifdef MIXER
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define _VENDORREQUESTS_H_
|
||||
|
||||
#include <xccompat.h>
|
||||
#include "xua_conf_default.h"
|
||||
#include "xua.h"
|
||||
#include "xud_device.h"
|
||||
|
||||
/* Functions that handle vustomer vendor requests.
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#include <safestring.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#include "xua_conf_default.h"
|
||||
#include "xua.h"
|
||||
|
||||
#ifndef NO_USB
|
||||
#include "xud_device.h" /* Standard descriptor requests */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
#include "devicedefines.h" /* Device specific defines */
|
||||
#include "xua.h" /* Device specific defines */
|
||||
#ifndef EXCLUDE_USB_AUDIO_MAIN
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
#include <xs1.h>
|
||||
#include <print.h>
|
||||
#include "xua.h"
|
||||
#include "mixer.h"
|
||||
#include "devicedefines.h"
|
||||
#include "xc_ptr.h"
|
||||
#include "commands.h"
|
||||
#include "dbcalc.h"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef MIC_ARRAY_CONF_H_
|
||||
#define MIC_ARRAY_CONF_H_
|
||||
|
||||
#include "customdefines.h"
|
||||
#include "xua_conf_full.h"
|
||||
|
||||
#define MIC_ARRAY_MAX_FRAME_SIZE_LOG2 0
|
||||
#define MIC_ARRAY_NUM_MICS (NUM_PDM_MICS)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
#include "devicedefines.h"
|
||||
#include "xua.h"
|
||||
|
||||
#if (NUM_PDM_MICS > 0)
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
#include "xua_conf_default.h""
|
||||
#include "xua.h"
|
||||
|
||||
#if (NUM_PDM_MICS > 0) && !defined(MIC_PROCESSING_USE_INTERFACE)
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#undef __ASSEMBLER__
|
||||
#include "audioports.h"
|
||||
#include <xccompat.h>
|
||||
#include "xua_conf_default.h"
|
||||
#include "xua.h"
|
||||
|
||||
/* Note since DSD ports could be reused for I2S ports we do all the setup manually in C */
|
||||
#if DSD_CHANS_DAC > 0
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define _AUDIOPORTS_H_
|
||||
|
||||
#include <xccompat.h>
|
||||
#include "xua_conf_default.h"
|
||||
#include "xua.h"
|
||||
|
||||
#ifdef __XC__
|
||||
void ConfigAudioPorts(
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#include <xs1.h>
|
||||
#include <platform.h>
|
||||
#include <print.h>
|
||||
#include "xua_conf_default.h"
|
||||
#include "xua.h"
|
||||
#include "audioports.h"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef NO_USB
|
||||
#include <xs1.h>
|
||||
#include "xua.h"
|
||||
#include "xc_ptr.h"
|
||||
#include "devicedefines.h"
|
||||
#include "interrupt.h"
|
||||
#include "commands.h"
|
||||
#include "xud.h"
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
#include <xs1.h>
|
||||
#include <print.h>
|
||||
|
||||
#include "devicedefines.h"
|
||||
#include "xua_buffer.h"
|
||||
#include "xua.h"
|
||||
|
||||
#ifdef MIDI
|
||||
#include "usb_midi.h"
|
||||
|
||||
@@ -3,9 +3,7 @@
|
||||
Warnings relating to configuration defines located in this XC source file rather than the devicedefines.h header file in order to avoid multiple warnings being issued when the devicedefines.h header file is included in multiple files.
|
||||
*/
|
||||
|
||||
#include "customdefines.h"
|
||||
|
||||
#include "customdefines.h"
|
||||
#include "xua_conf_default.h"
|
||||
|
||||
#ifndef NO_USB
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#define _DEVICE_DESCRIPTORS_
|
||||
|
||||
#include <stddef.h>
|
||||
#include "xua_conf_default.h" /* Device specific define */
|
||||
#include "xua.h" /* Device specific define */
|
||||
#include "descriptor_defs.h"
|
||||
#include "usbaudio20.h" /* Defines from the USB Audio 2.0 Specifications */
|
||||
#include "usbaudiocommon.h"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#ifndef NO_USB
|
||||
#include "xua_conf_default.h"
|
||||
#include "xua.h"
|
||||
#include "hostactive.h"
|
||||
#include "audiostream.h"
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
#include "devicedefines.h"
|
||||
#include "xua.h"
|
||||
#if (XUA_DFU == 1)
|
||||
#include <xs1.h>
|
||||
#include <platform.h>
|
||||
#include "devicedefines.h"
|
||||
|
||||
#ifndef NO_USB
|
||||
#include "xud_device.h"
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
#ifndef __DFU_INTERFACE_H__
|
||||
#define __DFU_INTERFACE_H__
|
||||
|
||||
#if __XC__
|
||||
|
||||
#include "xud_device.h"
|
||||
|
||||
interface i_dfu
|
||||
@@ -9,6 +11,8 @@ interface i_dfu
|
||||
{unsigned, int, int, int, unsigned} HandleDfuRequest(USB_SetupPacket_t &sp, unsigned data_buffer[], unsigned data_buffer_length, unsigned dfuState);
|
||||
void finish();
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef __usb_midi_h__
|
||||
#define __usb_midi_h__
|
||||
|
||||
#include "devicedefines.h"
|
||||
#include "xua.h"
|
||||
|
||||
/** USB MIDI I/O thread.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user