SpenceKonde / ATTinyCore

Arduino core for ATtiny 1634, 828, x313, x4, x41, x5, x61, x7 and x8
Other
1.57k stars 306 forks source link

All VUSB libraries don't work #516

Closed philibertc closed 2 years ago

philibertc commented 3 years ago

Hello, I've been using an mh-tiny88 board for quite some time, it's a perfect board for classic projects, without serial port. I saw that it was possible to use it as a HID device, I created this code with the Digispark Keyboard library (or DigiKeyboard). Here is the code :

#include "DigiKeyboard.h"

void setup() {
  // don't need to set anything up to use DigiKeyboard
}

void loop() {
  // this is generally not necessary but with some older systems it seems to
  // prevent missing the first character after a delay:
  DigiKeyboard.sendKeyStroke(0);

  // Type out this string letter by letter on the computer (assumes US-style
  // keyboard)
  DigiKeyboard.println("Hello World!");

  // It's better to use DigiKeyboard.delay() over the regular Arduino delay()
  // if doing keyboard stuff because it keeps talking to the computer to make
  // sure the computer knows the keyboard is alive and connected
  DigiKeyboard.delay(2000);
}

The program is uploaded without any problem, as usual, but absolutely nothing happens. I'm on Ubuntu Linux (Pop_OS more precisely), the board appears well if I run lsusb, and no errors with dmesg.

SpenceKonde commented 3 years ago

Yeah I could never make any of the VUSB ones work either. That's why they are not bundled with the core. When they are made to work, they will be included as part of the core (as I do on all my cores when the normal libraries don't work and I've made a version that does.

My big problem was that because I could NEVER make ANYTHING work, I could not even determine whether the problem was computer configuration/drivers or bad compiler output, or - most likely both at the same time. I'm planning @ArminJo said he was going to take another look at whether this worked IIRC?

I've been generally struggling to get enough time to do what needs to be done on the cores, as I keep having to go put out fires on DxCore/megaTinyCore (those both need another point release today or tomorrow, because the most recent release had a critical regression on megaTinyCore and key bugfix was missing on DxCore, and there was an idiotic problem with PWM on DxCore as well.

pcfreak1201 commented 3 years ago

Well, here is the output, when I try to compile/upload it:

Using board 'attinyx8micr' from platform in folder: /home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1
Using core 'tiny' from platform in folder: /home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1
Detecting libraries used...
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -w -x c++ -E -CC -mmcu=attiny88 -DF_CPU=16000000L -DCLOCK_SOURCE=18 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -DHASUSB -DNEOPIXELPORT=PORTA -I/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/cores/tiny -I/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/variants/tinyX8_MH /tmp/arduino_build_165610/sketch/HID_t88.ino.cpp -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
Alternatives for DigiKeyboard.h: [DigisparkKeyboard]
ResolveLibrary(DigiKeyboard.h)
  -> candidates: [DigisparkKeyboard]
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -w -x c++ -E -CC -mmcu=attiny88 -DF_CPU=16000000L -DCLOCK_SOURCE=18 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -DHASUSB -DNEOPIXELPORT=PORTA -I/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/cores/tiny -I/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/variants/tinyX8_MH -I/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard /tmp/arduino_build_165610/sketch/HID_t88.ino.cpp -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -w -x c++ -E -CC -mmcu=attiny88 -DF_CPU=16000000L -DCLOCK_SOURCE=18 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -DHASUSB -DNEOPIXELPORT=PORTA -I/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/cores/tiny -I/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/variants/tinyX8_MH -I/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard /home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard/oddebug.c -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -w -x c++ -E -CC -mmcu=attiny88 -DF_CPU=16000000L -DCLOCK_SOURCE=18 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -DHASUSB -DNEOPIXELPORT=PORTA -I/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/cores/tiny -I/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/variants/tinyX8_MH -I/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard /home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard/osccal.c -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -w -x c++ -E -CC -mmcu=attiny88 -DF_CPU=16000000L -DCLOCK_SOURCE=18 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -DHASUSB -DNEOPIXELPORT=PORTA -I/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/cores/tiny -I/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/variants/tinyX8_MH -I/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard /home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard/usbdrv.c -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -w -x c++ -E -CC -mmcu=attiny88 -DF_CPU=16000000L -DCLOCK_SOURCE=18 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -DHASUSB -DNEOPIXELPORT=PORTA -I/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/cores/tiny -I/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/variants/tinyX8_MH -I/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard /home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard/usbdrvasm.S -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
Generating function prototypes...
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -w -x c++ -E -CC -mmcu=attiny88 -DF_CPU=16000000L -DCLOCK_SOURCE=18 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -DHASUSB -DNEOPIXELPORT=PORTA -I/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/cores/tiny -I/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/variants/tinyX8_MH -I/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard /tmp/arduino_build_165610/sketch/HID_t88.ino.cpp -o /tmp/arduino_build_165610/preproc/ctags_target_for_gcc_minus_e.cpp -DARDUINO_LIB_DISCOVERY_PHASE
/run/timeshift/backup/arduino-1.8.13/tools-builder/ctags/5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives /tmp/arduino_build_165610/preproc/ctags_target_for_gcc_minus_e.cpp
Sketch wird kompiliert...
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=attiny88 -DF_CPU=16000000L -DCLOCK_SOURCE=18 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -DHASUSB -DNEOPIXELPORT=PORTA -I/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/cores/tiny -I/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/variants/tinyX8_MH -I/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard /tmp/arduino_build_165610/sketch/HID_t88.ino.cpp -o /tmp/arduino_build_165610/sketch/HID_t88.ino.cpp.o
In file included from /home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard/DigiKeyboard.h:13:0,
                 from /home/stefan/Arduino/HID_t88/HID_t88.ino:1:
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/avr/include/avr/delay.h:36:2: warning: #warning "This file has been moved to <util/delay.h>." [-Wcpp]
 #warning "This file has been moved to <util/delay.h>."
  ^~~~~~~
