IRMP-org / IRMP

Infrared Multi Protocol Decoder
GNU General Public License v3.0
277 stars 45 forks source link

Attiny1616 support broken (and by implication ATtiny1614 and 1617 as well) #86

Closed l8gravely closed 8 months ago

l8gravely commented 1 year ago

If you have handling problems or questions, consider to open a discussion https://github.com/IRMP-org/IRMP/discussions instead of an issue.

Bug Report

Board

IDE

IR-Protocol

Example to reproduce the issue

Version

Pin(s) used for IR-receive, if not default

Current behavior

Compiling both examples above, but using the settings of: megaTinyCore -> ATtiny3226/3216/1626/1616/1606/826/816/806/426/416/406. and I select 1616 as the board, since I see checks for __AVR_ATtiny1616__ in the code so I assumed it would work....

When compiling just the un-modfied example code I get the following:

Arduino: 1.8.13 (Linux), Board: "ATtiny3226/3216/1626/1616/1606/826/816/806/426/416/406, ATtiny1616, 20 MHz internal, 1.8V (5 MHz or less), Disabled/Disabled, EEPROM retained, Enabled (default timer), UPDI (no reset pin), 8ms, Master or Slave (saves flash and RAM), Default (doesn't print floats, 1.4k flash use), PB0-2, PA3-5, 1-series: PC0/1 (default), On all pins, with new implementation., Disabled (recommended), No delay before window "opens""

