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