In file included from /home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard/DigiKeyboard.h:16:0,
                 from /home/stefan/Arduino/HID_t88/HID_t88.ino:1:
/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard/usbdrv.h:479:26: error: variable 'usbDescriptorDevice' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
 char usbDescriptorDevice[];
                          ^
/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard/usbdrv.h:485:33: error: variable 'usbDescriptorConfiguration' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
 char usbDescriptorConfiguration[];
                                 ^
/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard/usbdrv.h:491:29: error: variable 'usbDescriptorHidReport' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
 char usbDescriptorHidReport[];
                             ^
/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard/usbdrv.h:497:27: error: variable 'usbDescriptorString0' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
 char usbDescriptorString0[];
                           ^
/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard/usbdrv.h:503:31: error: variable 'usbDescriptorStringVendor' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
 int usbDescriptorStringVendor[];
                               ^
/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard/usbdrv.h:509:31: error: variable 'usbDescriptorStringDevice' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
 int usbDescriptorStringDevice[];
                               ^
/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard/usbdrv.h:515:37: error: variable 'usbDescriptorStringSerialNumber' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
 int usbDescriptorStringSerialNumber[];
                                     ^
In file included from /home/stefan/Arduino/HID_t88/HID_t88.ino:1:0:
/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard/DigiKeyboard.h:40:73: error: variable 'usbDescriptorHidReport' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
 PROGMEM char usbHidReportDescriptor[USB_CFG_HID_REPORT_DESCRIPTOR_LENGTH] = { /* USB report descriptor */
                                                                         ^
/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard/DigiKeyboard.h:59:1: error: narrowing conversion of '161' from 'int' to 'char' inside { } [-Wnarrowing]
 };
 ^
/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard/DigiKeyboard.h:59:1: error: narrowing conversion of '224' from 'int' to 'char' inside { } [-Wnarrowing]
/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard/DigiKeyboard.h:59:1: error: narrowing conversion of '231' from 'int' to 'char' inside { } [-Wnarrowing]
/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard/DigiKeyboard.h:59:1: error: narrowing conversion of '149' from 'int' to 'char' inside { } [-Wnarrowing]
/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard/DigiKeyboard.h:59:1: error: narrowing conversion of '129' from 'int' to 'char' inside { } [-Wnarrowing]
/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard/DigiKeyboard.h:59:1: error: narrowing conversion of '149' from 'int' to 'char' inside { } [-Wnarrowing]
/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard/DigiKeyboard.h:59:1: error: narrowing conversion of '129' from 'int' to 'char' inside { } [-Wnarrowing]
/home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard/DigiKeyboard.h:59:1: error: narrowing conversion of '192' from 'int' to 'char' inside { } [-Wnarrowing]
Bibliothek DigisparkKeyboard im Ordner: /home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard (legacy) wird verwendet
exit status 1
Fehler beim Kompilieren für das Board ATtiny88 (Micronucleus, MH-ET t88 w/16MHz CLOCK).

and this is the output when I switch from ATTinyCore to Digispark :


Using board 'MHETtiny88' from platform in folder: /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1
Using core 'tiny88' from platform in folder: /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1
Detecting libraries used...
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 /tmp/arduino_build_165610/sketch/HID_t88.ino.cpp -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
Alternatives for DigiKeyboard.h: [DigisparkKeyboard]
ResolveLibrary(DigiKeyboard.h)
  -> candidates: [DigisparkKeyboard]
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/libraries/DigisparkKeyboard /tmp/arduino_build_165610/sketch/HID_t88.ino.cpp -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/libraries/DigisparkKeyboard /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/libraries/DigisparkKeyboard/oddebug.c -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/libraries/DigisparkKeyboard /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/libraries/DigisparkKeyboard/osccal.c -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/libraries/DigisparkKeyboard /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/libraries/DigisparkKeyboard/usbdrv.c -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/libraries/DigisparkKeyboard /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/libraries/DigisparkKeyboard/usbdrvasm.S -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
Error while detecting libraries included by /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/libraries/DigisparkKeyboard/usbdrvasm.S
Generating function prototypes...
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/libraries/DigisparkKeyboard /tmp/arduino_build_165610/sketch/HID_t88.ino.cpp -o /tmp/arduino_build_165610/preproc/ctags_target_for_gcc_minus_e.cpp -DARDUINO_LIB_DISCOVERY_PHASE
/run/timeshift/backup/arduino-1.8.13/tools-builder/ctags/5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives /tmp/arduino_build_165610/preproc/ctags_target_for_gcc_minus_e.cpp
Sketch wird kompiliert...
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -MMD -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/libraries/DigisparkKeyboard /tmp/arduino_build_165610/sketch/HID_t88.ino.cpp -o /tmp/arduino_build_165610/sketch/HID_t88.ino.cpp.o
In file included from /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/libraries/DigisparkKeyboard/DigiKeyboard.h:17:0,
                 from /home/stefan/Arduino/HID_t88/HID_t88.ino:1:
/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/libraries/DigisparkKeyboard/keylayouts.h:5647:2: warning: #warning "Using default layout (LAYOUT_US_ENGLISH)" [-Wcpp]
 #warning "Using default layout (LAYOUT_US_ENGLISH)"
  ^~~~~~~
Compiling libraries...
Compiling library "DigisparkKeyboard"
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc -c -g -x assembler-with-cpp -flto -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/libraries/DigisparkKeyboard /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/libraries/DigisparkKeyboard/usbdrvasm.S -o /tmp/arduino_build_165610/libraries/DigisparkKeyboard/usbdrvasm.S.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -flto -MMD -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/libraries/DigisparkKeyboard /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/libraries/DigisparkKeyboard/oddebug.c -o /tmp/arduino_build_165610/libraries/DigisparkKeyboard/oddebug.c.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -flto -MMD -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/libraries/DigisparkKeyboard /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/libraries/DigisparkKeyboard/osccal.c -o /tmp/arduino_build_165610/libraries/DigisparkKeyboard/osccal.c.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -flto -MMD -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/libraries/DigisparkKeyboard /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/libraries/DigisparkKeyboard/usbdrv.c -o /tmp/arduino_build_165610/libraries/DigisparkKeyboard/usbdrv.c.o
Compiling core...
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -flto -MMD -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88/WInterrupts.c -o /tmp/arduino_build_165610/core/WInterrupts.c.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -flto -MMD -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88/wiring.c -o /tmp/arduino_build_165610/core/wiring.c.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -flto -MMD -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88/wiring_analog.c -o /tmp/arduino_build_165610/core/wiring_analog.c.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -flto -MMD -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88/wiring_digital.c -o /tmp/arduino_build_165610/core/wiring_digital.c.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -flto -MMD -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88/wiring_pulse.c -o /tmp/arduino_build_165610/core/wiring_pulse.c.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -flto -MMD -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88/wiring_shift.c -o /tmp/arduino_build_165610/core/wiring_shift.c.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -MMD -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88/HardwareSerial.cpp -o /tmp/arduino_build_165610/core/HardwareSerial.cpp.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -MMD -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88/Print.cpp -o /tmp/arduino_build_165610/core/Print.cpp.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -MMD -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88/Stream.cpp -o /tmp/arduino_build_165610/core/Stream.cpp.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -MMD -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88/TinySoftwareSerial.cpp -o /tmp/arduino_build_165610/core/TinySoftwareSerial.cpp.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -MMD -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88/Tone.cpp -o /tmp/arduino_build_165610/core/Tone.cpp.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -MMD -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88/WMath.cpp -o /tmp/arduino_build_165610/core/WMath.cpp.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -MMD -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88/WString.cpp -o /tmp/arduino_build_165610/core/WString.cpp.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -MMD -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88/abi.cpp -o /tmp/arduino_build_165610/core/abi.cpp.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -MMD -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88/main.cpp -o /tmp/arduino_build_165610/core/main.cpp.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -MMD -mmcu=attiny88 -DF_CPU=16000000L -DSERIAL_BUFFER_SIZE=32 -DARDUINO=10813 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88 -I/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/variants/MHtiny88 /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/cores/tiny88/new.cpp -o /tmp/arduino_build_165610/core/new.cpp.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc-ar rcs /tmp/arduino_build_165610/core/core.a /tmp/arduino_build_165610/core/WInterrupts.c.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc-ar rcs /tmp/arduino_build_165610/core/core.a /tmp/arduino_build_165610/core/wiring.c.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc-ar rcs /tmp/arduino_build_165610/core/core.a /tmp/arduino_build_165610/core/wiring_analog.c.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc-ar rcs /tmp/arduino_build_165610/core/core.a /tmp/arduino_build_165610/core/wiring_digital.c.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc-ar rcs /tmp/arduino_build_165610/core/core.a /tmp/arduino_build_165610/core/wiring_pulse.c.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc-ar rcs /tmp/arduino_build_165610/core/core.a /tmp/arduino_build_165610/core/wiring_shift.c.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc-ar rcs /tmp/arduino_build_165610/core/core.a /tmp/arduino_build_165610/core/HardwareSerial.cpp.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc-ar rcs /tmp/arduino_build_165610/core/core.a /tmp/arduino_build_165610/core/Print.cpp.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc-ar rcs /tmp/arduino_build_165610/core/core.a /tmp/arduino_build_165610/core/Stream.cpp.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc-ar rcs /tmp/arduino_build_165610/core/core.a /tmp/arduino_build_165610/core/TinySoftwareSerial.cpp.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc-ar rcs /tmp/arduino_build_165610/core/core.a /tmp/arduino_build_165610/core/Tone.cpp.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc-ar rcs /tmp/arduino_build_165610/core/core.a /tmp/arduino_build_165610/core/WMath.cpp.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc-ar rcs /tmp/arduino_build_165610/core/core.a /tmp/arduino_build_165610/core/WString.cpp.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc-ar rcs /tmp/arduino_build_165610/core/core.a /tmp/arduino_build_165610/core/abi.cpp.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc-ar rcs /tmp/arduino_build_165610/core/core.a /tmp/arduino_build_165610/core/main.cpp.o
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc-ar rcs /tmp/arduino_build_165610/core/core.a /tmp/arduino_build_165610/core/new.cpp.o
Gebauter Kern wird archiviert (zwischengespeichert) in: /tmp/arduino_cache_691991/core/core_digistump_avr_MHETtiny88_micronucleus_default_619a13c35a182672110927d653dfb115.a
Linking everything together...
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc -Os -g -Wl,--gc-sections -mrelax -fmerge-all-constants -mmcu=attiny88 -o /tmp/arduino_build_165610/HID_t88.ino.elf /tmp/arduino_build_165610/sketch/HID_t88.ino.cpp.o /tmp/arduino_build_165610/libraries/DigisparkKeyboard/usbdrvasm.S.o /tmp/arduino_build_165610/libraries/DigisparkKeyboard/oddebug.c.o /tmp/arduino_build_165610/libraries/DigisparkKeyboard/osccal.c.o /tmp/arduino_build_165610/libraries/DigisparkKeyboard/usbdrv.c.o /tmp/arduino_build_165610/core/core.a -L/tmp/arduino_build_165610 -lm
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 /tmp/arduino_build_165610/HID_t88.ino.elf /tmp/arduino_build_165610/HID_t88.ino.eep
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-objcopy -O ihex -R .eeprom /tmp/arduino_build_165610/HID_t88.ino.elf /tmp/arduino_build_165610/HID_t88.ino.hex
bash -c "/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-objdump --disassemble --source --line-numbers --demangle --section=.text /tmp/arduino_build_165610/HID_t88.ino.elf > /tmp/arduino_build_165610/HID_t88.ino.lst"
bash -c "/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-nm --numeric-sort --line-numbers --print-size /tmp/arduino_build_165610/HID_t88.ino.elf > /tmp/arduino_build_165610/HID_t88.ino.map"
Bibliothek DigisparkKeyboard im Ordner: /home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/libraries/DigisparkKeyboard (legacy) wird verwendet
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-size -A /tmp/arduino_build_165610/HID_t88.ino.elf
Der Sketch verwendet 2710 Bytes (40%) des Programmspeicherplatzes. Das Maximum sind 6714 Bytes.
Globale Variablen verwenden 96 Bytes (18%) des dynamischen Speichers, 416 Bytes für lokale Variablen verbleiben. Das Maximum sind 512 Bytes.

And confirmed - board is listed with lsusb now, but nothing happens. Because I don't find the fuse-settings, I read them with avrdudess: L:0xE1 H:0xDC E:0x06

prandeamus commented 3 years ago

I tried some of this a while back with V-USB on MT-EH Tiny88 boards. I will see if I can dig out the source to a test app that did some basic MIDI rather than Keyboard, but the idea is the same. As I recall, the V-USB libraries assumed the pin mappings for VUSB on Digispark/Attiny85 hardware (B3, B4), but the pin numbers for MHET/Attiny88 are different. (D1, D2) ?

I can't swear to this but it might be a clue. I'll see if I can find the old code, though it was a test rather than anything that was production ready...

SpenceKonde commented 3 years ago

But do any of them work?

Also, are you aware that you are compiliing with two completely separate copies of the figispark vusb packages?

/home/stefan/.arduino15/packages/digistump/hardware/avr/1.7.1/libraries/DigisparkKeyboard and /home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkKeyboard

These are of course different versions of the ile (dramatically), which explains why the one you were using with ATTinyCore didn't compile :-P

But I never managed to make ANY working USB device with these except a mouse one which malfunctioned horrendously and left my computer in need of a reboot to restore mouse functionality with a different mouse.

SpenceKonde commented 3 years ago

The progmem errors mean the code hasn't been revised since avr-gcc 4.3 was taken up by Arduino....

pcfreak1201 commented 3 years ago

Depending Digispark - yes I resently changed to https://github.com/ArminJo/DigistumpArduino from official ("old") Digispark-BSP For me it's working with older digispark-stuff, but it's not a lot what I use. Normally, I don't use VUSB at all because of all the timing and compytibility problems. I have always a STM32-Bluepill-USBASP with true USB and serial-port connected. That's all what I need ;-)

pcfreak1201 commented 3 years ago

But do any of them work?

I checked my t85_CDC-Example: https://github.com/pcfreak1201/micronucleus_commandline/tree/main/CDC_Example on the Digispark t85 -- and it still works with the core from @ArminJo AND ATTinyCore!

