TheKikGen / USBMidiKliK

A robust USB MIDI Arduino firmware, with a dual bootloader, based on the LUFA library
91 stars 17 forks source link

build instructions #6

Closed EsGeh closed 5 years ago

EsGeh commented 5 years ago

Would be nice to have a few lines how to build the bootloader, for unexperienced users like me. (naively typing make leads to an error because of hardcoded windows (!) path...)

orzdk commented 5 years ago

I just got this to build. What exact error do you get? If you mean the AVRDUDE_PATH I guess that should not be an issue until actually uploading, seems to make ok with a wrong path.

Things i needed to fix was to be sure to use LUFA github master, there seems to be changes to the interfaces since 170418. Be sure to put lufa top level folder, not LUFA subfolder, in same folder as the USBMidiKlik folder.

Then download the midiXParser (also from this user) and put the folder in same folder level as USBMidiklik and lufa folders, then references will line up. Then i had to change a prototype, line 117 in midiXParser.h should be

void setMidiMsgFilter(uint8_t midiMsgTypeFilterMsk);

After those small issues it seems to make without problems, of course assuming you have a working avr-gcc environment. Will check upload tomorrow, but that should probably also work fine if you point the AVRDUDE_PATH to the arduino ide bin folder.

nkalousis commented 5 years ago

I just got this to build. What exact error do you get? If you mean the AVRDUDE_PATH I guess that should not be an issue until actually uploading, seems to make ok with a wrong path.

Things i needed to fix was to be sure to use LUFA github master, there seems to be changes to the interfaces since 170418. Be sure to put lufa top level folder, not LUFA subfolder, in same folder as the USBMidiKlik folder.

Then download the midiXParser (also from this user) and put the folder in same folder level as USBMidiklik and lufa folders, then references will line up. Then i had to change a prototype, line 117 in midiXParser.h should be

void setMidiMsgFilter(uint8_t midiMsgTypeFilterMsk);

After those small issues it seems to make without problems, of course assuming you have a working avr-gcc environment. Will check upload tomorrow, but that should probably also work fine if you point the AVRDUDE_PATH to the arduino ide bin folder.

That would be great! I am also trying to make it on Mac Os X Mojave but I keep getting no target found. Giving make uno returns:

make uno
makefile:170: ../lufa/LUFA/Build/lufa_core.mk: No such file or directory
makefile:171: ../lufa/LUFA/Build/lufa_sources.mk: No such file or directory
makefile:172: ../lufa/LUFA/Build/lufa_build.mk: No such file or directory
makefile:173: ../lufa/LUFA/Build/lufa_cppcheck.mk: No such file or directory
makefile:174: ../lufa/LUFA/Build/lufa_doxygen.mk: No such file or directory
makefile:175: ../lufa/LUFA/Build/lufa_dfu.mk: No such file or directory
makefile:176: ../lufa/LUFA/Build/lufa_hid.mk: No such file or directory
makefile:177: ../lufa/LUFA/Build/lufa_avrdude.mk: No such file or directory
makefile:178: ../lufa/LUFA/Build/lufa_atprogram.mk: No such file or directory
make: *** No rule to make target `../lufa/LUFA/Build/lufa_atprogram.mk'.  Stop.
orzdk commented 5 years ago

It seems like it just cannot find the lufa library folder. The path is relative to the location of the makefile, make sure to structure it like:

--workfolder ----lufa ----midiXParser ----USBMidiKlik

nkalousis commented 5 years ago

Thank you very much! I was nesting lufa and midiXparser inside USBMidiKliK folder... Below is the output of make command. I get some warnings but I also got a hex file, which is good... Now I have to remember how to use USBtinyISP to burn it on my Mega (all my UNOs have CH340).

` Create an auto-incrementing build number.

======== BUILD USBMIDIKLIK - TARGET=uno - BUILD NO=1085 ========

[INFO] : Begin compilation of project "USBMidiKliK_dual_uno"...

avr-gcc (GCC) 4.8.1 Copyright (C) 2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[GCC] : Compiling C++ file "USBMidiKliK_dual.cpp" avr-gcc -c -pipe -gdwarf-2 -g2 -mmcu=atmega16u2 -fshort-enums -fno-inline-small-functions -Wall -fno-strict-aliasing -funsigned-char -funsigned-bitfields -ffunction-sections -I. -DARCH=ARCH_AVR8 -DF_CPU=16000000UL -mrelax -fno-jump-tables -x c++ -Os -std=gnu++98 -fno-exceptions -fno-threadsafe-statics -std=gnu++11 -DARDUINO_DEVICE_VENDORID=0x2341 -DARDUINO_DEVICE_PRODUCTID=0x0001 -DARDUINO_DEVICE_MANUFACTURER_STRING="Arduino (www.arduino.cc)" -DARDUINO_DEVICE_PRODUCT_STRING="Arduino Uno dual midi" -DARDUINO_DEVICE_PRODUCT_SERIAL="55732323430351718180" -DMIDI_DEVICE_VENDORID=0x2912 -DMIDI_DEVICE_PRODUCTID=0x1967 -DMIDI_DEVICE_MANUFACTURER_STRING="The KikGen Labs" -DMIDI_DEVICE_PRODUCT_STRING="USB MidiKliK Build-1086 " -DBUILD_NUMBER=1086 -DBUILD_DATE=2019.05.29-14:26:23 -DUSE_LUFA_CONFIG_HEADER -IConfig/ -fpermissive -Os -I. -I../lufa/LUFA/.. -DARCH=ARCH_AVR8 -DBOARD=BOARD_UNO -DF_USB=16000000UL -MMD -MP -MF obj/USBMidiKliK_dual.d USBMidiKliK_dual.cpp -o obj/USBMidiKliK_dual.o USBMidiKliK_dual.cpp:171:3: warning: #warning "DUAL BOOT MODE - JUMPER & SOFT" [-Wcpp]

warning "DUAL BOOT MODE - JUMPER & SOFT"

