0,0 → 1,125 |
/******************************************************************** |
FileName: usb_config.h |
Dependencies: Always: GenericTypeDefs.h, usb_device.h |
Situational: usb_function_hid.h, usb_function_cdc.h, usb_function_msd.h, etc. |
Processor: PIC18 or PIC24 USB Microcontrollers |
Hardware: The code is natively intended to be used on the following |
hardware platforms: PICDEM FS USB Demo Board, |
PIC18F87J50 FS USB Plug-In Module, or |
Explorer 16 + PIC24 USB PIM. The firmware may be |
modified for use on other USB platforms by editing the |
HardwareProfile.h file. |
Complier: Microchip C18 (for PIC18) or C30 (for PIC24) |
Company: Microchip Technology, Inc. |
|
Software License Agreement: |
|
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
|
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
|
******************************************************************** |
File Description: |
|
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
*******************************************************************/ |
|
/********************************************************************* |
* Descriptor specific type definitions are defined in: usbd.h |
********************************************************************/ |
|
#ifndef USBCFG_H |
#define USBCFG_H |
|
/** DEFINITIONS ****************************************************/ |
#define USB_EP0_BUFF_SIZE 8 // Valid Options: 8, 16, 32, or 64 bytes. |
// Using larger options take more SRAM, but |
// does not provide much advantage in most types |
// of applications. Exceptions to this, are applications |
// that use EP0 IN or OUT for sending large amounts of |
// application related data. |
|
#define USB_MAX_NUM_INT 1 // For tracking Alternate Setting |
#define USB_MAX_EP_NUMBER 1 |
|
//Device descriptor - if these two definitions are not defined then |
// a ROM USB_DEVICE_DESCRIPTOR variable by the exact name of device_dsc |
// must exist. |
#define USB_USER_DEVICE_DESCRIPTOR &device_dsc |
#define USB_USER_DEVICE_DESCRIPTOR_INCLUDE extern ROM USB_DEVICE_DESCRIPTOR device_dsc |
|
//Configuration descriptors - if these two definitions do not exist then |
// a ROM BYTE *ROM variable named exactly USB_CD_Ptr[] must exist. |
#define USB_USER_CONFIG_DESCRIPTOR USB_CD_Ptr |
#define USB_USER_CONFIG_DESCRIPTOR_INCLUDE extern ROM BYTE *ROM USB_CD_Ptr[] |
|
//Make sure only one of the below "#define USB_PING_PONG_MODE" |
//is uncommented. |
//#define USB_PING_PONG_MODE USB_PING_PONG__NO_PING_PONG |
#define USB_PING_PONG_MODE USB_PING_PONG__FULL_PING_PONG |
//#define USB_PING_PONG_MODE USB_PING_PONG__EP0_OUT_ONLY |
//#define USB_PING_PONG_MODE USB_PING_PONG__ALL_BUT_EP0 //NOTE: This mode is not supported in PIC18F4550 family rev A3 devices |
|
|
#define USB_POLLING |
//#define USB_INTERRUPT |
|
/* Parameter definitions are defined in usb_device.h */ |
#define USB_PULLUP_OPTION USB_PULLUP_ENABLE |
//#define USB_PULLUP_OPTION USB_PULLUP_DISABLED |
|
#define USB_TRANSCEIVER_OPTION USB_INTERNAL_TRANSCEIVER |
//External Transceiver support is not available on all product families. Please |
// refer to the product family datasheet for more information if this feature |
// is available on the target processor. |
//#define USB_TRANSCEIVER_OPTION USB_EXTERNAL_TRANSCEIVER |
|
#define USB_SPEED_OPTION USB_FULL_SPEED |
//#define USB_SPEED_OPTION USB_LOW_SPEED //(not valid option for PIC24F devices) |
|
#define USB_SUPPORT_DEVICE |
|
#define USB_NUM_STRING_DESCRIPTORS 4 |
|
//#define USB_INTERRUPT_LEGACY_CALLBACKS |
#define USB_ENABLE_ALL_HANDLERS |
//#define USB_ENABLE_SUSPEND_HANDLER |
//#define USB_ENABLE_WAKEUP_FROM_SUSPEND_HANDLER |
//#define USB_ENABLE_SOF_HANDLER |
//#define USB_ENABLE_ERROR_HANDLER |
//#define USB_ENABLE_OTHER_REQUEST_HANDLER |
//#define USB_ENABLE_SET_DESCRIPTOR_HANDLER |
//#define USB_ENABLE_INIT_EP_HANDLER |
//#define USB_ENABLE_EP0_DATA_HANDLER |
//#define USB_ENABLE_TRANSFER_COMPLETE_HANDLER |
|
/** DEVICE CLASS USAGE *********************************************/ |
#define USB_USE_GEN |
|
/** ENDPOINTS ALLOCATION *******************************************/ |
|
/* Generic */ |
#define USBGEN_EP_SIZE 64 |
#define USBGEN_EP_NUM 1 |
|
/** DEFINITIONS ****************************************************/ |
|
#endif //USBCFG_H |