/home/john/arduino-1.8.13/arduino-builder -dump-prefs -logger=machine -hardware /home/john/arduino-1.8.13/hardware -hardware /home/john/.arduino15/packages -tools /home/john/arduino-1.8.13/tools-builder -tools /home/john/arduino-1.8.13/hardware/tools/avr -tools /home/john/.arduino15/packages -built-in-libraries /home/john/arduino-1.8.13/libraries -libraries /home/john/Arduino/libraries -fqbn=megaTinyCore:megaavr:atxy6:chip=1616,clock=20internal,bodvoltage=1v8,bodmode=disabled,eesave=enable,millis=enabled,resetpin=UPDI,startuptime=8,wiremode=mors,printf=default,PWMmux=A_default,attach=allenabled,WDTtimeout=disabled,WDTwindow=disabled -vid-pid=10C4_EA70 -ide-version=10813 -build-path /tmp/arduino_build_705453 -warnings=all -build-cache /tmp/arduino_cache_618277 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=/home/john/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=/home/john/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.python3.path=/home/john/.arduino15/packages/megaTinyCore/tools/python3/3.7.2-post1 -prefs=runtime.tools.python3-3.7.2-post1.path=/home/john/.arduino15/packages/megaTinyCore/tools/python3/3.7.2-post1 -prefs=runtime.tools.avrdude.path=/home/john/.arduino15/packages/DxCore/tools/avrdude/6.3.0-arduino17or18 -prefs=runtime.tools.avrdude-6.3.0-arduino17or18.path=/home/john/.arduino15/packages/DxCore/tools/avrdude/6.3.0-arduino17or18 -prefs=runtime.tools.avr-gcc.path=/home/john/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-azduino6.path=/home/john/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6 -verbose /home/john/Arduino/libraries/IRMP/examples/SimpleSender/SimpleSender.ino /home/john/arduino-1.8.13/arduino-builder -compile -logger=machine -hardware /home/john/arduino-1.8.13/hardware -hardware /home/john/.arduino15/packages -tools /home/john/arduino-1.8.13/tools-builder -tools /home/john/arduino-1.8.13/hardware/tools/avr -tools /home/john/.arduino15/packages -built-in-libraries /home/john/arduino-1.8.13/libraries -libraries /home/john/Arduino/libraries -fqbn=megaTinyCore:megaavr:atxy6:chip=1616,clock=20internal,bodvoltage=1v8,bodmode=disabled,eesave=enable,millis=enabled,resetpin=UPDI,startuptime=8,wiremode=mors,printf=default,PWMmux=A_default,attach=allenabled,WDTtimeout=disabled,WDTwindow=disabled -vid-pid=10C4_EA70 -ide-version=10813 -build-path /tmp/arduino_build_705453 -warnings=all -build-cache /tmp/arduino_cache_618277 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=/home/john/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=/home/john/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.python3.path=/home/john/.arduino15/packages/megaTinyCore/tools/python3/3.7.2-post1 -prefs=runtime.tools.python3-3.7.2-post1.path=/home/john/.arduino15/packages/megaTinyCore/tools/python3/3.7.2-post1 -prefs=runtime.tools.avrdude.path=/home/john/.arduino15/packages/DxCore/tools/avrdude/6.3.0-arduino17or18 -prefs=runtime.tools.avrdude-6.3.0-arduino17or18.path=/home/john/.arduino15/packages/DxCore/tools/avrdude/6.3.0-arduino17or18 -prefs=runtime.tools.avr-gcc.path=/home/john/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-azduino6.path=/home/john/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6 -verbose /home/john/Arduino/libraries/IRMP/examples/SimpleSender/SimpleSender.ino Using board 'atxy6' from platform in folder: /home/john/.arduino15/packages/megaTinyCore/hardware/megaavr/2.6.8 Using core 'megatinycore' from platform in folder: /home/john/.arduino15/packages/megaTinyCore/hardware/megaavr/2.6.8 Detecting libraries used... /home/john/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6/bin/avr-g++ -c -g -Os -Wall -std=gnu++17 -fpermissive -Wno-sized-deallocation -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -mrelax -w -x c++ -E -CC -mmcu=attiny1616 -DF_CPU=20000000L -DCLOCK_SOURCE=0 -DTWI_MORS -DMILLIS_USE_TIMERD0 -DCORE_ATTACH_ALL -DUSE_TIMERD0_PWM -DARDUINO=10813 -DARDUINO_AVR_ATtiny1616 -DARDUINO_ARCH_MEGAAVR "-DMEGATINYCORE=\"2.6.8.1\"" -DMEGATINYCORE_MAJOR=2UL -DMEGATINYCORE_MINOR=6UL -DMEGATINYCORE_PATCH=8UL -DMEGATINYCORE_RELEASED=1 -DARDUINO_attinyxy6 -I/home/john/.arduino15/packages/megaTinyCore/hardware/megaavr/2.6.8/cores/megatinycore/api/deprecated -I/home/john/.arduino15/packages/megaTinyCore/hardware/megaavr/2.6.8/cores/megatinycore -I/home/john/.arduino15/packages/megaTinyCore/hardware/megaavr/2.6.8/variants/txy6 /tmp/arduino_build_705453/sketch/SimpleSender.ino.cpp -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE Alternatives for irsndSelectMain15Protocols.h: [IRMP@3.6.3] ResolveLibrary(irsndSelectMain15Protocols.h) -> candidates: [IRMP@3.6.3] /home/john/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6/bin/avr-g++ -c -g -Os -Wall -std=gnu++17 -fpermissive -Wno-sized-deallocation -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -mrelax -w -x c++ -E -CC -mmcu=attiny1616 -DF_CPU=20000000L -DCLOCK_SOURCE=0 -DTWI_MORS -DMILLIS_USE_TIMERD0 -DCORE_ATTACH_ALL -DUSE_TIMERD0_PWM -DARDUINO=10813 -DARDUINO_AVR_ATtiny1616 -DARDUINO_ARCH_MEGAAVR "-DMEGATINYCORE=\"2.6.8.1\"" -DMEGATINYCORE_MAJOR=2UL -DMEGATINYCORE_MINOR=6UL -DMEGATINYCORE_PATCH=8UL -DMEGATINYCORE_RELEASED=1 -DARDUINO_attinyxy6 -I/home/john/.arduino15/packages/megaTinyCore/hardware/megaavr/2.6.8/cores/megatinycore/api/deprecated -I/home/john/.arduino15/packages/megaTinyCore/hardware/megaavr/2.6.8/cores/megatinycore -I/home/john/.arduino15/packages/megaTinyCore/hardware/megaavr/2.6.8/variants/txy6 -I/home/john/Arduino/libraries/IRMP/src /tmp/arduino_build_705453/sketch/SimpleSender.ino.cpp -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE Generating function prototypes... /home/john/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6/bin/avr-g++ -c -g -Os -Wall -std=gnu++17 -fpermissive -Wno-sized-deallocation -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -mrelax -w -x c++ -E -CC -mmcu=attiny1616 -DF_CPU=20000000L -DCLOCK_SOURCE=0 -DTWI_MORS -DMILLIS_USE_TIMERD0 -DCORE_ATTACH_ALL -DUSE_TIMERD0_PWM -DARDUINO=10813 -DARDUINO_AVR_ATtiny1616 -DARDUINO_ARCH_MEGAAVR "-DMEGATINYCORE=\"2.6.8.1\"" -DMEGATINYCORE_MAJOR=2UL -DMEGATINYCORE_MINOR=6UL -DMEGATINYCORE_PATCH=8UL -DMEGATINYCORE_RELEASED=1 -DARDUINO_attinyxy6 -I/home/john/.arduino15/packages/megaTinyCore/hardware/megaavr/2.6.8/cores/megatinycore/api/deprecated -I/home/john/.arduino15/packages/megaTinyCore/hardware/megaavr/2.6.8/cores/megatinycore -I/home/john/.arduino15/packages/megaTinyCore/hardware/megaavr/2.6.8/variants/txy6 -I/home/john/Arduino/libraries/IRMP/src /tmp/arduino_build_705453/sketch/SimpleSender.ino.cpp -o /tmp/arduino_build_705453/preproc/ctags_target_for_gcc_minus_e.cpp -DARDUINO_LIB_DISCOVERY_PHASE /home/john/.arduino15/packages/builtin/tools/ctags/5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives /tmp/arduino_build_705453/preproc/ctags_target_for_gcc_minus_e.cpp Compiling sketch... /home/john/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++17 -fpermissive -Wno-sized-deallocation -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mrelax -mmcu=attiny1616 -DF_CPU=20000000L -DCLOCK_SOURCE=0 -DTWI_MORS -DMILLIS_USE_TIMERD0 -DCORE_ATTACH_ALL -DUSE_TIMERD0_PWM -DARDUINO=10813 -DARDUINO_AVR_ATtiny1616 -DARDUINO_ARCH_MEGAAVR "-DMEGATINYCORE=\"2.6.8.1\"" -DMEGATINYCORE_MAJOR=2UL -DMEGATINYCORE_MINOR=6UL -DMEGATINYCORE_PATCH=8UL -DMEGATINYCORE_RELEASED=1 -DARDUINO_attinyxy6 -I/home/john/.arduino15/packages/megaTinyCore/hardware/megaavr/2.6.8/cores/megatinycore/api/deprecated -I/home/john/.arduino15/packages/megaTinyCore/hardware/megaavr/2.6.8/cores/megatinycore -I/home/john/.arduino15/packages/megaTinyCore/hardware/megaavr/2.6.8/variants/txy6 -I/home/john/Arduino/libraries/IRMP/src /tmp/arduino_build_705453/sketch/SimpleSender.ino.cpp -o /tmp/arduino_build_705453/sketch/SimpleSender.ino.cpp.o Compiling libraries... Compiling library "IRMP" Compiling core... Using precompiled core: /tmp/arduino_cache_618277/core/core_c3543f3a31c509e8d99781abde6a41d7.a Linking everything together... /home/john/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6/bin/avr-gcc -Wall -Wextra -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -Wl,--section-start=.text=0x0 -mrelax -mmcu=attiny1616 -o /tmp/arduino_build_705453/SimpleSender.ino.elf /tmp/arduino_build_705453/sketch/SimpleSender.ino.cpp.o /tmp/arduino_build_705453/../arduino_cache_618277/core/core_c3543f3a31c509e8d99781abde6a41d7.a -L/tmp/arduino_build_705453 -lm wiring.c.o (symbol from plugin): In function __vector_15': (.text+0x0): multiple definition of__vector_15' /tmp/arduino_build_705453/sketch/SimpleSender.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here /home/john/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6/bin/../lib/gcc/avr/7.3.0/../../../../avr/bin/ld: Disabling relaxation: it will not work with multiple definitions collect2: error: ld returned 1 exit status Using library IRMP at version 3.6.3 in folder: /home/john/Arduino/libraries/IRMP exit status 1 Error compiling for board ATtiny3226/3216/1626/1616/1606/826/816/806/426/416/406.

Expected behavior

I expected the code to compile properly. With at the mazes of #ifdef, #elif, #endif; it's really hard to trace down what's happening.

Additional context

checklist:

I can't check the last one, since I can't get any of the examples to compile!

We will start to close or delete issues that do not follow these guidelines as it doesn't help the contributors who spend time trying to solve issues if the community ignores guidelines!

ArminJo commented 1 year ago

Please try latest version from this repository.