IRMP-org/IRMP

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

l8gravely opened this issue · 1 comments

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

  • [ x] Other - please specify
    ATtiny1616 or Attiny1614 using (Spence Konde's megaTinyCore v2.6.8)

IDE

  • [x ] Arduino IDE

IR-Protocol

  • NEC

Example to reproduce the issue

  • [x ] AllProtocols
  • [x ] SimpleReceiver

Version

  • Other - please specify
    Using version 3.6.4 as installed by the IDE Library Manager
    Please delete all unchecked lines above :-)

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 have read the README.md file thoroughly.
  • I have searched existing issues to see if there is anything I have missed.
  • I have browsed the examples for one, that matches my use case.
  • Any code referenced is provided and if over 30 lines a gist is linked INSTEAD of it being pasted in here.
  • The title of the issue is helpful and relevant.
  • [] I checked, if at least one of the examples was working.

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!**

Please try latest version from this repository.