^ In file included from USBMidiKliK_dual.cpp:21:0: USBMidiKliK_dual.h: In function 'void ConfigRootMenu()': USBMidiKliK_dual.h:84:14: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] static void USBSerialPutStr(char ,bool); ^ USBMidiKliK_dual.h:84:14: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.h:84:14: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.h:84:14: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.h:84:14: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.h:84:14: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.h:84:14: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.h:84:14: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.h:84:14: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.h:84:14: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.h:84:14: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.h:84:14: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.h:84:14: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.h:84:14: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.h:84:14: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.h:84:14: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.h:84:14: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.h:84:14: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.h:84:14: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.h:84:14: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.h:84:14: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.h:84:14: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.cpp: In function 'void ShowCurrentSettings()': USBMidiKliK_dual.cpp:365:13: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] static void USBSerialPutStr(char s, bool pgm) { ^ USBMidiKliK_dual.cpp:365:13: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.cpp:365:13: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.cpp:365:13: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.cpp:365:13: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.cpp:365:13: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.cpp:365:13: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.cpp:365:13: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.cpp:365:13: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.cpp:365:13: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.cpp:365:13: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.cpp:365:13: warning: initializing argument 1 of 'void USBSerialPutStr(char, bool)' [-fpermissive] USBMidiKliK_dual.cpp: At global scope: USBMidiKliK_dual.cpp:1153:17: warning: 'uint16_t GetInt16FromHex4Char(char)' defined but not used [-Wunused-function] static uint16_t GetInt16FromHex4Char(char buff) { ^ [GCC] : Compiling C++ file "midiXparser.cpp" avr-gcc -c -pipe -gdwarf-2 -g2 -mmcu=atmega16u2 -fshort-enums -fno-inline-small-functions -Wall -fno-strict-aliasing -funsigned-char -funsigned-bitfields -ffunction-sections -I. -DARCH=ARCH_AVR8 -DF_CPU=16000000UL -mrelax -fno-jump-tables -x c++ -Os -std=gnu++98 -fno-exceptions -fno-threadsafe-statics -std=gnu++11 -DARDUINO_DEVICE_VENDORID=0x2341 -DARDUINO_DEVICE_PRODUCTID=0x0001 -DARDUINO_DEVICE_MANUFACTURER_STRING="Arduino (www.arduino.cc)" -DARDUINO_DEVICE_PRODUCT_STRING="Arduino Uno dual midi" -DARDUINO_DEVICE_PRODUCT_SERIAL="55732323430351718180" -DMIDI_DEVICE_VENDORID=0x2912 -DMIDI_DEVICE_PRODUCTID=0x1967 -DMIDI_DEVICE_MANUFACTURER_STRING="The KikGen Labs" -DMIDI_DEVICE_PRODUCT_STRING="USB MidiKliK Build-1086 " -DBUILD_NUMBER=1086 -DBUILD_DATE=2019.05.29-14:26:24 -DUSE_LUFA_CONFIG_HEADER -IConfig/ -fpermissive -Os -I. -I../lufa/LUFA/.. -DARCH=ARCH_AVR8 -DBOARD=BOARD_UNO -DF_USB=16000000UL -MMD -MP -MF obj/midiXparser.d ../midiXparser/midiXparser.cpp -o obj/midiXparser.o [GCC] : Compiling C file "HIDParser.c" avr-gcc -c -pipe -gdwarf-2 -g2 -mmcu=atmega16u2 -fshort-enums -fno-inline-small-functions -Wall -fno-strict-aliasing -funsigned-char -funsigned-bitfields -ffunction-sections -I. -DARCH=ARCH_AVR8 -DF_CPU=16000000UL -mrelax -fno-jump-tables -x c -Os -std=gnu99 -Wstrict-prototypes -std=gnu++11 -DARDUINO_DEVICE_VENDORID=0x2341 -DARDUINO_DEVICE_PRODUCTID=0x0001 -DARDUINO_DEVICE_MANUFACTURER_STRING="Arduino (www.arduino.cc)" -DARDUINO_DEVICE_PRODUCT_STRING="Arduino Uno dual midi" -DARDUINO_DEVICE_PRODUCT_SERIAL="55732323430351718180" -DMIDI_DEVICE_VENDORID=0x2912 -DMIDI_DEVICE_PRODUCTID=0x1967 -DMIDI_DEVICE_MANUFACTURER_STRING="The KikGen Labs" -DMIDI_DEVICE_PRODUCT_STRING="USB MidiKliK Build-1086 " -DBUILD_NUMBER=1086 -DBUILD_DATE=2019.05.29-14:26:24 -DUSE_LUFA_CONFIG_HEADER -IConfig/ -fpermissive -Os -I. -I../lufa/LUFA/.. -DARCH=ARCH_AVR8 -DBOARD=BOARD_UNO -DF_USB=16000000UL -MMD -MP -MF obj/HIDParser.d ../lufa/LUFA/Drivers/USB/Class/Common/HIDParser.c -o obj/HIDParser.o cc1: warning: command line option '-std=gnu++11' is valid for C++/ObjC++ but not for C [enabled by default] cc1: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] [GCC] : Compiling C file "Device_AVR8.c" avr-gcc -c -pipe -gdwarf-2 -g2 -mmcu=atmega16u2 -fshort-enums -fno-inline-small-functions -Wall -fno-strict-aliasing -funsigned-char -funsigned-bitfields -ffunction-sections -I. -DARCH=ARCH_AVR8 -DF_CPU=16000000UL -mrelax -fno-jump-tables -x c -Os -std=gnu99 -Wstrict-prototypes -std=gnu++11 -DARDUINO_DEVICE_VENDORID=0x2341 -DARDUINO_DEVICE_PRODUCTID=0x0001 -DARDUINO_DEVICE_MANUFACTURER_STRING="Arduino (www.arduino.cc)" -DARDUINO_DEVICE_PRODUCT_STRING="Arduino Uno dual midi" -DARDUINO_DEVICE_PRODUCT_SERIAL="55732323430351718180" -DMIDI_DEVICE_VENDORID=0x2912 -DMIDI_DEVICE_PRODUCTID=0x1967 -DMIDI_DEVICE_MANUFACTURER_STRING="The KikGen Labs" -DMIDI_DEVICE_PRODUCT_STRING="USB MidiKliK Build-1086 " -DBUILD_NUMBER=1086 -DBUILD_DATE=2019.05.29-14:26:24 -DUSE_LUFA_CONFIG_HEADER -IConfig/ -fpermissive -Os -I. -I../lufa/LUFA/.. -DARCH=ARCH_AVR8 -DBOARD=BOARD_UNO -DF_USB=16000000UL -MMD -MP -MF obj/Device_AVR8.d ../lufa/LUFA/Drivers/USB/Core/AVR8/Device_AVR8.c -o obj/Device_AVR8.o cc1: warning: command line option '-std=gnu++11' is valid for C++/ObjC++ but not for C [enabled by default] cc1: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] [GCC] : Compiling C file "EndpointStream_AVR8.c" avr-gcc -c -pipe -gdwarf-2 -g2 -mmcu=atmega16u2 -fshort-enums -fno-inline-small-functions -Wall -fno-strict-aliasing -funsigned-char -funsigned-bitfields -ffunction-sections -I. -DARCH=ARCH_AVR8 -DF_CPU=16000000UL -mrelax -fno-jump-tables -x c -Os -std=gnu99 -Wstrict-prototypes -std=gnu++11 -DARDUINO_DEVICE_VENDORID=0x2341 -DARDUINO_DEVICE_PRODUCTID=0x0001 -DARDUINO_DEVICE_MANUFACTURER_STRING="Arduino (www.arduino.cc)" -DARDUINO_DEVICE_PRODUCT_STRING="Arduino Uno dual midi" -DARDUINO_DEVICE_PRODUCT_SERIAL="55732323430351718180" -DMIDI_DEVICE_VENDORID=0x2912 -DMIDI_DEVICE_PRODUCTID=0x1967 -DMIDI_DEVICE_MANUFACTURER_STRING="The KikGen Labs" -DMIDI_DEVICE_PRODUCT_STRING="USB MidiKliK Build-1086 " -DBUILD_NUMBER=1086 -DBUILD_DATE=2019.05.29-14:26:24 -DUSE_LUFA_CONFIG_HEADER -IConfig/ -fpermissive -Os -I. -I../lufa/LUFA/.. -DARCH=ARCH_AVR8 -DBOARD=BOARD_UNO -DF_USB=16000000UL -MMD -MP -MF obj/EndpointStream_AVR8.d ../lufa/LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.c -o obj/EndpointStream_AVR8.o cc1: warning: command line option '-std=gnu++11' is valid for C++/ObjC++ but not for C [enabled by default] cc1: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] [GCC] : Compiling C file "Endpoint_AVR8.c" avr-gcc -c -pipe -gdwarf-2 -g2 -mmcu=atmega16u2 -fshort-enums -fno-inline-small-functions -Wall -fno-strict-aliasing -funsigned-char -funsigned-bitfields -ffunction-sections -I. -DARCH=ARCH_AVR8 -DF_CPU=16000000UL -mrelax -fno-jump-tables -x c -Os -std=gnu99 -Wstrict-prototypes -std=gnu++11 -DARDUINO_DEVICE_VENDORID=0x2341 -DARDUINO_DEVICE_PRODUCTID=0x0001 -DARDUINO_DEVICE_MANUFACTURER_STRING="Arduino (www.arduino.cc)" -DARDUINO_DEVICE_PRODUCT_STRING="Arduino Uno dual midi" -DARDUINO_DEVICE_PRODUCT_SERIAL="55732323430351718180" -DMIDI_DEVICE_VENDORID=0x2912 -DMIDI_DEVICE_PRODUCTID=0x1967 -DMIDI_DEVICE_MANUFACTURER_STRING="The KikGen Labs" -DMIDI_DEVICE_PRODUCT_STRING="USB MidiKliK Build-1086 " -DBUILD_NUMBER=1086 -DBUILD_DATE=2019.05.29-14:26:24 -DUSE_LUFA_CONFIG_HEADER -IConfig/ -fpermissive -Os -I. -I../lufa/LUFA/.. -DARCH=ARCH_AVR8 -DBOARD=BOARD_UNO -DF_USB=16000000UL -MMD -MP -MF obj/Endpoint_AVR8.d ../lufa/LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.c -o obj/Endpoint_AVR8.o cc1: warning: command line option '-std=gnu++11' is valid for C++/ObjC++ but not for C [enabled by default] cc1: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] [GCC] : Compiling C file "Host_AVR8.c" avr-gcc -c -pipe -gdwarf-2 -g2 -mmcu=atmega16u2 -fshort-enums -fno-inline-small-functions -Wall -fno-strict-aliasing -funsigned-char -funsigned-bitfields -ffunction-sections -I. -DARCH=ARCH_AVR8 -DF_CPU=16000000UL -mrelax -fno-jump-tables -x c -Os -std=gnu99 -Wstrict-prototypes -std=gnu++11 -DARDUINO_DEVICE_VENDORID=0x2341 -DARDUINO_DEVICE_PRODUCTID=0x0001 -DARDUINO_DEVICE_MANUFACTURER_STRING="Arduino (www.arduino.cc)" -DARDUINO_DEVICE_PRODUCT_STRING="Arduino Uno dual midi" -DARDUINO_DEVICE_PRODUCT_SERIAL="55732323430351718180" -DMIDI_DEVICE_VENDORID=0x2912 -DMIDI_DEVICE_PRODUCTID=0x1967 -DMIDI_DEVICE_MANUFACTURER_STRING="The KikGen Labs" -DMIDI_DEVICE_PRODUCT_STRING="USB MidiKliK Build-1086 " -DBUILD_NUMBER=1086 -DBUILD_DATE=2019.05.29-14:26:24 -DUSE_LUFA_CONFIG_HEADER -IConfig/ -fpermissive -Os -I. -I../lufa/LUFA/.. -DARCH=ARCH_AVR8 -DBOARD=BOARD_UNO -DF_USB=16000000UL -MMD -MP -MF obj/Host_AVR8.d ../lufa/LUFA/Drivers/USB/Core/AVR8/Host_AVR8.c -o obj/Host_AVR8.o cc1: warning: command line option '-std=gnu++11' is valid for C++/ObjC++ but not for C [enabled by default] cc1: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] [GCC] : Compiling C file "PipeStream_AVR8.c" avr-gcc -c -pipe -gdwarf-2 -g2 -mmcu=atmega16u2 -fshort-enums -fno-inline-small-functions -Wall -fno-strict-aliasing -funsigned-char -funsigned-bitfields -ffunction-sections -I. -DARCH=ARCH_AVR8 -DF_CPU=16000000UL -mrelax -fno-jump-tables -x c -Os -std=gnu99 -Wstrict-prototypes -std=gnu++11 -DARDUINO_DEVICE_VENDORID=0x2341 -DARDUINO_DEVICE_PRODUCTID=0x0001 -DARDUINO_DEVICE_MANUFACTURER_STRING="Arduino (www.arduino.cc)" -DARDUINO_DEVICE_PRODUCT_STRING="Arduino Uno dual midi" -DARDUINO_DEVICE_PRODUCT_SERIAL="55732323430351718180" -DMIDI_DEVICE_VENDORID=0x2912 -DMIDI_DEVICE_PRODUCTID=0x1967 -DMIDI_DEVICE_MANUFACTURER_STRING="The KikGen Labs" -DMIDI_DEVICE_PRODUCT_STRING="USB MidiKliK Build-1086 " -DBUILD_NUMBER=1086 -DBUILD_DATE=2019.05.29-14:26:24 -DUSE_LUFA_CONFIG_HEADER -IConfig/ -fpermissive -Os -I. -I../lufa/LUFA/.. -DARCH=ARCH_AVR8 -DBOARD=BOARD_UNO -DF_USB=16000000UL -MMD -MP -MF obj/PipeStream_AVR8.d ../lufa/LUFA/Drivers/USB/Core/AVR8/PipeStream_AVR8.c -o obj/PipeStream_AVR8.o cc1: warning: command line option '-std=gnu++11' is valid for C++/ObjC++ but not for C [enabled by default] cc1: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] [GCC] : Compiling C file "Pipe_AVR8.c" avr-gcc -c -pipe -gdwarf-2 -g2 -mmcu=atmega16u2 -fshort-enums -fno-inline-small-functions -Wall -fno-strict-aliasing -funsigned-char -funsigned-bitfields -ffunction-sections -I. -DARCH=ARCH_AVR8 -DF_CPU=16000000UL -mrelax -fno-jump-tables -x c -Os -std=gnu99 -Wstrict-prototypes -std=gnu++11 -DARDUINO_DEVICE_VENDORID=0x2341 -DARDUINO_DEVICE_PRODUCTID=0x0001 -DARDUINO_DEVICE_MANUFACTURER_STRING="Arduino (www.arduino.cc)" -DARDUINO_DEVICE_PRODUCT_STRING="Arduino Uno dual midi" -DARDUINO_DEVICE_PRODUCT_SERIAL="55732323430351718180" -DMIDI_DEVICE_VENDORID=0x2912 -DMIDI_DEVICE_PRODUCTID=0x1967 -DMIDI_DEVICE_MANUFACTURER_STRING="The KikGen Labs" -DMIDI_DEVICE_PRODUCT_STRING="USB MidiKliK Build-1086 " -DBUILD_NUMBER=1086 -DBUILD_DATE=2019.05.29-14:26:24 -DUSE_LUFA_CONFIG_HEADER -IConfig/ -fpermissive -Os -I. -I../lufa/LUFA/.. -DARCH=ARCH_AVR8 -DBOARD=BOARD_UNO -DF_USB=16000000UL -MMD -MP -MF obj/Pipe_AVR8.d ../lufa/LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.c -o obj/Pipe_AVR8.o cc1: warning: command line option '-std=gnu++11' is valid for C++/ObjC++ but not for C [enabled by default] cc1: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] [GCC] : Compiling C file "USBController_AVR8.c" avr-gcc -c -pipe -gdwarf-2 -g2 -mmcu=atmega16u2 -fshort-enums -fno-inline-small-functions -Wall -fno-strict-aliasing -funsigned-char -funsigned-bitfields -ffunction-sections -I. -DARCH=ARCH_AVR8 -DF_CPU=16000000UL -mrelax -fno-jump-tables -x c -Os -std=gnu99 -Wstrict-prototypes -std=gnu++11 -DARDUINO_DEVICE_VENDORID=0x2341 -DARDUINO_DEVICE_PRODUCTID=0x0001 -DARDUINO_DEVICE_MANUFACTURER_STRING="Arduino (www.arduino.cc)" -DARDUINO_DEVICE_PRODUCT_STRING="Arduino Uno dual midi" -DARDUINO_DEVICE_PRODUCT_SERIAL="55732323430351718180" -DMIDI_DEVICE_VENDORID=0x2912 -DMIDI_DEVICE_PRODUCTID=0x1967 -DMIDI_DEVICE_MANUFACTURER_STRING="The KikGen Labs" -DMIDI_DEVICE_PRODUCT_STRING="USB MidiKliK Build-1086 " -DBUILD_NUMBER=1086 -DBUILD_DATE=2019.05.29-14:26:24 -DUSE_LUFA_CONFIG_HEADER -IConfig/ -fpermissive -Os -I. -I../lufa/LUFA/.. -DARCH=ARCH_AVR8 -DBOARD=BOARD_UNO -DF_USB=16000000UL -MMD -MP -MF obj/USBController_AVR8.d ../lufa/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.c -o obj/USBController_AVR8.o cc1: warning: command line option '-std=gnu++11' is valid for C++/ObjC++ but not for C [enabled by default] cc1: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] [GCC] : Compiling C file "USBInterrupt_AVR8.c" avr-gcc -c -pipe -gdwarf-2 -g2 -mmcu=atmega16u2 -fshort-enums -fno-inline-small-functions -Wall -fno-strict-aliasing -funsigned-char -funsigned-bitfields -ffunction-sections -I. -DARCH=ARCH_AVR8 -DF_CPU=16000000UL -mrelax -fno-jump-tables -x c -Os -std=gnu99 -Wstrict-prototypes -std=gnu++11 -DARDUINO_DEVICE_VENDORID=0x2341 -DARDUINO_DEVICE_PRODUCTID=0x0001 -DARDUINO_DEVICE_MANUFACTURER_STRING="Arduino (www.arduino.cc)" -DARDUINO_DEVICE_PRODUCT_STRING="Arduino Uno dual midi" -DARDUINO_DEVICE_PRODUCT_SERIAL="55732323430351718180" -DMIDI_DEVICE_VENDORID=0x2912 -DMIDI_DEVICE_PRODUCTID=0x1967 -DMIDI_DEVICE_MANUFACTURER_STRING="The KikGen Labs" -DMIDI_DEVICE_PRODUCT_STRING="USB MidiKliK Build-1086 " -DBUILD_NUMBER=1086 -DBUILD_DATE=2019.05.29-14:26:24 -DUSE_LUFA_CONFIG_HEADER -IConfig/ -fpermissive -Os -I. -I../lufa/LUFA/.. -DARCH=ARCH_AVR8 -DBOARD=BOARD_UNO -DF_USB=16000000UL -MMD -MP -MF obj/USBInterrupt_AVR8.d ../lufa/LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c -o obj/USBInterrupt_AVR8.o cc1: warning: command line option '-std=gnu++11' is valid for C++/ObjC++ but not for C [enabled by default] cc1: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] [GCC] : Compiling C file "ConfigDescriptors.c" avr-gcc -c -pipe -gdwarf-2 -g2 -mmcu=atmega16u2 -fshort-enums -fno-inline-small-functions -Wall -fno-strict-aliasing -funsigned-char -funsigned-bitfields -ffunction-sections -I. -DARCH=ARCH_AVR8 -DF_CPU=16000000UL -mrelax -fno-jump-tables -x c -Os -std=gnu99 -Wstrict-prototypes -std=gnu++11 -DARDUINO_DEVICE_VENDORID=0x2341 -DARDUINO_DEVICE_PRODUCTID=0x0001 -DARDUINO_DEVICE_MANUFACTURER_STRING="Arduino (www.arduino.cc)" -DARDUINO_DEVICE_PRODUCT_STRING="Arduino Uno dual midi" -DARDUINO_DEVICE_PRODUCT_SERIAL="55732323430351718180" -DMIDI_DEVICE_VENDORID=0x2912 -DMIDI_DEVICE_PRODUCTID=0x1967 -DMIDI_DEVICE_MANUFACTURER_STRING="The KikGen Labs" -DMIDI_DEVICE_PRODUCT_STRING="USB MidiKliK Build-1086 " -DBUILD_NUMBER=1086 -DBUILD_DATE=2019.05.29-14:26:24 -DUSE_LUFA_CONFIG_HEADER -IConfig/ -fpermissive -Os -I. -I../lufa/LUFA/.. -DARCH=ARCH_AVR8 -DBOARD=BOARD_UNO -DF_USB=16000000UL -MMD -MP -MF obj/ConfigDescriptors.d ../lufa/LUFA/Drivers/USB/Core/ConfigDescriptors.c -o obj/ConfigDescriptors.o cc1: warning: command line option '-std=gnu++11' is valid for C++/ObjC++ but not for C [enabled by default] cc1: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] [GCC] : Compiling C file "DeviceStandardReq.c" avr-gcc -c -pipe -gdwarf-2 -g2 -mmcu=atmega16u2 -fshort-enums -fno-inline-small-functions -Wall -fno-strict-aliasing -funsigned-char -funsigned-bitfields -ffunction-sections -I. -DARCH=ARCH_AVR8 -DF_CPU=16000000UL -mrelax -fno-jump-tables -x c -Os -std=gnu99 -Wstrict-prototypes -std=gnu++11 -DARDUINO_DEVICE_VENDORID=0x2341 -DARDUINO_DEVICE_PRODUCTID=0x0001 -DARDUINO_DEVICE_MANUFACTURER_STRING="Arduino (www.arduino.cc)" -DARDUINO_DEVICE_PRODUCT_STRING="Arduino Uno dual midi" -DARDUINO_DEVICE_PRODUCT_SERIAL="55732323430351718180" -DMIDI_DEVICE_VENDORID=0x2912 -DMIDI_DEVICE_PRODUCTID=0x1967 -DMIDI_DEVICE_MANUFACTURER_STRING="The KikGen Labs" -DMIDI_DEVICE_PRODUCT_STRING="USB MidiKliK Build-1086 " -DBUILD_NUMBER=1086 -DBUILD_DATE=2019.05.29-14:26:24 -DUSE_LUFA_CONFIG_HEADER -IConfig/ -fpermissive -Os -I. -I../lufa/LUFA/.. -DARCH=ARCH_AVR8 -DBOARD=BOARD_UNO -DF_USB=16000000UL -MMD -MP -MF obj/DeviceStandardReq.d ../lufa/LUFA/Drivers/USB/Core/DeviceStandardReq.c -o obj/DeviceStandardReq.o cc1: warning: command line option '-std=gnu++11' is valid for C++/ObjC++ but not for C [enabled by default] cc1: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] [GCC] : Compiling C file "Events.c" avr-gcc -c -pipe -gdwarf-2 -g2 -mmcu=atmega16u2 -fshort-enums -fno-inline-small-functions -Wall -fno-strict-aliasing -funsigned-char -funsigned-bitfields -ffunction-sections -I. -DARCH=ARCH_AVR8 -DF_CPU=16000000UL -mrelax -fno-jump-tables -x c -Os -std=gnu99 -Wstrict-prototypes -std=gnu++11 -DARDUINO_DEVICE_VENDORID=0x2341 -DARDUINO_DEVICE_PRODUCTID=0x0001 -DARDUINO_DEVICE_MANUFACTURER_STRING="Arduino (www.arduino.cc)" -DARDUINO_DEVICE_PRODUCT_STRING="Arduino Uno dual midi" -DARDUINO_DEVICE_PRODUCT_SERIAL="55732323430351718180" -DMIDI_DEVICE_VENDORID=0x2912 -DMIDI_DEVICE_PRODUCTID=0x1967 -DMIDI_DEVICE_MANUFACTURER_STRING="The KikGen Labs" -DMIDI_DEVICE_PRODUCT_STRING="USB MidiKliK Build-1086 " -DBUILD_NUMBER=1086 -DBUILD_DATE=2019.05.29-14:26:24 -DUSE_LUFA_CONFIG_HEADER -IConfig/ -fpermissive -Os -I. -I../lufa/LUFA/.. -DARCH=ARCH_AVR8 -DBOARD=BOARD_UNO -DF_USB=16000000UL -MMD -MP -MF obj/Events.d ../lufa/LUFA/Drivers/USB/Core/Events.c -o obj/Events.o cc1: warning: command line option '-std=gnu++11' is valid for C++/ObjC++ but not for C [enabled by default] cc1: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] [GCC] : Compiling C file "HostStandardReq.c" avr-gcc -c -pipe -gdwarf-2 -g2 -mmcu=atmega16u2 -fshort-enums -fno-inline-small-functions -Wall -fno-strict-aliasing -funsigned-char -funsigned-bitfields -ffunction-sections -I. -DARCH=ARCH_AVR8 -DF_CPU=16000000UL -mrelax -fno-jump-tables -x c -Os -std=gnu99 -Wstrict-prototypes -std=gnu++11 -DARDUINO_DEVICE_VENDORID=0x2341 -DARDUINO_DEVICE_PRODUCTID=0x0001 -DARDUINO_DEVICE_MANUFACTURER_STRING="Arduino (www.arduino.cc)" -DARDUINO_DEVICE_PRODUCT_STRING="Arduino Uno dual midi" -DARDUINO_DEVICE_PRODUCT_SERIAL="55732323430351718180" -DMIDI_DEVICE_VENDORID=0x2912 -DMIDI_DEVICE_PRODUCTID=0x1967 -DMIDI_DEVICE_MANUFACTURER_STRING="The KikGen Labs" -DMIDI_DEVICE_PRODUCT_STRING="USB MidiKliK Build-1086 " -DBUILD_NUMBER=1086 -DBUILD_DATE=2019.05.29-14:26:24 -DUSE_LUFA_CONFIG_HEADER -IConfig/ -fpermissive -Os -I. -I../lufa/LUFA/.. -DARCH=ARCH_AVR8 -DBOARD=BOARD_UNO -DF_USB=16000000UL -MMD -MP -MF obj/HostStandardReq.d ../lufa/LUFA/Drivers/USB/Core/HostStandardReq.c -o obj/HostStandardReq.o cc1: warning: command line option '-std=gnu++11' is valid for C++/ObjC++ but not for C [enabled by default] cc1: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] [GCC] : Compiling C file "USBTask.c" avr-gcc -c -pipe -gdwarf-2 -g2 -mmcu=atmega16u2 -fshort-enums -fno-inline-small-functions -Wall -fno-strict-aliasing -funsigned-char -funsigned-bitfields -ffunction-sections -I. -DARCH=ARCH_AVR8 -DF_CPU=16000000UL -mrelax -fno-jump-tables -x c -Os -std=gnu99 -Wstrict-prototypes -std=gnu++11 -DARDUINO_DEVICE_VENDORID=0x2341 -DARDUINO_DEVICE_PRODUCTID=0x0001 -DARDUINO_DEVICE_MANUFACTURER_STRING="Arduino (www.arduino.cc)" -DARDUINO_DEVICE_PRODUCT_STRING="Arduino Uno dual midi" -DARDUINO_DEVICE_PRODUCT_SERIAL="55732323430351718180" -DMIDI_DEVICE_VENDORID=0x2912 -DMIDI_DEVICE_PRODUCTID=0x1967 -DMIDI_DEVICE_MANUFACTURER_STRING="The KikGen Labs" -DMIDI_DEVICE_PRODUCT_STRING="USB MidiKliK Build-1086 " -DBUILD_NUMBER=1086 -DBUILD_DATE=2019.05.29-14:26:24 -DUSE_LUFA_CONFIG_HEADER -IConfig/ -fpermissive -Os -I. -I../lufa/LUFA/.. -DARCH=ARCH_AVR8 -DBOARD=BOARD_UNO -DF_USB=16000000UL -MMD -MP -MF obj/USBTask.d ../lufa/LUFA/Drivers/USB/Core/USBTask.c -o obj/USBTask.o cc1: warning: command line option '-std=gnu++11' is valid for C++/ObjC++ but not for C [enabled by default] cc1: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] [GCC] : Compiling C file "CDCClassDevice.c" avr-gcc -c -pipe -gdwarf-2 -g2 -mmcu=atmega16u2 -fshort-enums -fno-inline-small-functions -Wall -fno-strict-aliasing -funsigned-char -funsigned-bitfields -ffunction-sections -I. -DARCH=ARCH_AVR8 -DF_CPU=16000000UL -mrelax -fno-jump-tables -x c -Os -std=gnu99 -Wstrict-prototypes -std=gnu++11 -DARDUINO_DEVICE_VENDORID=0x2341 -DARDUINO_DEVICE_PRODUCTID=0x0001 -DARDUINO_DEVICE_MANUFACTURER_STRING="Arduino (www.arduino.cc)" -DARDUINO_DEVICE_PRODUCT_STRING="Arduino Uno dual midi" -DARDUINO_DEVICE_PRODUCT_SERIAL="55732323430351718180" -DMIDI_DEVICE_VENDORID=0x2912 -DMIDI_DEVICE_PRODUCTID=0x1967 -DMIDI_DEVICE_MANUFACTURER_STRING="The KikGen Labs" -DMIDI_DEVICE_PRODUCT_STRING="USB MidiKliK Build-1086 " -DBUILD_NUMBER=1086 -DBUILD_DATE=2019.05.29-14:26:24 -DUSE_LUFA_CONFIG_HEADER -IConfig/ -fpermissive -Os -I. -I../lufa/LUFA/.. -DARCH=ARCH_AVR8 -DBOARD=BOARD_UNO -DF_USB=16000000UL -MMD -MP -MF obj/CDCClassDevice.d ../lufa/LUFA/Drivers/USB/Class/Device/CDCClassDevice.c -o obj/CDCClassDevice.o cc1: warning: command line option '-std=gnu++11' is valid for C++/ObjC++ but not for C [enabled by default] cc1: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] [GCC] : Compiling C file "CDCClassHost.c" avr-gcc -c -pipe -gdwarf-2 -g2 -mmcu=atmega16u2 -fshort-enums -fno-inline-small-functions -Wall -fno-strict-aliasing -funsigned-char -funsigned-bitfields -ffunction-sections -I. -DARCH=ARCH_AVR8 -DF_CPU=16000000UL -mrelax -fno-jump-tables -x c -Os -std=gnu99 -Wstrict-prototypes -std=gnu++11 -DARDUINO_DEVICE_VENDORID=0x2341 -DARDUINO_DEVICE_PRODUCTID=0x0001 -DARDUINO_DEVICE_MANUFACTURER_STRING="Arduino (www.arduino.cc)" -DARDUINO_DEVICE_PRODUCT_STRING="Arduino Uno dual midi" -DARDUINO_DEVICE_PRODUCT_SERIAL="55732323430351718180" -DMIDI_DEVICE_VENDORID=0x2912 -DMIDI_DEVICE_PRODUCTID=0x1967 -DMIDI_DEVICE_MANUFACTURER_STRING="The KikGen Labs" -DMIDI_DEVICE_PRODUCT_STRING="USB MidiKliK Build-1086 " -DBUILD_NUMBER=1086 -DBUILD_DATE=2019.05.29-14:26:25 -DUSE_LUFA_CONFIG_HEADER -IConfig/ -fpermissive -Os -I. -I../lufa/LUFA/.. -DARCH=ARCH_AVR8 -DBOARD=BOARD_UNO -DF_USB=16000000UL -MMD -MP -MF obj/CDCClassHost.d ../lufa/LUFA/Drivers/USB/Class/Host/CDCClassHost.c -o obj/CDCClassHost.o cc1: warning: command line option '-std=gnu++11' is valid for C++/ObjC++ but not for C [enabled by default] cc1: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] [GCC] : Compiling C file "MIDIClassDevice.c" avr-gcc -c -pipe -gdwarf-2 -g2 -mmcu=atmega16u2 -fshort-enums -fno-inline-small-functions -Wall -fno-strict-aliasing -funsigned-char -funsigned-bitfields -ffunction-sections -I. -DARCH=ARCH_AVR8 -DF_CPU=16000000UL -mrelax -fno-jump-tables -x c -Os -std=gnu99 -Wstrict-prototypes -std=gnu++11 -DARDUINO_DEVICE_VENDORID=0x2341 -DARDUINO_DEVICE_PRODUCTID=0x0001 -DARDUINO_DEVICE_MANUFACTURER_STRING="Arduino (www.arduino.cc)" -DARDUINO_DEVICE_PRODUCT_STRING="Arduino Uno dual midi" -DARDUINO_DEVICE_PRODUCT_SERIAL="55732323430351718180" -DMIDI_DEVICE_VENDORID=0x2912 -DMIDI_DEVICE_PRODUCTID=0x1967 -DMIDI_DEVICE_MANUFACTURER_STRING="The KikGen Labs" -DMIDI_DEVICE_PRODUCT_STRING="USB MidiKliK Build-1086 " -DBUILD_NUMBER=1086 -DBUILD_DATE=2019.05.29-14:26:25 -DUSE_LUFA_CONFIG_HEADER -IConfig/ -fpermissive -Os -I. -I../lufa/LUFA/.. -DARCH=ARCH_AVR8 -DBOARD=BOARD_UNO -DF_USB=16000000UL -MMD -MP -MF obj/MIDIClassDevice.d ../lufa/LUFA/Drivers/USB/Class/Device/MIDIClassDevice.c -o obj/MIDIClassDevice.o cc1: warning: command line option '-std=gnu++11' is valid for C++/ObjC++ but not for C [enabled by default] cc1: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] [GCC] : Compiling C file "MIDIClassHost.c" avr-gcc -c -pipe -gdwarf-2 -g2 -mmcu=atmega16u2 -fshort-enums -fno-inline-small-functions -Wall -fno-strict-aliasing -funsigned-char -funsigned-bitfields -ffunction-sections -I. -DARCH=ARCH_AVR8 -DF_CPU=16000000UL -mrelax -fno-jump-tables -x c -Os -std=gnu99 -Wstrict-prototypes -std=gnu++11 -DARDUINO_DEVICE_VENDORID=0x2341 -DARDUINO_DEVICE_PRODUCTID=0x0001 -DARDUINO_DEVICE_MANUFACTURER_STRING="Arduino (www.arduino.cc)" -DARDUINO_DEVICE_PRODUCT_STRING="Arduino Uno dual midi" -DARDUINO_DEVICE_PRODUCT_SERIAL="55732323430351718180" -DMIDI_DEVICE_VENDORID=0x2912 -DMIDI_DEVICE_PRODUCTID=0x1967 -DMIDI_DEVICE_MANUFACTURER_STRING="The KikGen Labs" -DMIDI_DEVICE_PRODUCT_STRING="USB MidiKliK Build-1086 " -DBUILD_NUMBER=1086 -DBUILD_DATE=2019.05.29-14:26:25 -DUSE_LUFA_CONFIG_HEADER -IConfig/ -fpermissive -Os -I. -I../lufa/LUFA/.. -DARCH=ARCH_AVR8 -DBOARD=BOARD_UNO -DF_USB=16000000UL -MMD -MP -MF obj/MIDIClassHost.d ../lufa/LUFA/Drivers/USB/Class/Host/MIDIClassHost.c -o obj/MIDIClassHost.o cc1: warning: command line option '-std=gnu++11' is valid for C++/ObjC++ but not for C [enabled by default] cc1: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] [GCC] : Compiling C file "Serial_AVR8.c" avr-gcc -c -pipe -gdwarf-2 -g2 -mmcu=atmega16u2 -fshort-enums -fno-inline-small-functions -Wall -fno-strict-aliasing -funsigned-char -funsigned-bitfields -ffunction-sections -I. -DARCH=ARCH_AVR8 -DF_CPU=16000000UL -mrelax -fno-jump-tables -x c -Os -std=gnu99 -Wstrict-prototypes -std=gnu++11 -DARDUINO_DEVICE_VENDORID=0x2341 -DARDUINO_DEVICE_PRODUCTID=0x0001 -DARDUINO_DEVICE_MANUFACTURER_STRING="Arduino (www.arduino.cc)" -DARDUINO_DEVICE_PRODUCT_STRING="Arduino Uno dual midi" -DARDUINO_DEVICE_PRODUCT_SERIAL="55732323430351718180" -DMIDI_DEVICE_VENDORID=0x2912 -DMIDI_DEVICE_PRODUCTID=0x1967 -DMIDI_DEVICE_MANUFACTURER_STRING="The KikGen Labs" -DMIDI_DEVICE_PRODUCT_STRING="USB MidiKliK Build-1086 " -DBUILD_NUMBER=1086 -DBUILD_DATE=2019.05.29-14:26:25 -DUSE_LUFA_CONFIG_HEADER -IConfig/ -fpermissive -Os -I. -I../lufa/LUFA/.. -DARCH=ARCH_AVR8 -DBOARD=BOARD_UNO -DF_USB=16000000UL -MMD -MP -MF obj/Serial_AVR8.d ../lufa/LUFA/Drivers/Peripheral/AVR8/Serial_AVR8.c -o obj/Serial_AVR8.o cc1: warning: command line option '-std=gnu++11' is valid for C++/ObjC++ but not for C [enabled by default] cc1: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default] [LNK] : Linking object files into "USBMidiKliK_dual_uno.elf" avr-gcc obj/USBMidiKliK_dual.o obj/Descriptors.o obj/midiXparser.o obj/HIDParser.o obj/Device_AVR8.o obj/EndpointStream_AVR8.o obj/Endpoint_AVR8.o obj/Host_AVR8.o obj/PipeStream_AVR8.o obj/Pipe_AVR8.o obj/USBController_AVR8.o obj/USBInterrupt_AVR8.o obj/ConfigDescriptors.o obj/DeviceStandardReq.o obj/Events.o obj/HostStandardReq.o obj/USBTask.o obj/CDCClassDevice.o obj/CDCClassHost.o obj/MIDIClassDevice.o obj/MIDIClassHost.o obj/Serial_AVR8.o -o USBMidiKliK_dual_uno.elf -lm -Wl,-Map=USBMidiKliK_dual_uno.map,--cref -Wl,--gc-sections -Wl,--relax -mmcu=atmega16u2 [OBJCPY] : Extracting HEX file data from "USBMidiKliK_dual_uno.elf" avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature USBMidiKliK_dual_uno.elf USBMidiKliK_dual_uno.hex [OBJCPY] : Extracting EEP file data from "USBMidiKliK_dual_uno.elf" avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings USBMidiKliK_dual_uno.elf USBMidiKliK_dual_uno.eep || exit 0 [OBJCPY] : Extracting BIN file data from "USBMidiKliK_dual_uno.elf" avr-objcopy -O binary -R .eeprom -R .fuse -R .lock -R .signature USBMidiKliK_dual_uno.elf USBMidiKliK_dual_uno.bin [OBJDMP] : Extracting LSS file data from "USBMidiKliK_dual_uno.elf" avr-objdump -h -d -S -z USBMidiKliK_dual_uno.elf > USBMidiKliK_dual_uno.lss [NM] : Extracting SYM file data from "USBMidiKliK_dual_uno.elf" avr-nm -n USBMidiKliK_dual_uno.elf > USBMidiKliK_dual_uno.sym [SIZE] : Determining size of "USBMidiKliK_dual_uno.elf"