Linking everything together...
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc -Wall -Wextra -Os -Wl,--gc-sections -mmcu=attiny85 -o /tmp/arduino_build_463353/MicronucleusDigiCDC.ino.elf /tmp/arduino_build_463353/sketch/MicronucleusDigiCDC.ino.cpp.o /tmp/arduino_build_463353/libraries/DigisparkCDC/usbdrvasm.S.o /tmp/arduino_build_463353/libraries/DigisparkCDC/oddebug.c.o /tmp/arduino_build_463353/libraries/DigisparkCDC/osccal.c.o /tmp/arduino_build_463353/libraries/DigisparkCDC/usbdrv.c.o /tmp/arduino_build_463353/libraries/DigisparkCDC/DigiCDC.cpp.o /tmp/arduino_build_463353/core/core.a -L/tmp/arduino_build_463353 -lm
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 /tmp/arduino_build_463353/MicronucleusDigiCDC.ino.elf /tmp/arduino_build_463353/MicronucleusDigiCDC.ino.eep
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy -O ihex -R .eeprom /tmp/arduino_build_463353/MicronucleusDigiCDC.ino.elf /tmp/arduino_build_463353/MicronucleusDigiCDC.ino.hex
Bibliothek DigisparkCDC im Ordner: /home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkCDC (legacy) wird verwendet
/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-size -A /tmp/arduino_build_463353/MicronucleusDigiCDC.ino.elf
Der Sketch verwendet 4512 Bytes (68%) des Programmspeicherplatzes. Das Maximum sind 6586 Bytes.
Globale Variablen verwenden 237 Bytes (46%) des dynamischen Speichers, 275 Bytes für lokale Variablen verbleiben. Das Maximum sind 512 Bytes.
/home/stefan/.arduino15/packages/ATTinyCore/tools/micronucleus/2.0a4/launcher -cdigispark --timeout 60 -Uflash:w:/tmp/arduino_build_463353/MicronucleusDigiCDC.ino.hex:i 
Running Digispark Uploader...
Plug in device now... (will timeout in 60 seconds)
> Please plug in the device ... 
> Press CTRL+C to terminate the program.
> Device is found!
connecting: 16% complete
connecting: 22% complete
connecting: 28% complete
connecting: 33% complete
> Device has firmware version 2.5
> Device signature: 0x1e930b 
> Available space for user applications: 6586 bytes
> Suggested sleep time between sending pages: 7ms
> Whole page count: 103  page size: 64
> Erase function sleep duration: 721ms
parsing: 50% complete
> Erasing the memory ...
erasing: 55% complete
erasing: 60% complete
erasing: 65% complete
> Starting to upload ...
writing: 70% complete
writing: 75% complete
writing: 80% complete
> Starting the user app ...
running: 100% complete
>> Micronucleus done. Thank you!

So there is nothing "broken" in your core. ( I double checked with serial monitor, and there is the output, not only the upload ;-)

SpenceKonde commented 3 years ago

OMG YOU WERE ABLE TO GET A CDC DEVICE TO WORK? All I could ever get those to do is generate errors trying to get the device descriptor.. ..

On Thu, Feb 18, 2021 at 3:41 PM pcfreak1201 notifications@github.com wrote:

But do any of them work?

I checked my t85_CDC-Example: https://github.com/pcfreak1201/micronucleus_commandline/tree/main/CDC_Example on the Digispark t85 -- and it still works with the core from ArminJo AND ATTinyCore!

Linking everything together...

/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc -Wall -Wextra -Os -Wl,--gc-sections -mmcu=attiny85 -o /tmp/arduino_build_463353/MicronucleusDigiCDC.ino.elf /tmp/arduino_build_463353/sketch/MicronucleusDigiCDC.ino.cpp.o /tmp/arduino_build_463353/libraries/DigisparkCDC/usbdrvasm.S.o /tmp/arduino_build_463353/libraries/DigisparkCDC/oddebug.c.o /tmp/arduino_build_463353/libraries/DigisparkCDC/osccal.c.o /tmp/arduino_build_463353/libraries/DigisparkCDC/usbdrv.c.o /tmp/arduino_build_463353/libraries/DigisparkCDC/DigiCDC.cpp.o /tmp/arduino_build_463353/core/core.a -L/tmp/arduino_build_463353 -lm

/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 /tmp/arduino_build_463353/MicronucleusDigiCDC.ino.elf /tmp/arduino_build_463353/MicronucleusDigiCDC.ino.eep

/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy -O ihex -R .eeprom /tmp/arduino_build_463353/MicronucleusDigiCDC.ino.elf /tmp/arduino_build_463353/MicronucleusDigiCDC.ino.hex

Bibliothek DigisparkCDC im Ordner: /home/stefan/.arduino15/packages/ATTinyCore/hardware/avr/1.4.1/libraries/DigisparkCDC (legacy) wird verwendet

/home/stefan/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-size -A /tmp/arduino_build_463353/MicronucleusDigiCDC.ino.elf

Der Sketch verwendet 4512 Bytes (68%) des Programmspeicherplatzes. Das Maximum sind 6586 Bytes.

Globale Variablen verwenden 237 Bytes (46%) des dynamischen Speichers, 275 Bytes für lokale Variablen verbleiben. Das Maximum sind 512 Bytes.

/home/stefan/.arduino15/packages/ATTinyCore/tools/micronucleus/2.0a4/launcher -cdigispark --timeout 60 -Uflash:w:/tmp/arduino_build_463353/MicronucleusDigiCDC.ino.hex:i

Running Digispark Uploader...

Plug in device now... (will timeout in 60 seconds)

Please plug in the device ...

Press CTRL+C to terminate the program.

Device is found!

connecting: 16% complete

connecting: 22% complete

connecting: 28% complete

connecting: 33% complete

Device has firmware version 2.5

Device signature: 0x1e930b

Available space for user applications: 6586 bytes

Suggested sleep time between sending pages: 7ms

Whole page count: 103 page size: 64

Erase function sleep duration: 721ms

parsing: 50% complete

Erasing the memory ...

erasing: 55% complete

erasing: 60% complete

erasing: 65% complete

Starting to upload ...

writing: 70% complete

writing: 75% complete

writing: 80% complete

Starting the user app ...

running: 100% complete

Micronucleus done. Thank you!

So there is nothing "broken" in your core.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/SpenceKonde/ATTinyCore/issues/516#issuecomment-781621254, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABTXEW7R2VJJLEHAC7BR7WTS7V3OLANCNFSM4X2M4NNQ .

--


Spence Konde Azzy’S Electronics

New products! Check them out at tindie.com/stores/DrAzzy GitHub: github.com/SpenceKonde ATTinyCore https://github.com/SpenceKonde/ATTinyCore: Arduino support for all pre-2016 tinyAVR with >2k flash! megaTinyCore https://github.com/SpenceKonde/megaTinyCore: Arduino support for all post-2016 tinyAVR parts! DxCore https://github.com/SpenceKonde/DxCore: Arduino support for the AVR Dx-series parts, the latest and greatest from Microchip! Contact: spencekonde@gmail.com

pcfreak1201 commented 3 years ago

LOL - nothing what I tuned to work :-) But I tried to get it running on the MH-Tiny88, and it generates a device, but as you wrote, it can't generate a real device. It only says: "hello". And the heartbeat also stops after some time. May be the crystal - may be the tuning in usbdrvasm.S ... who knows. I also tried to cool it with coolant spray, but nothing changes. So it's not near to funktion (if it is its timing).

prandeamus commented 3 years ago

Not sure if this helps, but some ago (May 2020) I tried to create a simple MIDI controller using the USBMIDI library on top of VUSB for a MH ET Tiny88

The configurations settings are here, for the USBMIDI library and if you look around line 32 you'll see it assumes that VUSB is on D2,D3. https://github.com/BlokasLabs/USBMIDI/blob/master/src/usbboard.h

So for this library I set these three #defines before including the MIDI library (and indirectly VUSB)

define USB_CFG_IOPORTNAME D

define USB_CFG_DMINUS_BIT 2

define USB_CFG_DPLUS_BIT 1

Since I think that on the MHET Live88 uses D1 for USB+ and D2 for USB-

I realise this for a library working at higher level of abstraction above VUSB but it seemed to work for me. Have not recompiled recently and your mileage may vary. If I get the time to retry it I will do so.

Hope this helps, but as the preceding comment says if it's impossible to get the timing right for this board maybe it's time to give up and get something with native usb support.

philibertc commented 3 years ago

So for this library I set these three #defines before including the MIDI library (and indirectly VUSB)

define USB_CFG_IOPORTNAME D

define USB_CFG_DMINUS_BIT 2

define USB_CFG_DPLUS_BIT 1

Okay, thanks, I will try it!

SpenceKonde commented 2 years ago

There are no plans to systematically address this. I was given a sufficiently convincing explanation of why vUSB from the sketch sucks. I provide a pins_usb.h that lists which pins are connected to usb based on the menu selections. That's as far as I'm going to go on this tarpit.

mqnc commented 1 year ago

Sorry to revive this thing but did anyone make any progress? I also just tried to modify DigiCDC and run it on MH-Tiny88 (adding

#elif defined (__AVR_ATtiny88__)
#define USB_CFG_IOPORTNAME      D
#define USB_CFG_DMINUS_BIT      2
#define USB_CFG_DPLUS_BIT       1

) but it didn't work. I sent the same code to a Digispark (ATTiny85, 16.5MHz) and it worked. What I find a bit curious is that the MH-Tiny88 board has a USB-plug on it and uses micronucleus, which in turn uses V-USB and works without problems. Here is the configuration: https://github.com/micronucleus/micronucleus/blob/master/firmware/configuration/t88_default/bootloaderconfig.h So I don't see any reason why this shouldn't work. My next step would be to litter the code with debug printf and compare between MH-Tiny88 and Digispark.

UPDATE:

It works now! Forgot to steal the interrupt configuration :)

mqnc commented 1 year ago

https://github.com/mqnc/MHTinyCDC