| Line No. | Rev | Author | Line |
|---|---|---|---|
| 1 | 32 | kaklik | /****************************************************************************** |
| 2 | |||
| 3 | USB Audio - MIDI device (Header File) |
||
| 4 | |||
| 5 | Summary: |
||
| 6 | This file defines data types, constants, and macros that are needed by |
||
| 7 | the MIDI USB device example |
||
| 8 | |||
| 9 | Description: |
||
| 10 | This file defines data types, constants, and macros that are needed by |
||
| 11 | the MIDI USB device example |
||
| 12 | |||
| 13 | This file is located in the "\<Install Directory\>\\Microchip\\Include\\USB" |
||
| 14 | directory. |
||
| 15 | |||
| 16 | When including this file in a new project, this file can either be |
||
| 17 | referenced from the directory in which it was installed or copied |
||
| 18 | directly into the user application folder. If the first method is |
||
| 19 | chosen to keep the file located in the folder in which it is installed |
||
| 20 | then include paths need to be added so that the library and the |
||
| 21 | application both know where to reference each others files. If the |
||
| 22 | application folder is located in the same folder as the Microchip |
||
| 23 | folder (like the current demo folders), then the following include |
||
| 24 | paths need to be added to the application's project: |
||
| 25 | |||
| 26 | . |
||
| 27 | |||
| 28 | ..\\..\\Microchip\\Include |
||
| 29 | |||
| 30 | If a different directory structure is used, modify the paths as |
||
| 31 | required. An example using absolute paths instead of relative paths |
||
| 32 | would be the following: |
||
| 33 | |||
| 34 | C:\\Microchip Solutions\\Microchip\\Include |
||
| 35 | |||
| 36 | C:\\Microchip Solutions\\My Demo Application |
||
| 37 | |||
| 38 | Change History: |
||
| 39 | Rev Description |
||
| 40 | ---- ------------------------------------------ |
||
| 41 | 2.6- No Change |
||
| 42 | 2.7a |
||
| 43 | *******************************************************************************/ |
||
| 44 | //DOM-IGNORE-BEGIN |
||
| 45 | /******************************************************************************* |
||
| 46 | |||
| 47 | * FileName: usb_function_midi.h |
||
| 48 | * Dependencies: See included files, below. |
||
| 49 | * Processor: PIC18/PIC24/PIC32MX microcontrollers with USB module |
||
| 50 | * Compiler: C18 v3.13+/C30 v2.01+/C32 v0.00.18+ |
||
| 51 | * Company: Microchip Technology, Inc. |
||
| 52 | |||
| 53 | Software License Agreement |
||
| 54 | |||
| 55 | The software supplied herewith by Microchip Technology Incorporated |
||
| 56 | (the Company) for its PICmicro® Microcontroller is intended and |
||
| 57 | supplied to you, the Companys customer, for use solely and |
||
| 58 | exclusively on Microchip PICmicro Microcontroller products. The |
||
| 59 | software is owned by the Company and/or its supplier, and is |
||
| 60 | protected under applicable copyright laws. All rights are reserved. |
||
| 61 | Any use in violation of the foregoing restrictions may subject the |
||
| 62 | user to criminal sanctions under applicable laws, as well as to |
||
| 63 | civil liability for the breach of the terms and conditions of this |
||
| 64 | license. |
||
| 65 | |||
| 66 | THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
||
| 67 | WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
||
| 68 | TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
||
| 69 | PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
||
| 70 | IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
||
| 71 | CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
||
| 72 | |||
| 73 | *******************************************************************************/ |
||
| 74 | //DOM-IGNORE-END |
||
| 75 | typedef union |
||
| 76 | { |
||
| 77 | DWORD Val; |
||
| 78 | BYTE v[4]; |
||
| 79 | union |
||
| 80 | { |
||
| 81 | struct |
||
| 82 | { |
||
| 83 | BYTE CIN :4; |
||
| 84 | BYTE CN :4; |
||
| 85 | BYTE MIDI_0; |
||
| 86 | BYTE MIDI_1; |
||
| 87 | BYTE MIDI_2; |
||
| 88 | }; |
||
| 89 | struct |
||
| 90 | { |
||
| 91 | BYTE CodeIndexNumber :4; |
||
| 92 | BYTE CableNumber :4; |
||
| 93 | BYTE DATA_0; |
||
| 94 | BYTE DATA_1; |
||
| 95 | BYTE DATA_2; |
||
| 96 | }; |
||
| 97 | }; |
||
| 98 | } USB_AUDIO_MIDI_EVENT_PACKET, *P_USB_AUDIO_MIDI_EVENT_PACKET; |
||
| 99 | |||
| 100 | /* Code Index Number (CIN) values */ |
||
| 101 | /* Table 4-1 of midi10.pdf */ |
||
| 102 | #define MIDI_CIN_MISC_FUNCTION_RESERVED 0x0 |
||
| 103 | #define MIDI_CIN_CABLE_EVENTS_RESERVED 0x1 |
||
| 104 | #define MIDI_CIN_2_BYTE_MESSAGE 0x2 |
||
| 105 | #define MIDI_CIN_MTC 0x2 |
||
| 106 | #define MIDI_CIN_SONG_SELECT 0x2 |
||
| 107 | #define MIDI_CIN_3_BYTE_MESSAGE 0x3 |
||
| 108 | #define MIDI_CIN_SSP 0x3 |
||
| 109 | #define MIDI_CIN_SYSEX_START 0x4 |
||
| 110 | #define MIDI_CIN_SYSEX_CONTINUE 0x4 |
||
| 111 | #define MIDI_CIN_1_BYTE_MESSAGE 0x5 |
||
| 112 | #define MIDI_CIN_SYSEX_ENDS_1 0x5 |
||
| 113 | #define MIDI_CIN_SYSEX_ENDS_2 0x6 |
||
| 114 | #define MIDI_CIN_SYSEX_ENDS_3 0x7 |
||
| 115 | #define MIDI_CIN_NOTE_OFF 0x8 |
||
| 116 | #define MIDI_CIN_NOTE_ON 0x9 |
||
| 117 | #define MIDI_CIN_POLY_KEY_PRESS 0xA |
||
| 118 | #define MIDI_CIN_CONTROL_CHANGE 0xB |
||
| 119 | #define MIDI_CIN_PROGRAM_CHANGE 0xC |
||
| 120 | #define MIDI_CIN_CHANNEL_PREASURE 0xD |
||
| 121 | #define MIDI_CIN_PITCH_BEND_CHANGE 0xE |
||
| 122 | #define MIDI_CIN_SINGLE_BYTE 0xF |
Powered by WebSVN v2.8.3