From 00f4b4b16f85dd8e4029cc714ee5dbe5af693efe Mon Sep 17 00:00:00 2001 From: tropicananass Date: Wed, 6 Feb 2019 20:29:33 +0100 Subject: [PATCH] zbra --- .clang_complete | 14 +- .gcc-flags.json | 7 - .pioenvs/.sconsign.dblite | Bin 93974 -> 26341 bytes .pioenvs/micro/firmware.elf | Bin 27324 -> 0 bytes .pioenvs/micro/firmware.hex | 584 -------------------- .pioenvs/structure.hash | 2 +- build.log | 1005 +++++++++-------------------------- lib/Keyboard.h | 2 +- src/main.cpp | 171 ++---- 9 files changed, 317 insertions(+), 1468 deletions(-) delete mode 100755 .pioenvs/micro/firmware.elf delete mode 100644 .pioenvs/micro/firmware.hex diff --git a/.clang_complete b/.clang_complete index bc2c00d..399498c 100644 --- a/.clang_complete +++ b/.clang_complete @@ -5,10 +5,6 @@ -I/home/nathan/.platformio/packages/framework-arduinoavr/libraries/__cores__/arduino/SoftwareSerial/src -I/home/nathan/.platformio/lib/ArduinoJson_ID64/src -I/home/nathan/.platformio/lib/Keypad_ID165/src -<<<<<<< HEAD -======= --I/home/nathan/.platformio/lib/Multiplexer_ID320 ->>>>>>> a60abe1c71fdccfddb532c4d4cf5d21b381f314a -I/home/nathan/.platformio/lib/PubSubClient_ID89/src -I/home/nathan/.platformio/lib/Tone_ID1420 -I/home/nathan/.platformio/lib/WifiManager_ID567 @@ -16,8 +12,8 @@ -I/home/nathan/.platformio/packages/framework-arduinoavr/libraries/__cores__/arduino/HID/src -I/home/nathan/.platformio/packages/framework-arduinoavr/libraries/__cores__/arduino/SPI/src -I/home/nathan/.platformio/packages/framework-arduinoavr/libraries/__cores__/arduino/Wire/src --I/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Adafruit_Circuit_Playground --I/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Adafruit_Circuit_Playground/utility +-I/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Adafruit_CircuitPlayground +-I/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Adafruit_CircuitPlayground/utility -I/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Bridge/src -I/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Esplora/src -I/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Ethernet/src @@ -41,15 +37,9 @@ -I/home/nathan/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/5.4.0/include-fixed -I/home/nathan/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/5.4.0/include -I/home/nathan/.platformio/packages/tool-unity -<<<<<<< HEAD -I/media/c/Users/Nathan/Documents/PlatformIO/Projects/MidiKeyboard/include -I/media/c/Users/Nathan/Documents/PlatformIO/Projects/MidiKeyboard/src -DPLATFORMIO=40000 -======= --I/home/nathan/Documents/PlatformIO/Projects/Midi/include --I/home/nathan/Documents/PlatformIO/Projects/Midi/src --DPLATFORMIO=30604 ->>>>>>> a60abe1c71fdccfddb532c4d4cf5d21b381f314a -DARDUINO_AVR_MICRO -DF_CPU=16000000L -DARDUINO_ARCH_AVR diff --git a/.gcc-flags.json b/.gcc-flags.json index 5aa0a02..2f57e73 100644 --- a/.gcc-flags.json +++ b/.gcc-flags.json @@ -1,15 +1,8 @@ { "execPath": "/home/nathan/.platformio/packages/toolchain-atmelavr/bin/avr-g++", -<<<<<<< HEAD "gccDefaultCFlags": "-fsyntax-only -std=gnu11 -fno-fat-lto-objects -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega32u4 -DPLATFORMIO=40000 -DARDUINO_AVR_MICRO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10805 -DUSB_VID=0x2341 -DUSB_PID=0x0037 -DUSB_PRODUCT=\"Arduino Micro\" -DUSB_MANUFACTURER=\"Arduino\" -D__AVR_ATmega32U4__", "gccDefaultCppFlags": "-fsyntax-only -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega32u4 -DPLATFORMIO=40000 -DARDUINO_AVR_MICRO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10805 -DUSB_VID=0x2341 -DUSB_PID=0x0037 -DUSB_PRODUCT=\"Arduino Micro\" -DUSB_MANUFACTURER=\"Arduino\" -D__AVR_ATmega32U4__", "gccErrorLimit": 15, "gccIncludePaths": "/home/nathan/.platformio/packages/framework-arduinoavr/cores/arduino,/home/nathan/.platformio/packages/framework-arduinoavr/variants/micro,/home/nathan/.platformio/lib/MIDI controller/src,/home/nathan/.platformio/lib/MIDIUSB_ID1104/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/__cores__/arduino/SoftwareSerial/src,/home/nathan/.platformio/lib/ArduinoJson_ID64/src,/home/nathan/.platformio/lib/Keypad_ID165/src,/home/nathan/.platformio/lib/PubSubClient_ID89/src,/home/nathan/.platformio/lib/Tone_ID1420,/home/nathan/.platformio/lib/WifiManager_ID567,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/__cores__/arduino/EEPROM/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/__cores__/arduino/HID/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/__cores__/arduino/SPI/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/__cores__/arduino/Wire/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Adafruit_CircuitPlayground,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Adafruit_CircuitPlayground/utility,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Bridge/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Esplora/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Ethernet/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Firmata,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Firmata/utility,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/GSM/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Keyboard/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/LiquidCrystal/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Mouse/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/RobotIRremote/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Robot_Control/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Robot_Motor/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/SD/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Servo/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/SpacebrewYun/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Stepper/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/TFT/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Temboo/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/WiFi/src,/home/nathan/.platformio/packages/toolchain-atmelavr/avr/include,/home/nathan/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/5.4.0/include-fixed,/home/nathan/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/5.4.0/include,/home/nathan/.platformio/packages/tool-unity,/media/c/Users/Nathan/Documents/PlatformIO/Projects/MidiKeyboard/include,/media/c/Users/Nathan/Documents/PlatformIO/Projects/MidiKeyboard/src", -======= - "gccDefaultCFlags": "-fsyntax-only -std=gnu11 -fno-fat-lto-objects -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega32u4 -DPLATFORMIO=30604 -DARDUINO_AVR_MICRO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10805 -DUSB_VID=0x2341 -DUSB_PID=0x0037 -DUSB_PRODUCT=\"Arduino Micro\" -DUSB_MANUFACTURER=\"Arduino\" -D__AVR_ATmega32U4__", - "gccDefaultCppFlags": "-fsyntax-only -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega32u4 -DPLATFORMIO=30604 -DARDUINO_AVR_MICRO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10805 -DUSB_VID=0x2341 -DUSB_PID=0x0037 -DUSB_PRODUCT=\"Arduino Micro\" -DUSB_MANUFACTURER=\"Arduino\" -D__AVR_ATmega32U4__", - "gccErrorLimit": 15, - "gccIncludePaths": "/home/nathan/.platformio/packages/framework-arduinoavr/cores/arduino,/home/nathan/.platformio/packages/framework-arduinoavr/variants/micro,/home/nathan/.platformio/lib/Encoder,/home/nathan/.platformio/lib/Encoder/utility,/home/nathan/.platformio/lib/MIDI controller/src,/home/nathan/.platformio/lib/MIDIUSB_ID1104/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/__cores__/arduino/SoftwareSerial/src,/home/nathan/.platformio/lib/Adafruit MQTT Library_ID1092,/home/nathan/.platformio/lib/ArduinoJson_ID64/src,/home/nathan/.platformio/lib/Keypad_ID165/src,/home/nathan/.platformio/lib/Multiplexer_ID320,/home/nathan/.platformio/lib/PubSubClient_ID89/src,/home/nathan/.platformio/lib/WifiManager_ID567,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/__cores__/arduino/EEPROM/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/__cores__/arduino/HID/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/__cores__/arduino/SPI/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/__cores__/arduino/Wire/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Adafruit_Circuit_Playground,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Adafruit_Circuit_Playground/utility,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Bridge/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Esplora/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Ethernet/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Firmata,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Firmata/utility,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/GSM/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Keyboard/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/LiquidCrystal/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Mouse/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/RobotIRremote/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Robot_Control/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Robot_Motor/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/SD/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Servo/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/SpacebrewYun/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Stepper/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/TFT/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/Temboo/src,/home/nathan/.platformio/packages/framework-arduinoavr/libraries/WiFi/src,/home/nathan/.platformio/packages/toolchain-atmelavr/avr/include,/home/nathan/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/5.4.0/include-fixed,/home/nathan/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/5.4.0/include,/home/nathan/.platformio/packages/tool-unity,/home/nathan/Documents/PlatformIO/Projects/Midi/include,/home/nathan/Documents/PlatformIO/Projects/Midi/src", ->>>>>>> a60abe1c71fdccfddb532c4d4cf5d21b381f314a "gccSuppressWarnings": false } diff --git a/.pioenvs/.sconsign.dblite b/.pioenvs/.sconsign.dblite index 8eb84ccee6633c933902d72971efbd866d96ccf1..2de27f70c015e7285ee6b7f924cadaa70249bab0 100644 GIT binary patch delta 3828 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 diff --git a/.pioenvs/micro/firmware.elf b/.pioenvs/micro/firmware.elf deleted file mode 100755 index 3be570eedeb0ef2005fd06b9dbfd75aa6dff798f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27324 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 Arduino Micro HARDWARE: ATMEGA32U4 16MHz 2.50KB RAM (28KB Flash) Library Dependency Finder -> http://bit.ly/configure-pio-ldf LDF MODES: FINDER(chain) COMPATIBILITY(soft) -Collected 29 compatible libraries +Collected 32 compatible libraries Scanning dependencies... Dependency Graph -|-- 3.1.0 #f4c4c2a -| |-- 1.0 +|-- 3.1.0 #e895a51 | |-- 1.0.3 +| |-- 1.0 Compiling .pioenvs/micro/src/main.cpp.o +Compiling .pioenvs/micro/src/mainTest.cpp.o +Compiling .pioenvs/micro/lib103/MIDIUSB_ID1104/MIDIUSB.cpp.o Compiling .pioenvs/micro/libe75/SoftwareSerial/SoftwareSerial.cpp.o -src/main.cpp:21:13: warning: 'Analog' is deprecated +src/mainTest.cpp:21:13: warning: 'Analog' is deprecated Analog potentiometers[] = { ^ -Compiling .pioenvs/micro/lib103/MIDIUSB_ID1104/MIDIUSB.cpp.o -In file included from /home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Controller/MIDI_Controller_Class.h:4:0, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller.h:10, -from src/main.cpp:3: -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h: In member function 'virtual void USBMIDI_Interface::sendImpl(uint8_t, uint8_t, uint8_t, uint8_t)': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h:46:36: warning: narrowing conversion of '(((int)m) >> 4)' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing] +src/main.cpp:35:13: warning: 'Analog' is deprecated +Analog potentiometers[] = { +^ +In file included from lib/MIDI_controller/src/./MIDI_Controller/MIDI_Controller_Class.h:4:0, +from lib/MIDI_controller/src/MIDI_Controller.h:10, +from src/mainTest.cpp:3: +lib/MIDI_controller/src/./MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h: In member function 'virtual void USBMIDI_Interface::sendImpl(uint8_t, uint8_t, uint8_t, uint8_t)': +lib/MIDI_controller/src/./MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h:46:36: warning: narrowing conversion of '(((int)m) >> 4)' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing] midiEventPacket_t msg = {m >> 4, m | c, d1, d2}; ^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h:46:44: warning: narrowing conversion of '(int)(m | c)' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing] +lib/MIDI_controller/src/./MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h:46:44: warning: narrowing conversion of '(int)(m | c)' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing] midiEventPacket_t msg = {m >> 4, m | c, d1, d2}; ^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Outputs/../ExtendedInputOutput/ExtendedInputOutput.h:5:0, -from /home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Outputs/Analog.h:8, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller.h:14, -from src/main.cpp:3: -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual int ExtendedIOElement::digitalRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h:33:38: warning: no return statement in function returning non-void [-Wreturn-type] +In file included from lib/MIDI_controller/src/./MIDI_Outputs/../ExtendedInputOutput/ExtendedInputOutput.h:5:0, +from lib/MIDI_controller/src/./MIDI_Outputs/Analog.h:8, +from lib/MIDI_controller/src/MIDI_Controller.h:14, +from src/mainTest.cpp:3: +lib/MIDI_controller/src/./MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual int ExtendedIOElement::digitalRead(pin_t)': +lib/MIDI_controller/src/./MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h:33:38: warning: no return statement in function returning non-void [-Wreturn-type] virtual int digitalRead(pin_t pin){}; ^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual analog_t ExtendedIOElement::analogRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h:34:42: warning: no return statement in function returning non-void [-Wreturn-type] +lib/MIDI_controller/src/./MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual analog_t ExtendedIOElement::analogRead(pin_t)': +lib/MIDI_controller/src/./MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h:34:42: warning: no return statement in function returning non-void [-Wreturn-type] virtual analog_t analogRead(pin_t pin){}; ^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller.h:33:0, -from src/main.cpp:3: -/home/nathan/.platformio/lib/MIDI controller/src/./ExtendedInputOutput/AnalogMultiplex.h: In constructor 'AnalogMultiplex::AnalogMultiplex(pin_t, std::initializer_list)': -/home/nathan/.platformio/lib/MIDI controller/src/./ExtendedInputOutput/AnalogMultiplex.h:45:32: warning: 'AnalogMultiplex::nb_addresses' will be initialized after [-Wreorder] +In file included from lib/MIDI_controller/src/./MIDI_Controller/MIDI_Controller_Class.h:4:0, +from lib/MIDI_controller/src/MIDI_Controller.h:10, +from src/main.cpp:2: +lib/MIDI_controller/src/./MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h: In member function 'virtual void USBMIDI_Interface::sendImpl(uint8_t, uint8_t, uint8_t, uint8_t)': +lib/MIDI_controller/src/./MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h:46:36: warning: narrowing conversion of '(((int)m) >> 4)' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing] +midiEventPacket_t msg = {m >> 4, m | c, d1, d2}; +^ +lib/MIDI_controller/src/./MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h:46:44: warning: narrowing conversion of '(int)(m | c)' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing] +midiEventPacket_t msg = {m >> 4, m | c, d1, d2}; +^ +In file included from lib/MIDI_controller/src/./MIDI_Outputs/../ExtendedInputOutput/ExtendedInputOutput.h:5:0, +from lib/MIDI_controller/src/./MIDI_Outputs/Analog.h:8, +from lib/MIDI_controller/src/MIDI_Controller.h:14, +from src/main.cpp:2: +lib/MIDI_controller/src/./MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual int ExtendedIOElement::digitalRead(pin_t)': +lib/MIDI_controller/src/./MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h:33:38: warning: no return statement in function returning non-void [-Wreturn-type] +virtual int digitalRead(pin_t pin){}; +^ +lib/MIDI_controller/src/./MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual analog_t ExtendedIOElement::analogRead(pin_t)': +lib/MIDI_controller/src/./MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h:34:42: warning: no return statement in function returning non-void [-Wreturn-type] +virtual analog_t analogRead(pin_t pin){}; +^ +In file included from lib/MIDI_controller/src/MIDI_Controller.h:33:0, +from src/mainTest.cpp:3: +lib/MIDI_controller/src/./ExtendedInputOutput/AnalogMultiplex.h: In constructor 'AnalogMultiplex::AnalogMultiplex(pin_t, std::initializer_list)': +lib/MIDI_controller/src/./ExtendedInputOutput/AnalogMultiplex.h:45:32: warning: 'AnalogMultiplex::nb_addresses' will be initialized after [-Wreorder] const size_t nb_addressPins, nb_addresses; ^ -/home/nathan/.platformio/lib/MIDI controller/src/./ExtendedInputOutput/AnalogMultiplex.h:24:50: warning: base 'ExtendedIOElement' [-Wreorder] +lib/MIDI_controller/src/./ExtendedInputOutput/AnalogMultiplex.h:24:50: warning: base 'ExtendedIOElement' [-Wreorder] ExtendedIOElement(1 << addressPins.size()) ^ -/home/nathan/.platformio/lib/MIDI controller/src/./ExtendedInputOutput/AnalogMultiplex.h:22:3: warning: when initialized here [-Wreorder] +lib/MIDI_controller/src/./ExtendedInputOutput/AnalogMultiplex.h:22:3: warning: when initialized here [-Wreorder] AnalogMultiplex(pin_t analogPin, std::initializer_list addressPins) ^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller.h:28:0, -from src/main.cpp:3: -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h: In instantiation of 'SerialMIDI_Interface::SerialMIDI_Interface(T&, long unsigned int) [with T = HardwareSerial]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:57:111: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:51:23: warning: 'SerialMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:112: warning: base 'StreamMIDI_Interface' [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:3: warning: when initialized here [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h: In instantiation of 'SerialMIDI_Interface::SerialMIDI_Interface(T&, long unsigned int) [with T = Serial_]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:85:82: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:51:23: warning: 'SerialMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:112: warning: base 'StreamMIDI_Interface' [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:3: warning: when initialized here [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h: In instantiation of 'SerialMIDI_Interface::SerialMIDI_Interface(T&, long unsigned int) [with T = SoftwareSerial]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:101:110: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:51:23: warning: 'SerialMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:112: warning: base 'StreamMIDI_Interface' [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:3: warning: when initialized here [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller.h:29:0, -from src/main.cpp:3: -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h: In instantiation of 'SerialDebugMIDI_Interface::SerialDebugMIDI_Interface(T&, long unsigned int) [with T = HardwareSerial]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:70:121: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:64:23: warning: 'SerialDebugMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:122: warning: base 'StreamDebugMIDI_Interface' [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:3: warning: when initialized here [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h: In instantiation of 'SerialDebugMIDI_Interface::SerialDebugMIDI_Interface(T&, long unsigned int) [with T = Serial_]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:98:86: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:64:23: warning: 'SerialDebugMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:122: warning: base 'StreamDebugMIDI_Interface' [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:3: warning: when initialized here [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h: In instantiation of 'SerialDebugMIDI_Interface::SerialDebugMIDI_Interface(T&, long unsigned int) [with T = SoftwareSerial]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:107:120: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:64:23: warning: 'SerialDebugMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:122: warning: base 'StreamDebugMIDI_Interface' [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:3: warning: when initialized here [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -Compiling .pioenvs/micro/lib7af/MIDI controller/Banks/Bank.cpp.o -In file included from /home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Controller/MIDI_Controller_Class.h:4:0, -from /home/nathan/.platformio/lib/MIDI controller/src/Banks/../MIDI_Controller.h:10, -from /home/nathan/.platformio/lib/MIDI controller/src/Banks/Bank.cpp:2: -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h: In member function 'virtual void USBMIDI_Interface::sendImpl(uint8_t, uint8_t, uint8_t, uint8_t)': -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h:46:36: warning: narrowing conversion of '(((int)m) >> 4)' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing] -midiEventPacket_t msg = {m >> 4, m | c, d1, d2}; -^ -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h:46:44: warning: narrowing conversion of '(int)(m | c)' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing] -midiEventPacket_t msg = {m >> 4, m | c, d1, d2}; -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Outputs/../ExtendedInputOutput/ExtendedInputOutput.h:5:0, -from /home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Outputs/Analog.h:8, -from /home/nathan/.platformio/lib/MIDI controller/src/Banks/../MIDI_Controller.h:14, -from /home/nathan/.platformio/lib/MIDI controller/src/Banks/Bank.cpp:2: -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual int ExtendedIOElement::digitalRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h:33:38: warning: no return statement in function returning non-void [-Wreturn-type] -virtual int digitalRead(pin_t pin){}; -^ -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual analog_t ExtendedIOElement::analogRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h:34:42: warning: no return statement in function returning non-void [-Wreturn-type] -virtual analog_t analogRead(pin_t pin){}; -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/Banks/../MIDI_Controller.h:33:0, -from /home/nathan/.platformio/lib/MIDI controller/src/Banks/Bank.cpp:2: -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././ExtendedInputOutput/AnalogMultiplex.h: In constructor 'AnalogMultiplex::AnalogMultiplex(pin_t, std::initializer_list)': -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././ExtendedInputOutput/AnalogMultiplex.h:45:32: warning: 'AnalogMultiplex::nb_addresses' will be initialized after [-Wreorder] +In file included from lib/MIDI_controller/src/MIDI_Controller.h:33:0, +from src/main.cpp:2: +lib/MIDI_controller/src/./ExtendedInputOutput/AnalogMultiplex.h: In constructor 'AnalogMultiplex::AnalogMultiplex(pin_t, std::initializer_list)': +lib/MIDI_controller/src/./ExtendedInputOutput/AnalogMultiplex.h:45:32: warning: 'AnalogMultiplex::nb_addresses' will be initialized after [-Wreorder] const size_t nb_addressPins, nb_addresses; ^ -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././ExtendedInputOutput/AnalogMultiplex.h:24:50: warning: base 'ExtendedIOElement' [-Wreorder] +lib/MIDI_controller/src/./ExtendedInputOutput/AnalogMultiplex.h:24:50: warning: base 'ExtendedIOElement' [-Wreorder] ExtendedIOElement(1 << addressPins.size()) ^ -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././ExtendedInputOutput/AnalogMultiplex.h:22:3: warning: when initialized here [-Wreorder] +lib/MIDI_controller/src/./ExtendedInputOutput/AnalogMultiplex.h:22:3: warning: when initialized here [-Wreorder] AnalogMultiplex(pin_t analogPin, std::initializer_list addressPins) ^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/Banks/../MIDI_Controller.h:28:0, -from /home/nathan/.platformio/lib/MIDI controller/src/Banks/Bank.cpp:2: -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/SerialMIDI_Interface.h: In instantiation of 'SerialMIDI_Interface::SerialMIDI_Interface(T&, long unsigned int) [with T = HardwareSerial]': -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/SerialMIDI_Interface.h:57:111: required from here -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/SerialMIDI_Interface.h:51:23: warning: 'SerialMIDI_Interface::baud' will be initialized after [-Wreorder] +In file included from lib/MIDI_controller/src/MIDI_Controller.h:28:0, +from src/mainTest.cpp:3: +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h: In instantiation of 'SerialMIDI_Interface::SerialMIDI_Interface(T&, long unsigned int) [with T = HardwareSerial]': +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:57:111: required from here +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:51:23: warning: 'SerialMIDI_Interface::baud' will be initialized after [-Wreorder] const unsigned long baud; ^ -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/SerialMIDI_Interface.h:43:112: warning: base 'StreamMIDI_Interface' [-Wreorder] +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:112: warning: base 'StreamMIDI_Interface' [-Wreorder] SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} ^ -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/SerialMIDI_Interface.h:43:3: warning: when initialized here [-Wreorder] +src/main.cpp: In function 'void setup()': +src/main.cpp:50:51: error: call of overloaded 'pinMode(uint8_t, int)' is ambiguous +pinMode(static_cast(shift_clock), OUTPUT); +^ +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:3: warning: when initialized here [-Wreorder] SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} ^ -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/SerialMIDI_Interface.h: In instantiation of 'SerialMIDI_Interface::SerialMIDI_Interface(T&, long unsigned int) [with T = Serial_]': -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/SerialMIDI_Interface.h:85:82: required from here -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/SerialMIDI_Interface.h:51:23: warning: 'SerialMIDI_Interface::baud' will be initialized after [-Wreorder] +In file included from src/main.cpp:1:0: +/home/nathan/.platformio/packages/framework-arduinoavr/cores/arduino/Arduino.h:133:6: note: candidate: void pinMode(uint8_t, uint8_t) +void pinMode(uint8_t, uint8_t); +^ +In file included from lib/MIDI_controller/src/./MIDI_Outputs/Analog.h:8:0, +from lib/MIDI_controller/src/MIDI_Controller.h:14, +from src/main.cpp:2: +lib/MIDI_controller/src/./MIDI_Outputs/../ExtendedInputOutput/ExtendedInputOutput.h:13:13: note: candidate: void ExtIO::pinMode(int, uint8_t) +extern void pinMode(int pin, uint8_t mode); +^ +lib/MIDI_controller/src/./MIDI_Outputs/../ExtendedInputOutput/ExtendedInputOutput.h:12:13: note: candidate: void ExtIO::pinMode(pin_t, uint8_t) +extern void pinMode(pin_t pin, uint8_t mode); +^ +src/main.cpp:51:28: error: call of overloaded 'pinMode(const uint8_t&, int)' is ambiguous +pinMode(shift_data, OUTPUT); +^ +In file included from src/main.cpp:1:0: +/home/nathan/.platformio/packages/framework-arduinoavr/cores/arduino/Arduino.h:133:6: note: candidate: void pinMode(uint8_t, uint8_t) +void pinMode(uint8_t, uint8_t); +^ +In file included from lib/MIDI_controller/src/./MIDI_Outputs/Analog.h:8:0, +from lib/MIDI_controller/src/MIDI_Controller.h:14, +from src/main.cpp:2: +lib/MIDI_controller/src/./MIDI_Outputs/../ExtendedInputOutput/ExtendedInputOutput.h:13:13: note: candidate: void ExtIO::pinMode(int, uint8_t) +extern void pinMode(int pin, uint8_t mode); +^ +lib/MIDI_controller/src/./MIDI_Outputs/../ExtendedInputOutput/ExtendedInputOutput.h:12:13: note: candidate: void ExtIO::pinMode(pin_t, uint8_t) +extern void pinMode(pin_t pin, uint8_t mode); +^ +src/main.cpp:52:29: error: call of overloaded 'pinMode(const uint8_t&, int)' is ambiguous +pinMode(shift_latch, OUTPUT); +^ +In file included from src/main.cpp:1:0: +/home/nathan/.platformio/packages/framework-arduinoavr/cores/arduino/Arduino.h:133:6: note: candidate: void pinMode(uint8_t, uint8_t) +void pinMode(uint8_t, uint8_t); +^ +In file included from lib/MIDI_controller/src/./MIDI_Outputs/Analog.h:8:0, +from lib/MIDI_controller/src/MIDI_Controller.h:14, +from src/main.cpp:2: +lib/MIDI_controller/src/./MIDI_Outputs/../ExtendedInputOutput/ExtendedInputOutput.h:13:13: note: candidate: void ExtIO::pinMode(int, uint8_t) +extern void pinMode(int pin, uint8_t mode); +^ +lib/MIDI_controller/src/./MIDI_Outputs/../ExtendedInputOutput/ExtendedInputOutput.h:12:13: note: candidate: void ExtIO::pinMode(pin_t, uint8_t) +extern void pinMode(pin_t pin, uint8_t mode); +^ +src/main.cpp:56:32: error: call of overloaded 'pinMode(const uint8_t&, int)' is ambiguous +pinMode(keyboard_in[i], INPUT); +^ +In file included from src/main.cpp:1:0: +/home/nathan/.platformio/packages/framework-arduinoavr/cores/arduino/Arduino.h:133:6: note: candidate: void pinMode(uint8_t, uint8_t) +void pinMode(uint8_t, uint8_t); +^ +In file included from lib/MIDI_controller/src/./MIDI_Outputs/Analog.h:8:0, +from lib/MIDI_controller/src/MIDI_Controller.h:14, +from src/main.cpp:2: +lib/MIDI_controller/src/./MIDI_Outputs/../ExtendedInputOutput/ExtendedInputOutput.h:13:13: note: candidate: void ExtIO::pinMode(int, uint8_t) +extern void pinMode(int pin, uint8_t mode); +^ +lib/MIDI_controller/src/./MIDI_Outputs/../ExtendedInputOutput/ExtendedInputOutput.h:12:13: note: candidate: void ExtIO::pinMode(pin_t, uint8_t) +extern void pinMode(pin_t pin, uint8_t mode); +^ +src/main.cpp: In function 'void loop()': +src/main.cpp:91:6: error: 'val' was not declared in this scope +if (val[2] >= 500) { +^ +src/main.cpp: In function 'void scanLineOut(int)': +src/main.cpp:118:15: error: 'latchPin' was not declared in this scope +digitalWrite(latchPin, LOW); +^ +src/main.cpp:121:12: error: 'dataPin' was not declared in this scope +shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); //right sr +^ +src/main.cpp:121:21: error: 'clockPin' was not declared in this scope +shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); //right sr +^ +src/main.cpp:124:12: error: 'dataPin' was not declared in this scope +shiftOut(dataPin, clockPin, MSBFIRST, bits[colNum-8]); //right sr +^ +src/main.cpp:124:21: error: 'clockPin' was not declared in this scope +shiftOut(dataPin, clockPin, MSBFIRST, bits[colNum-8]); //right sr +^ +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h: In instantiation of 'SerialMIDI_Interface::SerialMIDI_Interface(T&, long unsigned int) [with T = Serial_]': +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:85:82: required from here +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:51:23: warning: 'SerialMIDI_Interface::baud' will be initialized after [-Wreorder] const unsigned long baud; ^ -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/SerialMIDI_Interface.h:43:112: warning: base 'StreamMIDI_Interface' [-Wreorder] +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:112: warning: base 'StreamMIDI_Interface' [-Wreorder] SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} ^ -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/SerialMIDI_Interface.h:43:3: warning: when initialized here [-Wreorder] +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:3: warning: when initialized here [-Wreorder] SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} ^ -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/SerialMIDI_Interface.h: In instantiation of 'SerialMIDI_Interface::SerialMIDI_Interface(T&, long unsigned int) [with T = SoftwareSerial]': -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/SerialMIDI_Interface.h:101:110: required from here -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/SerialMIDI_Interface.h:51:23: warning: 'SerialMIDI_Interface::baud' will be initialized after [-Wreorder] +In file included from lib/MIDI_controller/src/MIDI_Controller.h:28:0, +from src/main.cpp:2: +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h: In instantiation of 'SerialMIDI_Interface::SerialMIDI_Interface(T&, long unsigned int) [with T = HardwareSerial]': +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:57:111: required from here +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:51:23: warning: 'SerialMIDI_Interface::baud' will be initialized after [-Wreorder] const unsigned long baud; ^ -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/SerialMIDI_Interface.h:43:112: warning: base 'StreamMIDI_Interface' [-Wreorder] +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:112: warning: base 'StreamMIDI_Interface' [-Wreorder] SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} ^ -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/SerialMIDI_Interface.h:43:3: warning: when initialized here [-Wreorder] +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:3: warning: when initialized here [-Wreorder] SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} ^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/Banks/../MIDI_Controller.h:29:0, -from /home/nathan/.platformio/lib/MIDI controller/src/Banks/Bank.cpp:2: -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/DebugMIDI_Interface.h: In instantiation of 'SerialDebugMIDI_Interface::SerialDebugMIDI_Interface(T&, long unsigned int) [with T = HardwareSerial]': -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/DebugMIDI_Interface.h:70:121: required from here -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/DebugMIDI_Interface.h:64:23: warning: 'SerialDebugMIDI_Interface::baud' will be initialized after [-Wreorder] +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h: In instantiation of 'SerialMIDI_Interface::SerialMIDI_Interface(T&, long unsigned int) [with T = SoftwareSerial]': +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:101:110: required from here +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:51:23: warning: 'SerialMIDI_Interface::baud' will be initialized after [-Wreorder] const unsigned long baud; ^ -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/DebugMIDI_Interface.h:56:122: warning: base 'StreamDebugMIDI_Interface' [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:112: warning: base 'StreamMIDI_Interface' [-Wreorder] +SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} ^ -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/DebugMIDI_Interface.h:56:3: warning: when initialized here [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:3: warning: when initialized here [-Wreorder] +SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} ^ -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/DebugMIDI_Interface.h: In instantiation of 'SerialDebugMIDI_Interface::SerialDebugMIDI_Interface(T&, long unsigned int) [with T = Serial_]': -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/DebugMIDI_Interface.h:98:86: required from here -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/DebugMIDI_Interface.h:64:23: warning: 'SerialDebugMIDI_Interface::baud' will be initialized after [-Wreorder] +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h: In instantiation of 'SerialMIDI_Interface::SerialMIDI_Interface(T&, long unsigned int) [with T = Serial_]': +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:85:82: required from here +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:51:23: warning: 'SerialMIDI_Interface::baud' will be initialized after [-Wreorder] const unsigned long baud; ^ -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/DebugMIDI_Interface.h:56:122: warning: base 'StreamDebugMIDI_Interface' [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:112: warning: base 'StreamMIDI_Interface' [-Wreorder] +SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} ^ -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/DebugMIDI_Interface.h:56:3: warning: when initialized here [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:3: warning: when initialized here [-Wreorder] +SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} ^ -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/DebugMIDI_Interface.h: In instantiation of 'SerialDebugMIDI_Interface::SerialDebugMIDI_Interface(T&, long unsigned int) [with T = SoftwareSerial]': -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/DebugMIDI_Interface.h:107:120: required from here -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/DebugMIDI_Interface.h:64:23: warning: 'SerialDebugMIDI_Interface::baud' will be initialized after [-Wreorder] +In file included from lib/MIDI_controller/src/MIDI_Controller.h:29:0, +from src/mainTest.cpp:3: +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h: In instantiation of 'SerialDebugMIDI_Interface::SerialDebugMIDI_Interface(T&, long unsigned int) [with T = HardwareSerial]': +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:70:121: required from here +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:64:23: warning: 'SerialDebugMIDI_Interface::baud' will be initialized after [-Wreorder] const unsigned long baud; ^ -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/DebugMIDI_Interface.h:56:122: warning: base 'StreamDebugMIDI_Interface' [-Wreorder] +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:122: warning: base 'StreamDebugMIDI_Interface' [-Wreorder] SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} ^ -/home/nathan/.platformio/lib/MIDI controller/src/Banks/.././MIDI_Interfaces/DebugMIDI_Interface.h:56:3: warning: when initialized here [-Wreorder] +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:3: warning: when initialized here [-Wreorder] SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} ^ -Archiving .pioenvs/micro/lib103/libMIDIUSB_ID1104.a -Archiving .pioenvs/micro/libe75/libSoftwareSerial.a -Compiling .pioenvs/micro/lib7af/MIDI controller/Banks/BankSelector.cpp.o -In file included from /home/nathan/.platformio/lib/MIDI controller/src/Banks/../ExtendedInputOutput/ExtendedInputOutput.h:5:0, -from /home/nathan/.platformio/lib/MIDI controller/src/Banks/BankSelector.h:7, -from /home/nathan/.platformio/lib/MIDI controller/src/Banks/BankSelector.cpp:1: -/home/nathan/.platformio/lib/MIDI controller/src/Banks/../ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual int ExtendedIOElement::digitalRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/Banks/../ExtendedInputOutput/ExtendedIOElement.h:33:38: warning: no return statement in function returning non-void [-Wreturn-type] -virtual int digitalRead(pin_t pin){}; +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h: In instantiation of 'SerialMIDI_Interface::SerialMIDI_Interface(T&, long unsigned int) [with T = SoftwareSerial]': +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:101:110: required from here +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:51:23: warning: 'SerialMIDI_Interface::baud' will be initialized after [-Wreorder] +const unsigned long baud; ^ -/home/nathan/.platformio/lib/MIDI controller/src/Banks/../ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual analog_t ExtendedIOElement::analogRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/Banks/../ExtendedInputOutput/ExtendedIOElement.h:34:42: warning: no return statement in function returning non-void [-Wreturn-type] -virtual analog_t analogRead(pin_t pin){}; +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:112: warning: base 'StreamMIDI_Interface' [-Wreorder] +SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} ^ -/home/nathan/.platformio/lib/MIDI controller/src/Banks/BankSelector.cpp: In member function 'void BankSelector::refreshLEDs(uint8_t)': -/home/nathan/.platformio/lib/MIDI controller/src/Banks/BankSelector.cpp:108:12: warning: enumeration value 'SINGLE_BUTTON' not handled in switch [-Wswitch] -switch (mode) +lib/MIDI_controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:3: warning: when initialized here [-Wreorder] +SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} ^ -/home/nathan/.platformio/lib/MIDI controller/src/Banks/BankSelector.cpp:108:12: warning: enumeration value 'SINGLE_SWITCH' not handled in switch [-Wswitch] -/home/nathan/.platformio/lib/MIDI controller/src/Banks/BankSelector.cpp:108:12: warning: enumeration value 'MULTIPLE_BUTTONS' not handled in switch [-Wswitch] -/home/nathan/.platformio/lib/MIDI controller/src/Banks/BankSelector.cpp:108:12: warning: enumeration value 'INCREMENT_DECREMENT' not handled in switch [-Wswitch] -/home/nathan/.platformio/lib/MIDI controller/src/Banks/BankSelector.cpp:108:12: warning: enumeration value 'INCREMENT' not handled in switch [-Wswitch] -Compiling .pioenvs/micro/lib7af/MIDI controller/ExtendedInputOutput/AnalogMultiplex.cpp.o -Indexing .pioenvs/micro/lib103/libMIDIUSB_ID1104.a -Indexing .pioenvs/micro/libe75/libSoftwareSerial.a -Compiling .pioenvs/micro/lib7af/MIDI controller/ExtendedInputOutput/ExtendedIOElement.cpp.o -In file included from /home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/AnalogMultiplex.h:5:0, -from /home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/AnalogMultiplex.cpp:1: -/home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual int ExtendedIOElement::digitalRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ExtendedIOElement.h:33:38: warning: no return statement in function returning non-void [-Wreturn-type] -virtual int digitalRead(pin_t pin){}; +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h: In instantiation of 'SerialDebugMIDI_Interface::SerialDebugMIDI_Interface(T&, long unsigned int) [with T = Serial_]': +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:98:86: required from here +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:64:23: warning: 'SerialDebugMIDI_Interface::baud' will be initialized after [-Wreorder] +const unsigned long baud; ^ -/home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual analog_t ExtendedIOElement::analogRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ExtendedIOElement.h:34:42: warning: no return statement in function returning non-void [-Wreturn-type] -virtual analog_t analogRead(pin_t pin){}; +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:122: warning: base 'StreamDebugMIDI_Interface' [-Wreorder] +SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} ^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/AnalogMultiplex.cpp:1:0: -/home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/AnalogMultiplex.h: In constructor 'AnalogMultiplex::AnalogMultiplex(pin_t, std::initializer_list)': -/home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/AnalogMultiplex.h:45:32: warning: 'AnalogMultiplex::nb_addresses' will be initialized after [-Wreorder] +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:3: warning: when initialized here [-Wreorder] +SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} +^ +In file included from lib/MIDI_controller/src/MIDI_Controller.h:29:0, +from src/main.cpp:2: +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h: In instantiation of 'SerialDebugMIDI_Interface::SerialDebugMIDI_Interface(T&, long unsigned int) [with T = HardwareSerial]': +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:70:121: required from here +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:64:23: warning: 'SerialDebugMIDI_Interface::baud' will be initialized after [-Wreorder] +const unsigned long baud; +^ +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:122: warning: base 'StreamDebugMIDI_Interface' [-Wreorder] +SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} +^ +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:3: warning: when initialized here [-Wreorder] +SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} +^ +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h: In instantiation of 'SerialDebugMIDI_Interface::SerialDebugMIDI_Interface(T&, long unsigned int) [with T = SoftwareSerial]': +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:107:120: required from here +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:64:23: warning: 'SerialDebugMIDI_Interface::baud' will be initialized after [-Wreorder] +const unsigned long baud; +^ +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:122: warning: base 'StreamDebugMIDI_Interface' [-Wreorder] +SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} +^ +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:3: warning: when initialized here [-Wreorder] +SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} +^ +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h: In instantiation of 'SerialDebugMIDI_Interface::SerialDebugMIDI_Interface(T&, long unsigned int) [with T = Serial_]': +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:98:86: required from here +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:64:23: warning: 'SerialDebugMIDI_Interface::baud' will be initialized after [-Wreorder] +const unsigned long baud; +^ +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:122: warning: base 'StreamDebugMIDI_Interface' [-Wreorder] +SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} +^ +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:3: warning: when initialized here [-Wreorder] +SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} +^ +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h: In instantiation of 'SerialDebugMIDI_Interface::SerialDebugMIDI_Interface(T&, long unsigned int) [with T = SoftwareSerial]': +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:107:120: required from here +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:64:23: warning: 'SerialDebugMIDI_Interface::baud' will be initialized after [-Wreorder] +const unsigned long baud; +^ +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:122: warning: base 'StreamDebugMIDI_Interface' [-Wreorder] +SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} +^ +lib/MIDI_controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:3: warning: when initialized here [-Wreorder] +SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} +^ +In file included from lib/MIDI_controller/src/MIDI_Controller.h:33:0, +from src/main.cpp:2: +lib/MIDI_controller/src/./ExtendedInputOutput/AnalogMultiplex.h: In instantiation of 'AnalogMultiplex::AnalogMultiplex(pin_t, const pin_t (&)[N]) [with unsigned int N = 5u; pin_t = unsigned char]': +src/main.cpp:27:46: required from here +lib/MIDI_controller/src/./ExtendedInputOutput/AnalogMultiplex.h:45:32: warning: 'AnalogMultiplex::nb_addresses' will be initialized after [-Wreorder] const size_t nb_addressPins, nb_addresses; ^ -/home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/AnalogMultiplex.h:24:50: warning: base 'ExtendedIOElement' [-Wreorder] -ExtendedIOElement(1 << addressPins.size()) +lib/MIDI_controller/src/./ExtendedInputOutput/AnalogMultiplex.h:18:33: warning: base 'ExtendedIOElement' [-Wreorder] +ExtendedIOElement(1 << N) ^ -/home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/AnalogMultiplex.h:22:3: warning: when initialized here [-Wreorder] -AnalogMultiplex(pin_t analogPin, std::initializer_list addressPins) +lib/MIDI_controller/src/./ExtendedInputOutput/AnalogMultiplex.h:16:3: warning: when initialized here [-Wreorder] +AnalogMultiplex(pin_t analogPin, const pin_t (&addressPins)[N]) ^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ExtendedIOElement.cpp:1:0: -/home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual int ExtendedIOElement::digitalRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ExtendedIOElement.h:33:38: warning: no return statement in function returning non-void [-Wreturn-type] -virtual int digitalRead(pin_t pin){}; -^ -/home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual analog_t ExtendedIOElement::analogRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ExtendedIOElement.h:34:42: warning: no return statement in function returning non-void [-Wreturn-type] -virtual analog_t analogRead(pin_t pin){}; -^ -Compiling .pioenvs/micro/lib7af/MIDI controller/ExtendedInputOutput/ExtendedInputOutput.cpp.o -Compiling .pioenvs/micro/lib7af/MIDI controller/ExtendedInputOutput/ShiftRegisterOut.cpp.o -Compiling .pioenvs/micro/lib7af/MIDI controller/Helpers/Hysteresis.cpp.o -In file included from /home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ExtendedInputOutput.h:5:0, -from /home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ExtendedInputOutput.cpp:1: -/home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual int ExtendedIOElement::digitalRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ExtendedIOElement.h:33:38: warning: no return statement in function returning non-void [-Wreturn-type] -virtual int digitalRead(pin_t pin){}; -^ -/home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual analog_t ExtendedIOElement::analogRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ExtendedIOElement.h:34:42: warning: no return statement in function returning non-void [-Wreturn-type] -virtual analog_t analogRead(pin_t pin){}; -^ -Compiling .pioenvs/micro/lib7af/MIDI controller/MIDI_Controller/MIDI_Controller_Class.cpp.o -In file included from /home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ShiftRegisterOut.h:5:0, -from /home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ShiftRegisterOut.cpp:1: -/home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual int ExtendedIOElement::digitalRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ExtendedIOElement.h:33:38: warning: no return statement in function returning non-void [-Wreturn-type] -virtual int digitalRead(pin_t pin){}; -^ -/home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual analog_t ExtendedIOElement::analogRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ExtendedIOElement.h:34:42: warning: no return statement in function returning non-void [-Wreturn-type] -virtual analog_t analogRead(pin_t pin){}; -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ShiftRegisterOut.cpp:1:0: -/home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ShiftRegisterOut.h: In constructor 'ShiftRegisterOut::ShiftRegisterOut(pin_t, pin_t, pin_t, uint8_t, pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ShiftRegisterOut.h:29:11: warning: 'ShiftRegisterOut::bitOrder' will be initialized after [-Wreorder] -uint8_t bitOrder, bufferLength; -^ -/home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ShiftRegisterOut.cpp:7:109: warning: base 'ExtendedIOElement' [-Wreorder] -: dataPin(dataPin), clockPin(clockPin), latchPin(latchPin), bitOrder(bitOrder), ExtendedIOElement(length) -^ -/home/nathan/.platformio/lib/MIDI controller/src/ExtendedInputOutput/ShiftRegisterOut.cpp:6:1: warning: when initialized here [-Wreorder] -ShiftRegisterOut::ShiftRegisterOut(pin_t dataPin, pin_t clockPin, pin_t latchPin, uint8_t bitOrder, pin_t length) -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller/MIDI_Controller_Class.h:4:0, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller/MIDI_Controller_Class.cpp:1: -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h: In member function 'virtual void USBMIDI_Interface::sendImpl(uint8_t, uint8_t, uint8_t, uint8_t)': -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h:46:36: warning: narrowing conversion of '(((int)m) >> 4)' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing] -midiEventPacket_t msg = {m >> 4, m | c, d1, d2}; -^ -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h:46:44: warning: narrowing conversion of '(int)(m | c)' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing] -midiEventPacket_t msg = {m >> 4, m | c, d1, d2}; -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/./Banks/../ExtendedInputOutput/ExtendedInputOutput.h:5:0, -from /home/nathan/.platformio/lib/MIDI controller/src/./Banks/BankSelector.h:7, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller/MIDI_Controller_Class.cpp:3: -/home/nathan/.platformio/lib/MIDI controller/src/./Banks/../ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual int ExtendedIOElement::digitalRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/./Banks/../ExtendedInputOutput/ExtendedIOElement.h:33:38: warning: no return statement in function returning non-void [-Wreturn-type] -virtual int digitalRead(pin_t pin){}; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./Banks/../ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual analog_t ExtendedIOElement::analogRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/./Banks/../ExtendedInputOutput/ExtendedIOElement.h:34:42: warning: no return statement in function returning non-void [-Wreturn-type] -virtual analog_t analogRead(pin_t pin){}; -^ -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller/MIDI_Controller_Class.cpp: In destructor 'MIDI_Controller_::~MIDI_Controller_()': -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller/MIDI_Controller_Class.cpp:14:12: warning: deleting object of polymorphic class type 'MIDI_Interface' which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor] -delete new_midi; -^ -Compiling .pioenvs/micro/lib7af/MIDI controller/MIDI_Interfaces/MIDI_Interface.cpp.o -Compiling .pioenvs/micro/lib7af/MIDI controller/MIDI_Outputs/Analog.cpp.o -Compiling .pioenvs/micro/lib7af/MIDI controller/MIDI_Outputs/ButtonMatrix.cpp.o -Compiling .pioenvs/micro/lib7af/MIDI controller/MIDI_Outputs/Digital.cpp.o -Compiling .pioenvs/micro/lib7af/MIDI controller/MIDI_Outputs/DigitalCC.cpp.o -In file included from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/../ExtendedInputOutput/ExtendedInputOutput.h:5:0, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/Analog.h:8, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/Analog.cpp:1: -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual int ExtendedIOElement::digitalRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h:33:38: warning: no return statement in function returning non-void [-Wreturn-type] -virtual int digitalRead(pin_t pin){}; -^ -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual analog_t ExtendedIOElement::analogRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h:34:42: warning: no return statement in function returning non-void [-Wreturn-type] -virtual analog_t analogRead(pin_t pin){}; -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Controller/MIDI_Controller_Class.h:4:0, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller.h:10, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/Analog.cpp:2: -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h: In member function 'virtual void USBMIDI_Interface::sendImpl(uint8_t, uint8_t, uint8_t, uint8_t)': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h:46:36: warning: narrowing conversion of '(((int)m) >> 4)' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing] -midiEventPacket_t msg = {m >> 4, m | c, d1, d2}; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h:46:44: warning: narrowing conversion of '(int)(m | c)' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing] -midiEventPacket_t msg = {m >> 4, m | c, d1, d2}; -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/./../ExtendedInputOutput/ExtendedInputOutput.h:5:0, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/./ButtonMatrix.h:6, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/ButtonMatrix.cpp:4: -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/./../ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual int ExtendedIOElement::digitalRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/./../ExtendedInputOutput/ExtendedIOElement.h:33:38: warning: no return statement in function returning non-void [-Wreturn-type] -virtual int digitalRead(pin_t pin){}; -^ -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/./../ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual analog_t ExtendedIOElement::analogRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/./../ExtendedInputOutput/ExtendedIOElement.h:34:42: warning: no return statement in function returning non-void [-Wreturn-type] -virtual analog_t analogRead(pin_t pin){}; -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/../MIDI_Controller/MIDI_Controller_Class.h:4:0, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/ButtonMatrix.cpp:5: -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/../MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h: In member function 'virtual void USBMIDI_Interface::sendImpl(uint8_t, uint8_t, uint8_t, uint8_t)': -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/../MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h:46:36: warning: narrowing conversion of '(((int)m) >> 4)' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing] -midiEventPacket_t msg = {m >> 4, m | c, d1, d2}; -^ -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/../MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h:46:44: warning: narrowing conversion of '(int)(m | c)' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing] -midiEventPacket_t msg = {m >> 4, m | c, d1, d2}; -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller.h:33:0, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/Analog.cpp:2: -/home/nathan/.platformio/lib/MIDI controller/src/./ExtendedInputOutput/AnalogMultiplex.h: In constructor 'AnalogMultiplex::AnalogMultiplex(pin_t, std::initializer_list)': -/home/nathan/.platformio/lib/MIDI controller/src/./ExtendedInputOutput/AnalogMultiplex.h:45:32: warning: 'AnalogMultiplex::nb_addresses' will be initialized after [-Wreorder] -const size_t nb_addressPins, nb_addresses; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./ExtendedInputOutput/AnalogMultiplex.h:24:50: warning: base 'ExtendedIOElement' [-Wreorder] -ExtendedIOElement(1 << addressPins.size()) -^ -/home/nathan/.platformio/lib/MIDI controller/src/./ExtendedInputOutput/AnalogMultiplex.h:22:3: warning: when initialized here [-Wreorder] -AnalogMultiplex(pin_t analogPin, std::initializer_list addressPins) -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller.h:28:0, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/Analog.cpp:2: -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h: In instantiation of 'SerialMIDI_Interface::SerialMIDI_Interface(T&, long unsigned int) [with T = HardwareSerial]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:57:111: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:51:23: warning: 'SerialMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:112: warning: base 'StreamMIDI_Interface' [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:3: warning: when initialized here [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h: In instantiation of 'SerialMIDI_Interface::SerialMIDI_Interface(T&, long unsigned int) [with T = Serial_]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:85:82: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:51:23: warning: 'SerialMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:112: warning: base 'StreamMIDI_Interface' [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:3: warning: when initialized here [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h: In instantiation of 'SerialMIDI_Interface::SerialMIDI_Interface(T&, long unsigned int) [with T = SoftwareSerial]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:101:110: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:51:23: warning: 'SerialMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:112: warning: base 'StreamMIDI_Interface' [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:3: warning: when initialized here [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller.h:29:0, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/Analog.cpp:2: -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h: In instantiation of 'SerialDebugMIDI_Interface::SerialDebugMIDI_Interface(T&, long unsigned int) [with T = HardwareSerial]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:70:121: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:64:23: warning: 'SerialDebugMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:122: warning: base 'StreamDebugMIDI_Interface' [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:3: warning: when initialized here [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h: In instantiation of 'SerialDebugMIDI_Interface::SerialDebugMIDI_Interface(T&, long unsigned int) [with T = Serial_]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:98:86: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:64:23: warning: 'SerialDebugMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:122: warning: base 'StreamDebugMIDI_Interface' [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:3: warning: when initialized here [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h: In instantiation of 'SerialDebugMIDI_Interface::SerialDebugMIDI_Interface(T&, long unsigned int) [with T = SoftwareSerial]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:107:120: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:64:23: warning: 'SerialDebugMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:122: warning: base 'StreamDebugMIDI_Interface' [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:3: warning: when initialized here [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/../ExtendedInputOutput/ExtendedInputOutput.h:5:0, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/Digital.h:7, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/Digital.cpp:1: -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual int ExtendedIOElement::digitalRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h:33:38: warning: no return statement in function returning non-void [-Wreturn-type] -virtual int digitalRead(pin_t pin){}; -^ -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual analog_t ExtendedIOElement::analogRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h:34:42: warning: no return statement in function returning non-void [-Wreturn-type] -virtual analog_t analogRead(pin_t pin){}; -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Controller/MIDI_Controller_Class.h:4:0, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller.h:10, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/Digital.cpp:2: -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h: In member function 'virtual void USBMIDI_Interface::sendImpl(uint8_t, uint8_t, uint8_t, uint8_t)': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h:46:36: warning: narrowing conversion of '(((int)m) >> 4)' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing] -midiEventPacket_t msg = {m >> 4, m | c, d1, d2}; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h:46:44: warning: narrowing conversion of '(int)(m | c)' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing] -midiEventPacket_t msg = {m >> 4, m | c, d1, d2}; -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/../ExtendedInputOutput/ExtendedInputOutput.h:5:0, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/DigitalCC.h:6, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/DigitalCC.cpp:1: -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual int ExtendedIOElement::digitalRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h:33:38: warning: no return statement in function returning non-void [-Wreturn-type] -virtual int digitalRead(pin_t pin){}; -^ -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual analog_t ExtendedIOElement::analogRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h:34:42: warning: no return statement in function returning non-void [-Wreturn-type] -virtual analog_t analogRead(pin_t pin){}; -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Controller/MIDI_Controller_Class.h:4:0, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller.h:10, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/DigitalCC.cpp:2: -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h: In member function 'virtual void USBMIDI_Interface::sendImpl(uint8_t, uint8_t, uint8_t, uint8_t)': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h:46:36: warning: narrowing conversion of '(((int)m) >> 4)' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing] -midiEventPacket_t msg = {m >> 4, m | c, d1, d2}; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h:46:44: warning: narrowing conversion of '(int)(m | c)' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing] -midiEventPacket_t msg = {m >> 4, m | c, d1, d2}; -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller.h:33:0, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/Digital.cpp:2: -/home/nathan/.platformio/lib/MIDI controller/src/./ExtendedInputOutput/AnalogMultiplex.h: In constructor 'AnalogMultiplex::AnalogMultiplex(pin_t, std::initializer_list)': -/home/nathan/.platformio/lib/MIDI controller/src/./ExtendedInputOutput/AnalogMultiplex.h:45:32: warning: 'AnalogMultiplex::nb_addresses' will be initialized after [-Wreorder] -const size_t nb_addressPins, nb_addresses; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./ExtendedInputOutput/AnalogMultiplex.h:24:50: warning: base 'ExtendedIOElement' [-Wreorder] -ExtendedIOElement(1 << addressPins.size()) -^ -/home/nathan/.platformio/lib/MIDI controller/src/./ExtendedInputOutput/AnalogMultiplex.h:22:3: warning: when initialized here [-Wreorder] -AnalogMultiplex(pin_t analogPin, std::initializer_list addressPins) -^ -Compiling .pioenvs/micro/lib7af/MIDI controller/MIDI_Outputs/DigitalLatch.cpp.o -In file included from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller.h:28:0, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/Digital.cpp:2: -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h: In instantiation of 'SerialMIDI_Interface::SerialMIDI_Interface(T&, long unsigned int) [with T = HardwareSerial]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:57:111: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:51:23: warning: 'SerialMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:112: warning: base 'StreamMIDI_Interface' [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:3: warning: when initialized here [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h: In instantiation of 'SerialMIDI_Interface::SerialMIDI_Interface(T&, long unsigned int) [with T = Serial_]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:85:82: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:51:23: warning: 'SerialMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:112: warning: base 'StreamMIDI_Interface' [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:3: warning: when initialized here [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h: In instantiation of 'SerialMIDI_Interface::SerialMIDI_Interface(T&, long unsigned int) [with T = SoftwareSerial]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:101:110: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:51:23: warning: 'SerialMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:112: warning: base 'StreamMIDI_Interface' [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:3: warning: when initialized here [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller.h:29:0, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/Digital.cpp:2: -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h: In instantiation of 'SerialDebugMIDI_Interface::SerialDebugMIDI_Interface(T&, long unsigned int) [with T = HardwareSerial]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:70:121: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:64:23: warning: 'SerialDebugMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:122: warning: base 'StreamDebugMIDI_Interface' [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:3: warning: when initialized here [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h: In instantiation of 'SerialDebugMIDI_Interface::SerialDebugMIDI_Interface(T&, long unsigned int) [with T = Serial_]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:98:86: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:64:23: warning: 'SerialDebugMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:122: warning: base 'StreamDebugMIDI_Interface' [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:3: warning: when initialized here [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h: In instantiation of 'SerialDebugMIDI_Interface::SerialDebugMIDI_Interface(T&, long unsigned int) [with T = SoftwareSerial]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:107:120: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:64:23: warning: 'SerialDebugMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:122: warning: base 'StreamDebugMIDI_Interface' [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:3: warning: when initialized here [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller.h:33:0, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/DigitalCC.cpp:2: -/home/nathan/.platformio/lib/MIDI controller/src/./ExtendedInputOutput/AnalogMultiplex.h: In constructor 'AnalogMultiplex::AnalogMultiplex(pin_t, std::initializer_list)': -/home/nathan/.platformio/lib/MIDI controller/src/./ExtendedInputOutput/AnalogMultiplex.h:45:32: warning: 'AnalogMultiplex::nb_addresses' will be initialized after [-Wreorder] -const size_t nb_addressPins, nb_addresses; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./ExtendedInputOutput/AnalogMultiplex.h:24:50: warning: base 'ExtendedIOElement' [-Wreorder] -ExtendedIOElement(1 << addressPins.size()) -^ -/home/nathan/.platformio/lib/MIDI controller/src/./ExtendedInputOutput/AnalogMultiplex.h:22:3: warning: when initialized here [-Wreorder] -AnalogMultiplex(pin_t analogPin, std::initializer_list addressPins) -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller.h:28:0, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/DigitalCC.cpp:2: -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h: In instantiation of 'SerialMIDI_Interface::SerialMIDI_Interface(T&, long unsigned int) [with T = HardwareSerial]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:57:111: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:51:23: warning: 'SerialMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:112: warning: base 'StreamMIDI_Interface' [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:3: warning: when initialized here [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h: In instantiation of 'SerialMIDI_Interface::SerialMIDI_Interface(T&, long unsigned int) [with T = Serial_]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:85:82: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:51:23: warning: 'SerialMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:112: warning: base 'StreamMIDI_Interface' [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:3: warning: when initialized here [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h: In instantiation of 'SerialMIDI_Interface::SerialMIDI_Interface(T&, long unsigned int) [with T = SoftwareSerial]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:101:110: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:51:23: warning: 'SerialMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:112: warning: base 'StreamMIDI_Interface' [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:3: warning: when initialized here [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller.h:29:0, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/DigitalCC.cpp:2: -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h: In instantiation of 'SerialDebugMIDI_Interface::SerialDebugMIDI_Interface(T&, long unsigned int) [with T = HardwareSerial]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:70:121: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:64:23: warning: 'SerialDebugMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:122: warning: base 'StreamDebugMIDI_Interface' [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:3: warning: when initialized here [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h: In instantiation of 'SerialDebugMIDI_Interface::SerialDebugMIDI_Interface(T&, long unsigned int) [with T = Serial_]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:98:86: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:64:23: warning: 'SerialDebugMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:122: warning: base 'StreamDebugMIDI_Interface' [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:3: warning: when initialized here [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h: In instantiation of 'SerialDebugMIDI_Interface::SerialDebugMIDI_Interface(T&, long unsigned int) [with T = SoftwareSerial]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:107:120: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:64:23: warning: 'SerialDebugMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:122: warning: base 'StreamDebugMIDI_Interface' [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:3: warning: when initialized here [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/../ExtendedInputOutput/ExtendedInputOutput.h:5:0, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/DigitalLatch.h:6, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/DigitalLatch.cpp:1: -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual int ExtendedIOElement::digitalRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h:33:38: warning: no return statement in function returning non-void [-Wreturn-type] -virtual int digitalRead(pin_t pin){}; -^ -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h: In member function 'virtual analog_t ExtendedIOElement::analogRead(pin_t)': -/home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/../ExtendedInputOutput/ExtendedIOElement.h:34:42: warning: no return statement in function returning non-void [-Wreturn-type] -virtual analog_t analogRead(pin_t pin){}; -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Controller/MIDI_Controller_Class.h:4:0, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller.h:10, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/DigitalLatch.cpp:2: -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h: In member function 'virtual void USBMIDI_Interface::sendImpl(uint8_t, uint8_t, uint8_t, uint8_t)': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h:46:36: warning: narrowing conversion of '(((int)m) >> 4)' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing] -midiEventPacket_t msg = {m >> 4, m | c, d1, d2}; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Controller/../MIDI_Interfaces/USBMIDI_Interface.h:46:44: warning: narrowing conversion of '(int)(m | c)' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing] -midiEventPacket_t msg = {m >> 4, m | c, d1, d2}; -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller.h:33:0, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/DigitalLatch.cpp:2: -/home/nathan/.platformio/lib/MIDI controller/src/./ExtendedInputOutput/AnalogMultiplex.h: In constructor 'AnalogMultiplex::AnalogMultiplex(pin_t, std::initializer_list)': -/home/nathan/.platformio/lib/MIDI controller/src/./ExtendedInputOutput/AnalogMultiplex.h:45:32: warning: 'AnalogMultiplex::nb_addresses' will be initialized after [-Wreorder] -const size_t nb_addressPins, nb_addresses; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./ExtendedInputOutput/AnalogMultiplex.h:24:50: warning: base 'ExtendedIOElement' [-Wreorder] -ExtendedIOElement(1 << addressPins.size()) -^ -/home/nathan/.platformio/lib/MIDI controller/src/./ExtendedInputOutput/AnalogMultiplex.h:22:3: warning: when initialized here [-Wreorder] -AnalogMultiplex(pin_t analogPin, std::initializer_list addressPins) -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller.h:28:0, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/DigitalLatch.cpp:2: -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h: In instantiation of 'SerialMIDI_Interface::SerialMIDI_Interface(T&, long unsigned int) [with T = HardwareSerial]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:57:111: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:51:23: warning: 'SerialMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:112: warning: base 'StreamMIDI_Interface' [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:3: warning: when initialized here [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h: In instantiation of 'SerialMIDI_Interface::SerialMIDI_Interface(T&, long unsigned int) [with T = Serial_]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:85:82: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:51:23: warning: 'SerialMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:112: warning: base 'StreamMIDI_Interface' [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:3: warning: when initialized here [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h: In instantiation of 'SerialMIDI_Interface::SerialMIDI_Interface(T&, long unsigned int) [with T = SoftwareSerial]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:101:110: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:51:23: warning: 'SerialMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:112: warning: base 'StreamMIDI_Interface' [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/SerialMIDI_Interface.h:43:3: warning: when initialized here [-Wreorder] -SerialMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamMIDI_Interface(serial) {} -^ -In file included from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Controller.h:29:0, -from /home/nathan/.platformio/lib/MIDI controller/src/MIDI_Outputs/DigitalLatch.cpp:2: -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h: In instantiation of 'SerialDebugMIDI_Interface::SerialDebugMIDI_Interface(T&, long unsigned int) [with T = HardwareSerial]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:70:121: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:64:23: warning: 'SerialDebugMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:122: warning: base 'StreamDebugMIDI_Interface' [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:3: warning: when initialized here [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h: In instantiation of 'SerialDebugMIDI_Interface::SerialDebugMIDI_Interface(T&, long unsigned int) [with T = Serial_]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:98:86: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:64:23: warning: 'SerialDebugMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:122: warning: base 'StreamDebugMIDI_Interface' [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:3: warning: when initialized here [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h: In instantiation of 'SerialDebugMIDI_Interface::SerialDebugMIDI_Interface(T&, long unsigned int) [with T = SoftwareSerial]': -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:107:120: required from here -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:64:23: warning: 'SerialDebugMIDI_Interface::baud' will be initialized after [-Wreorder] -const unsigned long baud; -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:122: warning: base 'StreamDebugMIDI_Interface' [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -/home/nathan/.platformio/lib/MIDI controller/src/./MIDI_Interfaces/DebugMIDI_Interface.h:56:3: warning: when initialized here [-Wreorder] -SerialDebugMIDI_Interface(T &serial, unsigned long baud) : serial(serial), baud(baud), StreamDebugMIDI_Interface(serial) {} -^ -Compiling .pioenvs/micro/lib7af/MIDI controller/MIDI_Outputs/MIDI_Control_Element.cpp.o -Archiving .pioenvs/micro/libFrameworkArduinoVariant.a -Indexing .pioenvs/micro/libFrameworkArduinoVariant.a -Compiling .pioenvs/micro/FrameworkArduino/CDC.cpp.o -Compiling .pioenvs/micro/FrameworkArduino/HardwareSerial.cpp.o -Archiving .pioenvs/micro/lib7af/libMIDI controller.a -Compiling .pioenvs/micro/FrameworkArduino/HardwareSerial0.cpp.o -Indexing .pioenvs/micro/lib7af/libMIDI controller.a -Compiling .pioenvs/micro/FrameworkArduino/HardwareSerial1.cpp.o -Compiling .pioenvs/micro/FrameworkArduino/HardwareSerial2.cpp.o -Compiling .pioenvs/micro/FrameworkArduino/HardwareSerial3.cpp.o -Compiling .pioenvs/micro/FrameworkArduino/IPAddress.cpp.o -Compiling .pioenvs/micro/FrameworkArduino/PluggableUSB.cpp.o -Compiling .pioenvs/micro/FrameworkArduino/Print.cpp.o -Compiling .pioenvs/micro/FrameworkArduino/Stream.cpp.o -Compiling .pioenvs/micro/FrameworkArduino/Tone.cpp.o -Compiling .pioenvs/micro/FrameworkArduino/USBCore.cpp.o -Compiling .pioenvs/micro/FrameworkArduino/WInterrupts.c.o -Compiling .pioenvs/micro/FrameworkArduino/WMath.cpp.o -Compiling .pioenvs/micro/FrameworkArduino/WString.cpp.o -Compiling .pioenvs/micro/FrameworkArduino/abi.cpp.o -Compiling .pioenvs/micro/FrameworkArduino/hooks.c.o -Compiling .pioenvs/micro/FrameworkArduino/main.cpp.o -Compiling .pioenvs/micro/FrameworkArduino/new.cpp.o -Compiling .pioenvs/micro/FrameworkArduino/wiring.c.o -Compiling .pioenvs/micro/FrameworkArduino/wiring_analog.c.o -Compiling .pioenvs/micro/FrameworkArduino/wiring_digital.c.o -Compiling .pioenvs/micro/FrameworkArduino/wiring_pulse.S.o -Compiling .pioenvs/micro/FrameworkArduino/wiring_pulse.c.o -Compiling .pioenvs/micro/FrameworkArduino/wiring_shift.c.o -Archiving .pioenvs/micro/libFrameworkArduino.a -Indexing .pioenvs/micro/libFrameworkArduino.a -Linking .pioenvs/micro/firmware.elf -Checking size .pioenvs/micro/firmware.elf -Building .pioenvs/micro/firmware.hex -Memory Usage -> http://bit.ly/pio-memory-usage -DATA: [=== ] 33.5% (used 857 bytes from 2560 bytes) -PROGRAM: [=== ] 32.9% (used 9438 bytes from 28672 bytes) -================================================================================== [SUCCESS] Took 4.86 seconds ================================================================================== +*** [.pioenvs/micro/src/main.cpp.o] Error 1 +============================================================================= [ERROR] Took 1.51 seconds ============================================================================= diff --git a/lib/Keyboard.h b/lib/Keyboard.h index 6f546cb..eccb14f 100644 --- a/lib/Keyboard.h +++ b/lib/Keyboard.h @@ -10,6 +10,6 @@ public: private: -} +}; #endif diff --git a/src/main.cpp b/src/main.cpp index 26e00f5..f21b98c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -5,21 +5,21 @@ /* Pins */ /* GPIO (I2C) */ -const unsigned char gpio_int{0}; -const unsigned char sda{2}; -const unsigned char scl{3}; +const uint8_t gpio_int{0}; +const uint8_t sda{2}; +const uint8_t scl{3}; /* Multiplexer */ #define MUX_ADDRSIZE 5 -const unsigned char mux_sig{A10}; -const unsigned char mux_addr[MUX_ADDRSIZE]{15, 21, 20, 19, 18}; +const uint8_t mux_sig{A10}; +const uint8_t mux_addr[MUX_ADDRSIZE]{15, 21, 20, 19, 18}; /* ShiftRegister (OUT) */ #define SHIFT_OUTPUTSIZE 4 -const unsigned char shift_data{14}; -const unsigned char shift_latch{16}; -const unsigned char shift_clock{1}; +const uint8_t shift_data{14}; +const uint8_t shift_latch{16}; +const uint8_t shift_clock{1}; /* keyboard (IN) */ -#define KEYBOARD_SIZE 6 -const unsigned char keyboard[KEYBOARD_SIZE]{4, 5, 6, 7, 8, 9}; +#define KEYBOARD_INSIZE 6 +const uint8_t keyboard_in[KEYBOARD_INSIZE]{4, 5, 6, 7, 8, 9}; /* Components */ /* GPIO (I2C) */ @@ -39,29 +39,23 @@ Analog potentiometers[] = { {multiplexer.pin(7), MIDI_CC::Channel_Volume, 8} }; -/* Values */ -int val[16]; -int ref[16]; - -uint8_t readCapacitivePin(int pinToMeasure); void setup() { Serial.begin(115200); while (Serial.available() == 0){ delay(.5 s); } - // for (size_t i = 0; i < 4; i++) { - // ref[i] = multiplexer.analogRead(i); - // } - ref[8] = readCapacitivePin(2); - pinMode(0, OUTPUT); - pinMode(1, OUTPUT); - pinMode(9, OUTPUT); -} -long loopAverage = 0; -long lastLoop = 0; -bool on = false; + + pinMode(static_cast(shift_clock), OUTPUT); + pinMode(shift_data, OUTPUT); + pinMode(shift_latch, OUTPUT); + pinMode(2, OUTPUT); + + for (size_t i = 0; i < KEYBOARD_INSIZE; i++) { + pinMode(keyboard_in[i], INPUT); + } +} void loop() { // long start = millis(); @@ -76,17 +70,17 @@ void loop() { // // } // } - val[8] = readCapacitivePin(2); - if (abs(val[8] - ref[8]) >= 2) { - if (val[8] > ref[8]) { - // Serial.print("loop() time : "); - // Serial.println(lastLoop, DEC); - // Serial.print("average : "); - // Serial.println(loopAverage, DEC); - Serial.println(val[8], DEC); - } - ref[8] = val[8]; - } + // val[8] = readCapacitivePin(2); + // if (abs(val[8] - ref[8]) >= 2) { + // if (val[8] > ref[8]) { + // // Serial.print("loop() time : "); + // // Serial.println(lastLoop, DEC); + // // Serial.print("average : "); + // // Serial.println(loopAverage, DEC); + // Serial.println(val[8], DEC); + // } + // ref[8] = val[8]; + // } // if (val[0] >= 500) { @@ -100,93 +94,36 @@ void loop() { digitalWrite(1, LOW); } - analogWrite(9, val[0] * 256 / 1024); + // analogWrite(9, val[0] * 256 / 1024); - MIDI_Controller.refresh(); + + + // MIDI_Controller.refresh(); // lastLoop = millis() - start; // loopAverage = (loopAverage + lastLoop) / 2; //delay(.5 s); } +byte bits[] = { + 0b00000001, + B00000010, + B00000100, + B00001000, + B00010000, + B00100000, + B01000000, + B10000000 +}; -uint8_t readCapacitivePin(int pinToMeasure) { - // Variables used to translate from Arduino to AVR pin naming - volatile uint8_t* port; - volatile uint8_t* ddr; - volatile uint8_t* pin; +void scanLineOut(int colNum) { + digitalWrite(latchPin, LOW); - // Here we translate the input pin number from - // Arduino pin number to the AVR PORT, PIN, DDR, - // and which bit of those registers we care about. - - byte bitmask; - port = portOutputRegister(digitalPinToPort(pinToMeasure)); - ddr = portModeRegister(digitalPinToPort(pinToMeasure)); - bitmask = digitalPinToBitMask(pinToMeasure); - pin = portInputRegister(digitalPinToPort(pinToMeasure)); - - // Discharge the pin first by setting it low and output - *port &= ~(bitmask); - *ddr |= bitmask; - delay(1); - uint8_t SREG_old = SREG; //back up the AVR Status Register - // Prevent the timer IRQ from disturbing our measurement - noInterrupts(); - - // Make the pin an input with the internal pull-up on - *ddr &= ~(bitmask); - *port |= bitmask; - - // Now see how long the pin to get pulled up. This manual unrolling of the loop - // decreases the number of hardware cycles between each read of the pin, - // thus increasing sensitivity. - uint8_t cycles = 17; - - if (*pin & bitmask) { - cycles = 0; - } else if (*pin & bitmask) { - cycles = 1; - } else if (*pin & bitmask) { - cycles = 2; - } else if (*pin & bitmask) { - cycles = 3; - } else if (*pin & bitmask) { - cycles = 4; - } else if (*pin & bitmask) { - cycles = 5; - } else if (*pin & bitmask) { - cycles = 6; - } else if (*pin & bitmask) { - cycles = 7; - } else if (*pin & bitmask) { - cycles = 8; - } else if (*pin & bitmask) { - cycles = 9; - } else if (*pin & bitmask) { - cycles = 10; - } else if (*pin & bitmask) { - cycles = 11; - } else if (*pin & bitmask) { - cycles = 12; - } else if (*pin & bitmask) { - cycles = 13; - } else if (*pin & bitmask) { - cycles = 14; - } else if (*pin & bitmask) { - cycles = 15; - } else if (*pin & bitmask) { - cycles = 16; + if(0 <= colNum && colNum <= 7) { + shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); //right sr + shiftOut(dataPin, clockPin, MSBFIRST, bits[colNum]); //left sr + } else { + shiftOut(dataPin, clockPin, MSBFIRST, bits[colNum-8]); //right sr + shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); //left sr } - // End of timing-critical section; turn interrupts back on if they were on before, or leave them off if they were off before - SREG = SREG_old; - - // Discharge the pin again by setting it low and output - // It's important to leave the pins low if you want to - // be able to touch more than 1 sensor at a time - if - // the sensor is left pulled high, when you touch - // two sensors, your body will transfer the charge between - // sensors. - *port &= ~(bitmask); - *ddr |= bitmask; - return cycles; + digitalWrite(latchPin, HIGH); }