SAMV71 Xplained Ultra Software Package 1.5

main.c File Reference

#include "board.h"
#include <CDCAUDDDriver.h>
#include <CDCDSerial.h>
#include <AUDDFunction.h>
#include <USBD_Config.h>
#include <stdio.h>
#include <stdbool.h>
#include <stdint.h>

Go to the source code of this file.

Defines

#define DATAPACKETSIZE   CHIP_USB_ENDPOINTS_MAXPACKETSIZE(CDCAUDD_Descriptors_DATAIN0)
#define DATABUFFERSIZE   (DATAPACKETSIZE+2)
#define BUFFER_NUMBER   500
#define BUFFER_SIZE   (AUDDevice_BYTESPERFRAME)
#define DAC_DELAY   2
#define SLOT_BY_FRAME   (2)
#define BITS_BY_SLOT   (16)
#define I2S_SLAVE_TX_SETTING
#define I2S_SLAVE_TX_FRM_SETTING
#define I2S_SLAVE_RX_SETTING
#define I2S_SLAVE_RX_FRM_SETTING
#define TWI_CLOCK   400000
#define SAMPLE_RATE   (48000)

Functions

 COMPILER_ALIGNED (32)
void XDMAC_Handler (void)
 xDMA interrupt handler.
void USBDDriverCallbacks_ConfigurationChanged (uint8_t cfgnum)
void USBDDriverCallbacks_InterfaceSettingChanged (uint8_t interface, uint8_t setting)
void USBDCallbacks_RequestReceived (const USBGenericRequest *request)
void CDCDSerial_ControlLineStateChanged (uint8_t DTR, uint8_t RTS)
void AUDDFunction_MuteChanged (uint8_t mic, uint8_t channel, uint8_t muted)
void AUDDFunction_StreamSettingChanged (uint8_t mic, uint8_t newSetting)
int main (void)
 usb_iad_cdc_aud Application entry point.

Variables

const USBDDriverDescriptors cdcauddDriverDescriptors

Detailed Description

This file contains all the specific code for the usb_iad_cdc_aud example.

Definition in file main.c.


Define Documentation

#define BITS_BY_SLOT   (16)

SSC: Number of bits in a slot

Definition at line 150 of file main.c.

#define BUFFER_NUMBER   500

Number of available audio buffers.

Definition at line 139 of file main.c.

#define BUFFER_SIZE   (AUDDevice_BYTESPERFRAME)

Size of one buffer in bytes.

Definition at line 141 of file main.c.

#define DAC_DELAY   2

Delay in ms for starting the DAC transmission after a frame has been received.

Definition at line 145 of file main.c.

#define DATABUFFERSIZE   (DATAPACKETSIZE+2)

Size in bytes of the buffer used for reading data from the USB & USART

Definition at line 135 of file main.c.

#define DATAPACKETSIZE   CHIP_USB_ENDPOINTS_MAXPACKETSIZE(CDCAUDD_Descriptors_DATAIN0)

Size in bytes of the packet used for reading data from USB

Definition at line 131 of file main.c.

#define I2S_SLAVE_RX_FRM_SETTING
Value:
((SSC_RFMR_DATLEN(BITS_BY_SLOT - 1)) |  \
                                   (SSC_RFMR_MSBF) |                      \
                                   (SSC_RFMR_DATNB(SLOT_BY_FRAME - 1)) |  \
                                   (SSC_RFMR_FSOS_NONE))

Definition at line 170 of file main.c.

#define I2S_SLAVE_RX_SETTING
Value:
((SSC_RCMR_CKS_TK) |         \
                                    (SSC_RCMR_CKO_NONE) |        \
                                    (SSC_RCMR_CKI) |             \
                                    (SSC_RCMR_START_RF_EDGE) |   \
                                    (SSC_RCMR_STTDLY(1)) |       \
                                    (SSC_RCMR_PERIOD(0)))

Definition at line 163 of file main.c.

#define I2S_SLAVE_TX_FRM_SETTING
Value:
((SSC_TFMR_DATLEN(BITS_BY_SLOT - 1)) |  \
                                   (SSC_TFMR_MSBF) |                      \
                                   (SSC_TFMR_DATNB(SLOT_BY_FRAME - 1)) |  \
                                   (SSC_TFMR_FSOS_NONE))

Definition at line 157 of file main.c.

#define I2S_SLAVE_TX_SETTING
Value:
((SSC_TCMR_CKS_TK) |         \
                                   (SSC_TCMR_CKO_NONE) |       \
                                   (SSC_TCMR_START_TF_EDGE) |  \
                                   (SSC_TCMR_STTDLY(1)) |      \
                                   (SSC_TCMR_PERIOD(0)))

Definition at line 151 of file main.c.

#define SAMPLE_RATE   (48000)

Audio sample rate

Definition at line 178 of file main.c.

#define SLOT_BY_FRAME   (2)

SSC: Number of slots in a frame

Definition at line 148 of file main.c.

#define TWI_CLOCK   400000

TWI clock

Definition at line 176 of file main.c.


Function Documentation

COMPILER_ALIGNED ( 32   ) 

Buffer for storing incoming USB data. List of pins to configure.

Definition at line 195 of file main.c.

int main ( void   ) 

usb_iad_cdc_aud Application entry point.

Starts the driver and

  • waits for an audio input stream to forward to the DAC.
  • waits for a cdc serial input to forward to cdc output (echo).

Definition at line 627 of file main.c.

Here is the call graph for this function:

void USBDCallbacks_RequestReceived ( const USBGenericRequest request  ) 

Invoked whenever a SETUP request is received from the host. Forwards the request to the standard handler.

Definition at line 527 of file main.c.

Here is the call graph for this function:

void USBDDriverCallbacks_ConfigurationChanged ( uint8_t  cfgnum  ) 

Invoked when the configuration of the device changes. Parse used endpoints.

Parameters:
cfgnum New configuration number.

Definition at line 506 of file main.c.

Here is the call graph for this function:

void USBDDriverCallbacks_InterfaceSettingChanged ( uint8_t  interface,
uint8_t  setting 
)

Invoked whenever the active setting of an interface is changed by the host. Reset streaming interface.

Parameters:
interface Interface number.
setting Newly active setting.

Definition at line 517 of file main.c.

Here is the call graph for this function:

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines