]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - tmk_core/protocol/lufa/lufa.h
Remove all Makefiles from the keyboards directory. (#1660)
[qmk_firmware.git] / tmk_core / protocol / lufa / lufa.h
index 198964f901c5e8b2d2b7de0a6f631a87730b8b2d..a515737862df0f7c429c6e1a9d3a08354de75d86 100644 (file)
@@ -49,7 +49,7 @@
 #include <LUFA/Drivers/USB/USB.h>
 #include "host.h"
 #ifdef MIDI_ENABLE
-  #include "midi.h"
+  #include "process_midi.h"
 #endif
 #ifdef __cplusplus
 extern "C" {
@@ -68,18 +68,19 @@ typedef struct {
 } __attribute__ ((packed)) report_extra_t;
 
 #ifdef MIDI_ENABLE
-  #define MIDI_SYSEX_BUFFER 16 
   void MIDI_Task(void);
   MidiDevice midi_device;
+#endif
+
+#ifdef API_ENABLE
+  #include "api.h"
+#endif
 
-  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);
+#ifdef API_SYSEX_ENABLE
+  #include "api_sysex.h"
+  // Allocate space for encoding overhead.
+  //The header and terminator are not stored to save a few bytes of precious ram
+  #define MIDI_SYSEX_BUFFER (API_SYSEX_MAX_SIZE + API_SYSEX_MAX_SIZE / 7 + (API_SYSEX_MAX_SIZE % 7 ? 1 : 0))
 #endif
 
 // #if LUFA_VERSION_INTEGER < 0x120730