00001 /*This file has been prepared for Doxygen automatic documentation generation.*/ 00013 00014 /* Copyright (c) 2007, Atmel Corporation All rights reserved. 00015 * 00016 * Redistribution and use in source and binary forms, with or without 00017 * modification, are permitted provided that the following conditions are met: 00018 * 00019 * 1. Redistributions of source code must retain the above copyright notice, 00020 * this list of conditions and the following disclaimer. 00021 * 00022 * 2. Redistributions in binary form must reproduce the above copyright notice, 00023 * this list of conditions and the following disclaimer in the documentation 00024 * and/or other materials provided with the distribution. 00025 * 00026 * 3. The name of ATMEL may not be used to endorse or promote products derived 00027 * from this software without specific prior written permission. 00028 * 00029 * THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED 00030 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 00031 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND 00032 * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, 00033 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 00034 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 00035 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 00036 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00037 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 00038 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00039 */ 00040 00041 #ifndef _HOST_MOUSE_TASK_H_ 00042 #define _HOST_MOUSE_TASK_H_ 00043 00044 //_____ I N C L U D E S ____________________________________________________ 00045 00046 #include "config.h" 00047 00048 00049 //_____ M A C R O S ________________________________________________________ 00050 00051 // USB Audio Class constants 00052 #define AUDIO_AS_INTERFACE_CLASS 0x01 00053 #define AUDIO_AS_INTERFACE_SUB_CLASS 0x02 00054 #define SET_CUR 0x01 00055 #define CS_MUTE 0x0100 00056 00057 00058 // D/A Converter 00059 #define PORT_A_RIGHT 0 00060 #define PORT_A_CPLX 1 00061 00062 00063 // ================================================================================================================================= 00064 // Check and modify the following lines to fit with your external D/A converter : 00065 #define DAC_OUT PORT_A_CPLX // PORT_A_RIGHT or PORT_A_CPLX : defines the external R-2R ladder used 00066 // See documentation schematics for more details 00067 #define Dac_output_init() (PORTA = 0x00, DDRA = 0xFF) // Init D/A output port 00068 // ================================================================================================================================= 00069 00070 00071 // Specific request : this request can be used to control the Mute feature if supported by the device 00072 #define MUTE_ON TRUE 00073 #define MUTE_OFF FALSE 00074 #define host_audio_set_cur(cs_mute) (data_stage[0] = cs_mute, \ 00075 usb_request.bmRequestType = USB_SETUP_SET_CLASS_INTER, \ 00076 usb_request.bRequest = SET_CUR, \ 00077 usb_request.wValue = CS_MUTE, \ 00078 usb_request.wIndex = 0, \ 00079 usb_request.wLength = 1, \ 00080 usb_request.uncomplete_read = FALSE, \ 00081 host_send_control(data_stage)) 00082 00083 00084 //_____ D E C L A R A T I O N S ____________________________________________ 00085 00086 void host_audio_task_init(void); 00087 void host_audio_task(void); 00088 00089 void sof_action(void); 00090 void DAC_SendPort(U8); 00091 00092 extern volatile U8 audio_connected; // indicates if a CDC device is connected or not 00093 extern volatile U8 audio_cpt_sof; // SOF counter for CDC data stream manager 00094 00095 #endif /* HOST_MOUSE_TASK_H_ */ 00096
1.5.3