avr-size --mcu=atmega16u2 --format=avr USBMidiKliK_dual_uno.elf AVR Memory Usage

Device: atmega16u2

Program: 10098 bytes (61.6% Full) (.text + .data + .bootloader)

Data: 371 bytes (72.5% Full) (.data + .bss + .noinit)

[INFO] : Finished building project "USBMidiKliK_dual_uno". `

nkalousis commented 5 years ago

OK, I gave avrdude -p m16u2 -F -P usb -c usbtiny -U flash:w:USBMidiKliK_dual_uno.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m on the terminal. Everything went fine and now my Arduino Mega appears as "USB MidiKliK Build-1083" on my Mac! So far so good! Now I need to get my hands on some examples to get something useful out of this...

orzdk commented 5 years ago

Nice that so freshly aquired knowledge by me was still able to help you, and you are most welcome. Basically I am also a novice in the AVR world, so that was luck i guess : )

I believe that I also got those warnings, but it finished, so I am also looking forward to try to upload later today, - in my case to a Pro Micro ATmega32u4.

PM me so we can keep in contact, if we're working on the same things we might as well knowledge share.

VBR

TheKikGen commented 5 years ago

Hi Guys. Nice to see mutual support between users. If any of you feel ready to write a wiki on how to build USBMidiKlik (which I don't really have time to do ) he is welcome! Know that some specific options in the makefile allows you to build also the version for Arduino Leonardo/Nano.

EsGeh commented 5 years ago

Thanks for all the information. I have been able to compile, after some tinkering. I had to solve compile errors by figuring out version conflicts between the libraries involved, by hand (and wild guessing). I still think it would be nice to have some information about the dependencies (including version/git commits) in the README. This only makes sense if the developers keep them up to date, of course. In my own projects I handle this by having (bash-/fish-/...) scripts to automatize downloading dependencies, building, and a "config" file which specifies the git hashes of the dependencies needed. I can offer to provide similar scripts for this project, if wished.