SAMV71 Xplained Ultra Software Package 1.5

main.c File Reference

#include "board.h"
#include "USBD_LEDs.h"
#include "USBD_Config.h"
#include "AUDDSpeakerDriver.h"
#include <stdio.h>
#include <stdbool.h>
#include <stdint.h>
#include <string.h>

Go to the source code of this file.

Defines

#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 (unsigned char cfgnum)
void USBDDriverCallbacks_InterfaceSettingChanged (unsigned char interface, unsigned char setting)
void USBDCallbacks_RequestReceived (const USBGenericRequest *request)
void AUDDSpeakerDriver_MuteChanged (uint8_t channel, uint8_t muted)
void AUDDSpeakerDriver_StreamSettingChanged (uint8_t newSetting)
int main (void)
 usb_audio_speaker Application entry point.

Variables

const USBDDriverDescriptors auddSpeakerDriverDescriptors

Detailed Description

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

Definition in file main.c.


Define Documentation

#define BITS_BY_SLOT   (16)

SSC: Number of bits in a slot

Definition at line 129 of file main.c.

#define BUFFER_NUMBER   500

Number of available audio buffers.

Definition at line 118 of file main.c.

#define BUFFER_SIZE   (AUDDevice_BYTESPERFRAME)

Size of one buffer in bytes.

Definition at line 120 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 124 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 149 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 142 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 136 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 130 of file main.c.

#define SAMPLE_RATE   (48000)

Audio sample rate

Definition at line 157 of file main.c.

#define SLOT_BY_FRAME   (2)

SSC: Number of slots in a frame

Definition at line 127 of file main.c.

#define TWI_CLOCK   400000

TWI clock

Definition at line 155 of file main.c.


Function Documentation

void AUDDSpeakerDriver_MuteChanged ( uint8_t  channel,
uint8_t  muted 
)

Invoked when an audio channel get muted or unmuted. Mutes/unmutes the channel at the DAC level.

Parameters:
channel Channel number that changed.
muted Indicates the new mute status of the channel.

Definition at line 488 of file main.c.

void AUDDSpeakerDriver_StreamSettingChanged ( uint8_t  newSetting  ) 

Invoked when an audio streaming interface setting changed. Actually control streaming rate.

Parameters:
newSetting New stream (interface) setting.

Definition at line 507 of file main.c.

Here is the call graph for this function:

COMPILER_ALIGNED ( 32   ) 

Data buffers for receiving audio frames from the USB host. List of pins to configure.

Definition at line 172 of file main.c.

int main ( void   ) 

usb_audio_speaker Application entry point.

Starts the driver and waits for an audio input stream to forward to the DAC.

Definition at line 547 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 477 of file main.c.

Here is the call graph for this function:

void USBDDriverCallbacks_ConfigurationChanged ( unsigned char  cfgnum  ) 

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

Parameters:
cfgnum New configuration number.

Definition at line 456 of file main.c.

Here is the call graph for this function:

void USBDDriverCallbacks_InterfaceSettingChanged ( unsigned char  interface,
unsigned char  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 467 of file main.c.

Here is the call graph for this function:

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines