]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - tmk_core/protocol/lufa/lufa.h
more structure to the package
[qmk_firmware.git] / tmk_core / protocol / lufa / lufa.h
index 195123c0f974f55a534ce716769e4358c0129554..198964f901c5e8b2d2b7de0a6f631a87730b8b2d 100644 (file)
@@ -48,8 +48,9 @@
 #include <LUFA/Version.h>
 #include <LUFA/Drivers/USB/USB.h>
 #include "host.h"
-
-
+#ifdef MIDI_ENABLE
+  #include "midi.h"
+#endif
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -66,15 +67,29 @@ typedef struct {
     uint16_t usage;
 } __attribute__ ((packed)) report_extra_t;
 
+#ifdef MIDI_ENABLE
+  #define MIDI_SYSEX_BUFFER 16 
+  void MIDI_Task(void);
+  MidiDevice midi_device;
 
-#if LUFA_VERSION_INTEGER < 0x120730
-    /* old API 120219 */
-    #define ENDPOINT_CONFIG(epnum, eptype, epdir, epsize, epbank)    Endpoint_ConfigureEndpoint(epnum, eptype, epdir, epsize, epbank)
-#else
+  void sysex_callback(MidiDevice * device, uint16_t start, uint8_t length, uint8_t * data);
+  uint32_t decode_uint32_chunk(uint8_t * data);
+  uint32_t decode_uint8_chunk(uint8_t * data);
+  void encode_uint32_chunk(uint32_t data, uint8_t * pointer);
+  void encode_uint8_chunk(uint8_t data, uint8_t * pointer);
+  void sysex_buffer_callback(MidiDevice * device, uint8_t length, uint8_t * data);
+  void send_unicode_midi(uint32_t unicode);
+  void send_bytes_sysex(uint8_t type, uint8_t * bytes, uint8_t length);
+#endif
+
+// #if LUFA_VERSION_INTEGER < 0x120730
+//     /* old API 120219 */
+//     #define ENDPOINT_CONFIG(epnum, eptype, epdir, epsize, epbank)    Endpoint_ConfigureEndpoint(epnum, eptype, epdir, epsize, epbank)
+// #else
     /* new API >= 120730 */
     #define ENDPOINT_BANK_SINGLE 1
     #define ENDPOINT_BANK_DOUBLE 2
     #define ENDPOINT_CONFIG(epnum, eptype, epdir, epsize, epbank)    Endpoint_ConfigureEndpoint((epdir) | (epnum) , eptype, epsize, epbank)
-#endif
+// #endif
 
 #endif