Giter Site home page Giter Site logo

spencekonde / dxcore Goto Github PK

View Code? Open in Web Editor NEW
168.0 21.0 47.0 328.48 MB

Arduino core for AVR DA, DB, DD, EA and future DU-series parts - Microchip's latest and greatest AVRs. Library maintainers: Porting help and adviccee is available.

License: Other

C 83.39% C++ 6.82% Shell 0.10% Assembly 0.04% Makefile 0.66% Batchfile 0.07% Python 8.92%
avr-da avr-devices avr-db updi-programmer arduino-boards avr-dd avrxt arduino

dxcore's People

Contributors

brunob45 avatar dalemitchell avatar dbuchwald avatar dustinwatts avatar floessie avatar johnsondavies avatar killerkalamari avatar kuwatay avatar m65649 avatar mcudude avatar micropaul avatar mihtjel avatar mikrocoder avatar mx682x avatar nabelekt avatar nomakewan avatar obviousinretrospect avatar per1234 avatar rneurink avatar spencekonde avatar timgates42 avatar westfw avatar xxxajk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dxcore's Issues

Adapt Optiboot bootloader

These chips cry out for a serial bootloader! The flash write proceedure is different... but hardly difficult...

Error in README

Hi DrAzzy,

In the README you state:

And all parts will have the following defined:

  • AVR_DA
  • DxCORE

DxCORE should be DXCORE.

Best,
Flössie

Pinout diagrams

We need pinout diagrams for the AVR DB series as well. I'll see what I can do about this.

After #15 is merged, all pinout diagrams need to be updated to indicate that the ZCD hardware is actually there and fully supported by DxCore.

Unified event system library for mega0, tiny0/1/2 and AVR-Dx

Hi!

I have an idea I'd like to discuss with you. As you already know, the event system is pretty powerful and certainly useful if you can wrap your head around it. I wasn't really able to do just that before I really deep dived into the datasheet. And then it appeared to me; It's very simple! A lot simpler than the CCL hardware!

I'm sure other users will find the event system useful, and even easy to use if they have a sleek library to work with. So what do you think about creating a library that works for MegaCoreX, DxCore and megaTinyCore? I can create a working library for MegaCoreX, and you can modify it to work with "your" hardware? According to the datasheets I've read, the event system hardware are very similar across these three "hardware families".

Some documentation suggestions

Thanks for providing this core! I've just successfully uploaded Blink to an AVR128DB28 on a breadboard.

Couple of comments:

  1. Using a Nano-based UPDI programmer I previously used to program 0-series and 1-series chips, I got the error:

    avrdude: jtagmkII_paged_write(): timeout/error communicating with programmer (status -1)
    

Thanks to the issue by @DustinWatts I realised I need to update jtag2updi, and it then worked. Perhaps mention this?

  1. The link Making a cheap UPDI programmer in megaTinyCore (now) gives a 404.

Can't disable millis()/micros() timer

Hi DrAzzy,

When setting "millis()/micros() timer" to "Disabled", I get this:

Arduino: 1.8.13 (Linux), Board: "AVR DB-series (no bootloader), AVR128DB28, 24 MHz internal, No, 1.9V, Disabled/Disabled, EEPROM retained, Hardware Reset (recommended), Disabled, Enabled, 8ms"

/opt/arduino-1.8.13/arduino-builder -dump-prefs -logger=machine -hardware /opt/arduino-1.8.13/hardware -hardware /home/user/.arduino15/packages -hardware /home/user/src/Arduino/hardware -tools /opt/arduino-1.8.13/tools-builder -tools /opt/arduino-1.8.13/hardware/tools/avr -tools /home/user/.arduino15/packages -built-in-libraries /opt/arduino-1.8.13/libraries -libraries /home/user/src/Arduino/libraries -fqbn=DxCore:megaavr:avrdb:chip=128DB28,clock=24internal,serialevent=no,bodvoltage=1v9,bodmode=disabled,eesave=enable,resetpin=reset,millis=disabled,mvio=enabled,startuptime=8 -vid-pid=1A86_7523 -ide-version=10813 -build-path /tmp/arduino_build_266848 -warnings=default -build-cache /tmp/arduino_cache_72720 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avrdude.path=/home/user/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=/home/user/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.avr-gcc.path=/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-azzy1.path=/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1 -prefs=runtime.tools.arduinoOTA.path=/home/user/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=/home/user/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -verbose /tmp/arduino_modified_sketch_88239/Blink_AnalogRead.ino
/opt/arduino-1.8.13/arduino-builder -compile -logger=machine -hardware /opt/arduino-1.8.13/hardware -hardware /home/user/.arduino15/packages -hardware /home/user/src/Arduino/hardware -tools /opt/arduino-1.8.13/tools-builder -tools /opt/arduino-1.8.13/hardware/tools/avr -tools /home/user/.arduino15/packages -built-in-libraries /opt/arduino-1.8.13/libraries -libraries /home/user/src/Arduino/libraries -fqbn=DxCore:megaavr:avrdb:chip=128DB28,clock=24internal,serialevent=no,bodvoltage=1v9,bodmode=disabled,eesave=enable,resetpin=reset,millis=disabled,mvio=enabled,startuptime=8 -vid-pid=1A86_7523 -ide-version=10813 -build-path /tmp/arduino_build_266848 -warnings=default -build-cache /tmp/arduino_cache_72720 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avrdude.path=/home/user/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=/home/user/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.avr-gcc.path=/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-azzy1.path=/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1 -prefs=runtime.tools.arduinoOTA.path=/home/user/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=/home/user/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -verbose /tmp/arduino_modified_sketch_88239/Blink_AnalogRead.ino
Using board 'avrdb' from platform in folder: /home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a
Using core 'dxcore' from platform in folder: /home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a
Detecting libraries used...
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard /tmp/arduino_build_266848/sketch/Blink_AnalogRead.ino.cpp -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
Alternatives for Arduino_FreeRTOS.h: [[email protected]]
ResolveLibrary(Arduino_FreeRTOS.h)
  -> candidates: [[email protected]]
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard -I/home/user/src/Arduino/libraries/FreeRTOS/src /tmp/arduino_build_266848/sketch/Blink_AnalogRead.ino.cpp -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard -I/home/user/src/Arduino/libraries/FreeRTOS/src /home/user/src/Arduino/libraries/FreeRTOS/src/croutine.c -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard -I/home/user/src/Arduino/libraries/FreeRTOS/src /home/user/src/Arduino/libraries/FreeRTOS/src/event_groups.c -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard -I/home/user/src/Arduino/libraries/FreeRTOS/src /home/user/src/Arduino/libraries/FreeRTOS/src/heap_3.c -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard -I/home/user/src/Arduino/libraries/FreeRTOS/src /home/user/src/Arduino/libraries/FreeRTOS/src/list.c -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard -I/home/user/src/Arduino/libraries/FreeRTOS/src /home/user/src/Arduino/libraries/FreeRTOS/src/port.c -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard -I/home/user/src/Arduino/libraries/FreeRTOS/src /home/user/src/Arduino/libraries/FreeRTOS/src/queue.c -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard -I/home/user/src/Arduino/libraries/FreeRTOS/src /home/user/src/Arduino/libraries/FreeRTOS/src/stream_buffer.c -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard -I/home/user/src/Arduino/libraries/FreeRTOS/src /home/user/src/Arduino/libraries/FreeRTOS/src/tasks.c -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard -I/home/user/src/Arduino/libraries/FreeRTOS/src /home/user/src/Arduino/libraries/FreeRTOS/src/timers.c -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard -I/home/user/src/Arduino/libraries/FreeRTOS/src /home/user/src/Arduino/libraries/FreeRTOS/src/variantHooks.cpp -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
Generating function prototypes...
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard -I/home/user/src/Arduino/libraries/FreeRTOS/src /tmp/arduino_build_266848/sketch/Blink_AnalogRead.ino.cpp -o /tmp/arduino_build_266848/preproc/ctags_target_for_gcc_minus_e.cpp -DARDUINO_LIB_DISCOVERY_PHASE
/opt/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_266848/preproc/ctags_target_for_gcc_minus_e.cpp
Compiling sketch...
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-g++ -c -g -Os -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard -I/home/user/src/Arduino/libraries/FreeRTOS/src /tmp/arduino_build_266848/sketch/Blink_AnalogRead.ino.cpp -o /tmp/arduino_build_266848/sketch/Blink_AnalogRead.ino.cpp.o
Compiling libraries...
Compiling library "FreeRTOS"
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-gcc -c -g -Os -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard -I/home/user/src/Arduino/libraries/FreeRTOS/src /home/user/src/Arduino/libraries/FreeRTOS/src/stream_buffer.c -o /tmp/arduino_build_266848/libraries/FreeRTOS/stream_buffer.c.o
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-gcc -c -g -Os -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard -I/home/user/src/Arduino/libraries/FreeRTOS/src /home/user/src/Arduino/libraries/FreeRTOS/src/croutine.c -o /tmp/arduino_build_266848/libraries/FreeRTOS/croutine.c.o
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-gcc -c -g -Os -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard -I/home/user/src/Arduino/libraries/FreeRTOS/src /home/user/src/Arduino/libraries/FreeRTOS/src/queue.c -o /tmp/arduino_build_266848/libraries/FreeRTOS/queue.c.o
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-gcc -c -g -Os -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard -I/home/user/src/Arduino/libraries/FreeRTOS/src /home/user/src/Arduino/libraries/FreeRTOS/src/event_groups.c -o /tmp/arduino_build_266848/libraries/FreeRTOS/event_groups.c.o
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-gcc -c -g -Os -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard -I/home/user/src/Arduino/libraries/FreeRTOS/src /home/user/src/Arduino/libraries/FreeRTOS/src/heap_3.c -o /tmp/arduino_build_266848/libraries/FreeRTOS/heap_3.c.o
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-gcc -c -g -Os -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard -I/home/user/src/Arduino/libraries/FreeRTOS/src /home/user/src/Arduino/libraries/FreeRTOS/src/tasks.c -o /tmp/arduino_build_266848/libraries/FreeRTOS/tasks.c.o
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-gcc -c -g -Os -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard -I/home/user/src/Arduino/libraries/FreeRTOS/src /home/user/src/Arduino/libraries/FreeRTOS/src/list.c -o /tmp/arduino_build_266848/libraries/FreeRTOS/list.c.o
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-gcc -c -g -Os -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard -I/home/user/src/Arduino/libraries/FreeRTOS/src /home/user/src/Arduino/libraries/FreeRTOS/src/port.c -o /tmp/arduino_build_266848/libraries/FreeRTOS/port.c.o
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-gcc -c -g -Os -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard -I/home/user/src/Arduino/libraries/FreeRTOS/src /home/user/src/Arduino/libraries/FreeRTOS/src/timers.c -o /tmp/arduino_build_266848/libraries/FreeRTOS/timers.c.o
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-g++ -c -g -Os -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard -I/home/user/src/Arduino/libraries/FreeRTOS/src /home/user/src/Arduino/libraries/FreeRTOS/src/variantHooks.cpp -o /tmp/arduino_build_266848/libraries/FreeRTOS/variantHooks.cpp.o
Compiling core...
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-gcc -c -g -x assembler-with-cpp -flto -MMD -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard /home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/wiring_pulse.S -o /tmp/arduino_build_266848/core/wiring_pulse.S.o
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-gcc -c -g -Os -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard /home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/wiring_analog.c -o /tmp/arduino_build_266848/core/wiring_analog.c.o
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-gcc -c -g -Os -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard /home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/wiring_digital.c -o /tmp/arduino_build_266848/core/wiring_digital.c.o
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-gcc -c -g -Os -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard /home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/wiring.c -o /tmp/arduino_build_266848/core/wiring.c.o
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-gcc -c -g -Os -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard /home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/wiring_pulse.c -o /tmp/arduino_build_266848/core/wiring_pulse.c.o
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-gcc -c -g -Os -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard /home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/WInterrupts.c -o /tmp/arduino_build_266848/core/WInterrupts.c.o
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-gcc -c -g -Os -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard /home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/hooks.c -o /tmp/arduino_build_266848/core/hooks.c.o
/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-gcc -c -g -Os -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERNONE -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard /home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/wiring_shift.c -o /tmp/arduino_build_266848/core/wiring_shift.c.o
/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/wiring.c:113:8: error: #error "No millis timer selected, but not disabled - can't happen!".
       #error "No millis timer selected, but not disabled - can't happen!".
        ^~~~~
/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/wiring.c:142:4: error: #error "no millis timer selected"
   #error "no millis timer selected"
    ^~~~~
/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/wiring.c:156:7: error: expected expression before 'uint32_t'
       uint32_t m = timer_millis;
       ^~~~~~~~
/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/wiring.c:185:1: error: expected ',' or ';' before 'unsigned'
 unsigned long millis()
 ^~~~~~~~
exit status 1

Best,
Flössie

EEPROM library not working

Arduino 1.8.13, macOS 10.13.6

AVR128DA28 DIP package w/Optiboot

EEPROM writes not sticking, e.g.

EEPROM[34] = 10;
Serial.println(EEPROM[34]); // prints 255

I haven't got jtag2updi working so I set the fuses and programmed the bootloader using pyupdi. I based the fuse settings on the avrdude command line displayed by Tools->Burn Bootloader

Everything else seems to be working so far.

Edited to add -------

avr-libc routines don't work either, e.g.

#include <avr/eeprom.h>

  if (eeprom_is_ready()) {
    eeprom_write_byte((uint8_t *)1, 22);
    eeprom_busy_wait();
    Serial.println(eeprom_read_byte((uint8_t *)1));
  }

Use DxCore with AVR128DA48 Curiosity Nano Evaluation Kit?

Is it possible to use the DxCore with the AVR128DA48 Curiosity Nano Evaluation Kit?

https://www2.mouser.com/ProductDetail/Microchip-Technology/DM164151

I tried uploading Blink, after selecting Atmel nEDBG (ATSAMD21E18/Curiosity) from the Programmer menu, but get:

avrdude: bad response to AVR sign-on command: 0xa0
avrdude: retrying with external reset applied
avrdude: bad response to AVR sign-on command: 0xa0
avrdude: retrying with external reset applied
avrdude: JTAGEN fuse disabled?
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

jtag2updi compilation errors (any avrdx target)

When compiling the jtag2updi firmware, getting multiple warnings:
#warning "Part not supported - if you didn't provide all the needed pin definitions, that's why it's not compiling"
Using DxCore 1.1.0-a with Windows 10 and Arduino 1.8.13

Pull in TCD0 PWM enhancements from megaTinyCore

some pwm enhancements and fixes recently went into megaTinyCore relating to TCD0 PWM. They should be pulled in here; it is a drop-in change, though we want to get the compiletime sanitychecking implemented first, as those changes go into the same functions and we should get both of them in at the same time.

EEPROM addressing goes wrong above 256 bytes

The following demo program illustrates this. It should write into the 512 bytes of EEPROM on an AVR128DA48:

0 0 1 1 2 2 3 3 4 4 ..... 255 255

Program:

#include <EEPROM.h>

void setup() {
  Serial1.begin(9600);
}

void loop() {
  for (int i=0; i<512; i++) EEPROM.write(i, i/2);
  Serial1.println("Read");
  delay(1000);
  for (int i=0; i<512; i++) { Serial1.print(EEPROM.read(i)); Serial1.print(' '); }
  Serial1.println();
  delay(1000);
}

Output:

Read
128 128 129 129 130 130 131 131 132 132 133 133 134 134 135 135 136 136 137 137 138 138 139 139 140 140 141 141 142 142 143 143 144 144 145 145 146 146 147 147 148 148 149 149 150 150 151 151 152 152 153 153 154 154 155 155 156 156 157 157 158 158 159 159 160 160 161 161 162 162 163 163 164 164 165 165 166 166 167 167 168 168 169 169 170 170 171 171 172 172 173 173 174 174 175 175 176 176 177 177 178 178 179 179 180 180 181 181 182 182 183 183 184 184 185 185 186 186 187 187 188 188 189 189 190 190 191 191 192 192 193 193 194 194 195 195 196 196 197 197 198 198 199 199 200 200 201 201 202 202 203 203 204 204 205 205 206 206 207 207 208 208 209 209 210 210 211 211 212 212 213 213 214 214 215 215 216 216 217 217 218 218 219 219 220 220 221 221 222 222 223 223 224 224 225 225 226 226 227 227 228 228 229 229 230 230 231 231 232 232 233 233 234 234 235 235 236 236 237 237 238 238 239 239 240 240 241 241 242 242 243 243 244 244 245 245 246 246 247 247 248 248 249 249 250 250 251 251 252 252 253 253 254 254 255 255 128 128 129 129 130 130 131 131 132 132 133 133 134 134 135 135 136 136 137 137 138 138 139 139 140 140 141 141 142 142 143 143 144 144 145 145 146 146 147 147 148 148 149 149 150 150 151 151 152 152 153 153 154 154 155 155 156 156 157 157 158 158 159 159 160 160 161 161 162 162 163 163 164 164 165 165 166 166 167 167 168 168 169 169 170 170 171 171 172 172 173 173 174 174 175 175 176 176 177 177 178 178 179 179 180 180 181 181 182 182 183 183 184 184 185 185 186 186 187 187 188 188 189 189 190 190 191 191 192 192 193 193 194 194 195 195 196 196 197 197 198 198 199 199 200 200 201 201 202 202 203 203 204 204 205 205 206 206 207 207 208 208 209 209 210 210 211 211 212 212 213 213 214 214 215 215 216 216 217 217 218 218 219 219 220 220 221 221 222 222 223 223 224 224 225 225 226 226 227 227 228 228 229 229 230 230 231 231 232 232 233 233 234 234 235 235 236 236 237 237 238 238 239 239 240 240 241 241 242 242 243 243 244 244 245 245 246 246 247 247 248 248 249 249 250 250 251 251 252 252 253 253 254 254 255 255

Default state of "MVIO on PORTC" menu option

The initial state of the MVIO on PORTC menu option seems to be Enabled.

Wouldn't it be more logical to swap the order of the options, and make the default state Disabled, as this is the setting without an explicit fuse change?

Consider if any of the wacky possibilities with clock on event are useful for millis

Imagine you dedicated two type B timers for millis()/micros(), in the cascade (32-bit input capture) configuration. You now have 32-bit counter right there, and you can take a "snapshot" of it with an event (like, oh, software strobe)... if you clocked the low timer from event too....? Run it from TCD0 OVF, prescale by 4 or 8 for 16 or 32 system clock, set TCD top to 3999 - or use a TCA or third TCB? Bunch of ways to maneuver that, and you could still generate PWM if it was TCD0 or a TCA, just have to be a bit more clever... (it's all shifts to convert from 255ths to 4000ths.... TCD and the TCBs could all capture on same event? And you could have an all-hardware-no-interrupt millis... I think you can also use self-interacting LUTs to generate event signal derived from the system clock that is effectively prescaled clock (that 2 or 4 cycle delay from filter being the key), and clock TCBs from that? There is a lot of bizarre for doing weird stuff with it...

Make optiboot fit in 512b!

It already fits on the 32k parts, and I'm 7 instruction words away from 512b on the 64k ones, and 15 instruction words away on the 128k ones....

TCB2 disable and onboard ATSAMD21E18 Programmer use?

Hello,

I would like to ask why the timer TCB2 cannot be switched off? In the board selection menu this is provided, but it causes a compiler error. I want to configure all timers myself and I also need the TCB2 interrupt vector which remains blocked. Can you implement the millis/micros "disabled" internally real? So that no millis and no PWM is active by default.

I also want to ask if you can extend the controller package to flash the AVR128DB48 Curiosity Nano Board via USB?

MCUdude has this built into its MegaCoreX package. You select the Atmel nEDBG (ATSAMD21E18) on the board as programmer and can flash via USB as usual. Would that be possible? The SAMD21 is the same. https://github.com/MCUdude/MegaCoreX#curiosity-nano

Otherwise, best thanks for the controller package.

Error in 1.30 manual install

Just upgrading my install from some (working) previous version. Deleted existing under sketchbook/hardware and copied over files from downloaded 1.3.0 DxCore-master.zip.

On opening boards manager to check:

Could not find boards.txt in /Users/xx/Documents/Arduino/hardware/megaavr/libraries. Is it pre-1.5?
Could not find boards.txt in /Users/xx/Documents/Arduino/hardware/megaavr/bootloaders. Is it pre-1.5?
Could not find boards.txt in /Users/xx/Documents/Arduino/hardware/megaavr/cores. Is it pre-1.5?
Could not find boards.txt in /Users/xx/Documents/Arduino/hardware/megaavr/extras. Is it pre-1.5?

Randomly copying .txt files around results in multiple entries in Tools menu and compilation errors.

Which .txt files should be in which subdirectories ?

Thanks.

Arduino IDE 1.8.13
macOS 10.13.6 High Sierra

Support for AVR128DA48 Curiosity Nano

Can you support the AVR128DA48 Curiosity Nano? The upload should work like the ATMEGA4809 Curiosity Nano, it is the same chip for UPDI Debug. Atmel nEDBG, see MegaCoreX.

[Question] Why have separate manual and boards manager release?

I see you're doing this for this core, megaTinyCore, and ATTinyCore. Why not only do one release, and instead make the release script remove the avr/megaavr folder?

For reference, here's the release script I'm using. All I do is to publish a new release and run the script. It pulls the latest release, removes the avr/megaavr folder, compresses it into an archive again, and appends the json file.

I just had a look at your ReleaseScripts repo, but I couldn't really find the script you're using. Are you doing the boards manager stuff manually?

Compiler error for non 128K parts

Great to see the new DxCore release!
All 128K parts compile fine, but getting errors for the 64K and 32K parts.
(I'm using a AVR32DA28 on a SOIC breakout)

We need Wire1 library that is compatible with Wire

Edit by Spence The version of the Wire1 library referred to here has been pulled from the core for v 1.3.3 and later, since it was unfit for any purpose largely due to this issue. We still really should have a Wire1 library, and the one to which @MCUdude links is an example of how this has been done on classic AVR cores. We need the same thing here, but I don't really know how to approach it. If anyone here does, you'd be a hero if you could lend a hand on this front... Thanks!

As you already know, the Wire1 library really doesn't have anything to do with the Wire library. They are separate libraries, and they have different class names, TwoWire and TwoWire1. This is fine if you're using the library as it is, but not so good if it is used within a library or passed through a constructor like I know lots of the Adafruit libraries do. In this example, there is no easy way to use the TWI1 hardware with the MCP4725 library.

The Wire and Wire1 libraries should ideally come from the same class, TwoWire. This may sound like a difficult task, but it has already been done for MiniCore (ATmega328PB) and MightyCore (ATmega324PB). @asukiaaa was so kind and did all the hard work for me a while ago. It should at least be considered 🙂

avrdude: jtagmkII_paged_write(): fatal timeout/error communicating with programmer (status -1)

Hi!

Using jtag2updi on an ATMega328p with a FTDI231. After successfully burning the bootloader to an AVR128DA64 I get the following error:

avrdude: jtagmkII_paged_write(): timeout/error communicating with programmer (status -1)
avrdude: jtagmkII_paged_write(): fatal timeout/error communicating with programmer (status -1)

I tested the chip using MPLABX and a PICkit4 and it programs fine.

Might worth mentioning on fuse5 and fuse6 i get an error when burning the bootloader:

avrdude: reading input file "0b11001001"
avrdude: writing fuse5 (1 bytes):

Writing | ################################################## | 100% 0.02s

avrdude: 1 bytes of fuse5 written
avrdude: verifying fuse5 memory against 0b11001001:
avrdude: load data fuse5 data from input file 0b11001001:
avrdude: input file 0b11001001 contains 1 bytes
avrdude: reading on-chip fuse5 data:

Reading | ################################################## | 100% 0.02s

avrdude: verifying ...
avrdude: WARNING: invalid value for unused bits in fuse "fuse5", should be set to 1 according to datasheet
This behaviour is deprecated and will result in an error in future version
You probably want to use 0xf2 instead of 0xc9 (double check with your datasheet first).
avrdude: 1 bytes of fuse5 verified
avrdude: reading input file "0x03"
avrdude: writing fuse6 (1 bytes):

Writing | ################################################## | 100% 0.02s

avrdude: 1 bytes of fuse6 written
avrdude: verifying fuse6 memory against 0x03:
avrdude: load data fuse6 data from input file 0x03:
avrdude: input file 0x03 contains 1 bytes
avrdude: reading on-chip fuse6 data:

Reading | ################################################## | 100% 0.02s

avrdude: verifying ...
avrdude: WARNING: invalid value for unused bits in fuse "fuse6", should be set to 1 according to datasheet
This behaviour is deprecated and will result in an error in future version
You probably want to use 0xf8 instead of 0x03 (double check with your datasheet first).
avrdude: 1 bytes of fuse6 verified

split up init() into weakly defined sub-functions

These should optimize away with no space or performance cost - but they will enable myriad enhancements by allowing libraries or user code to override pieces of the initialization process in order to provide new functionality or prevent the core init() functions from interfering with desired behavior. Should be trivial to implement, will first add to megaTinyCore.

Add support for higher clock speeds to builtin neopixel library

I've calculated the delays. The constraints that were so tight at 8 MHz give way to busy-wait loops at 24+

Of course, some of this work may end up being unnecessary - it remains to be seen how far we can push the clock speed on these... but I;m an optimist :-P

Writing to flash from app w/out bootloader

We do not have enough flash to do it the "usual" way here with the do_nvmctrl

But that's A-OK because there is a much more graceful and powerful way to do it. There is only one operation to which the write protection applies, and that is to the SPM or SPM Z+ instruction (or ST if operating through the mapped flash, which is bugged on AVR128DA hardware currently, and since that's what most people are playing with, a solution that is bugged for them isn't ideal)

So, just before the Optiboot version (ie, at 0x01FA), I put two instructions : SPM RET. That means an application-writing-to-flash would set up the NVMCTRL.CTRLA register and then jump into an inline assembly snippet to stuff the values into r0 and r1 (why did avr-gcc have to pick r1 as their known zero, when the manufacturer uses r0 and r1 for so much special stuff?), set the z pointer to the target address - just like they were going to call SPM themselves - but instead, JMP to 0x1FA bootloader section executes the SPM instruction and then returns...The implementation can also be better aligned with the chip's capabilities than the rather awkward previous optiboot method.

This will be implemented in the flashwrite.h library alongside the latest bootloader versions.

So - the next question is whether we can do something similar without the bootloader? What if we made APPCODE really small, and like almost everything reside in APPDATA so it could be rewritten freely as long as the actual SPM instruction was near the beginning of the program. The only problem I am aware of is that eeprom would also need a workaround, since APPDATA can't write to EEPROM naturally.

SPI1 library doesn't work

I attempted to copy the SPI library, replacing every instance of SPI with SPI1. On Wire, despite having to do it to more files, and far more functions, this worked fine, but my SPI1 library gets WACKY errors. Anyone want to look at it and see what the hell I did wrong?

SPI compilation errors (avrdx28 and avrdx32 targets)

Compiling library "SPI" /Users/xxx/Library/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 -Wno-error=narrowing -MMD -flto -mmcu=avr128da28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdx28 -DARDUINO_ARCH_MEGAAVR -DMILLIS_USE_TIMERB2 -DSIMPLE_ADC_WORKAROUND -I/Users/xxx/Library/Arduino15/packages/DxCore/hardware/megaavr/1.1.0/cores/dxcore/api/deprecated -I/Users/xxx/Library/Arduino15/packages/DxCore/hardware/megaavr/1.1.0/cores/dxcore -I/Users/xxx/Library/Arduino15/packages/DxCore/hardware/megaavr/1.1.0/variants/28pin-standard -I/Users/xxx/Library/Arduino15/packages/DxCore/hardware/megaavr/1.1.0/libraries/Wire/src -I/Users/xxx/Documents/Arduino/libraries/Streaming/src -I/Users/xxx/Documents/Arduino/libraries/Adafruit_MCP23017_Arduino_Library -I/Users/xxx/Documents/Arduino/libraries/AccelStepper/src -I/Users/xxx/Documents/Arduino/libraries/MCP3017AccelStepper -I/Users/xxx/Documents/Arduino/libraries/CBUS2515/src -I/Users/xxx/Documents/Arduino/libraries/CBUS/src -I/Users/xxx/Documents/Arduino/libraries/CBUSLED/src -I/Users/xxx/Documents/Arduino/libraries/CBUSSwitch/src -I/Users/xxx/Documents/Arduino/libraries/CBUSconfig/src -I/Users/xxx/Documents/Arduino/libraries/ACAN2515/src -I/Users/xxx/Library/Arduino15/packages/DxCore/hardware/megaavr/1.1.0/libraries/SPI/src -I/Users/xxx/Documents/Arduino/libraries/LedControl/src -I/Users/xxx/Library/Arduino15/packages/DxCore/hardware/megaavr/1.1.0/libraries/EEPROM/src /Users/xxx/Library/Arduino15/packages/DxCore/hardware/megaavr/1.1.0/libraries/SPI/src/SPI.cpp -o /var/folders/03/s3pv8qk91w78m4_st_nbxl5m0000gn/T/arduino_build_578598/libraries/SPI/SPI.cpp.o /Users/xxx/Library/Arduino15/packages/DxCore/hardware/megaavr/1.1.0/libraries/SPI/src/SPI.cpp: In member function 'bool SPIClass::pins(uint8_t, uint8_t, uint8_t, uint8_t)': /Users/xxx/Library/Arduino15/packages/DxCore/hardware/megaavr/1.1.0/libraries/SPI/src/SPI.cpp:68:19: error: 'PIN_SPI_MOSI_PINSWAP_1' was not declared in this scope if(pinMOSI == PIN_SPI_MOSI_PINSWAP_1 && pinMISO == PIN_SPI_MISO_PINSWAP_1 && pinSCK == PIN_SPI_SCK_PINSWAP_1 && pinSS == PIN_SPI_SS_PINSWAP_1) ^~~~~~~~~~~~~~~~~~~~~~ /Users/xxx/Library/Arduino15/packages/DxCore/hardware/megaavr/1.1.0/libraries/SPI/src/SPI.cpp:68:19: note: suggested alternative: 'PIN_WIRE_SDA_PINSWAP_2' if(pinMOSI == PIN_SPI_MOSI_PINSWAP_1 && pinMISO == PIN_SPI_MISO_PINSWAP_1 && pinSCK == PIN_SPI_SCK_PINSWAP_1 && pinSS == PIN_SPI_SS_PINSWAP_1) ^~~~~~~~~~~~~~~~~~~~~~ PIN_WIRE_SDA_PINSWAP_2 /Users/xxx/Library/Arduino15/packages/DxCore/hardware/megaavr/1.1.0/libraries/SPI/src/SPI.cpp:68:56: error: 'PIN_SPI_MISO_PINSWAP_1' was not declared in this scope if(pinMOSI == PIN_SPI_MOSI_PINSWAP_1 && pinMISO == PIN_SPI_MISO_PINSWAP_1 && pinSCK == PIN_SPI_SCK_PINSWAP_1 && pinSS == PIN_SPI_SS_PINSWAP_1) ^~~~~~~~~~~~~~~~~~~~~~ /Users/xxx/Library/Arduino15/packages/DxCore/hardware/megaavr/1.1.0/libraries/SPI/src/SPI.cpp:68:56: note: suggested alternative: 'PIN_WIRE_SDA_PINSWAP_2' if(pinMOSI == PIN_SPI_MOSI_PINSWAP_1 && pinMISO == PIN_SPI_MISO_PINSWAP_1 && pinSCK == PIN_SPI_SCK_PINSWAP_1 && pinSS == PIN_SPI_SS_PINSWAP_1) ^~~~~~~~~~~~~~~~~~~~~~ PIN_WIRE_SDA_PINSWAP_2 /Users/xxx/Library/Arduino15/packages/DxCore/hardware/megaavr/1.1.0/libraries/SPI/src/SPI.cpp:68:92: error: 'PIN_SPI_SCK_PINSWAP_1' was not declared in this scope if(pinMOSI == PIN_SPI_MOSI_PINSWAP_1 && pinMISO == PIN_SPI_MISO_PINSWAP_1 && pinSCK == PIN_SPI_SCK_PINSWAP_1 && pinSS == PIN_SPI_SS_PINSWAP_1) ^~~~~~~~~~~~~~~~~~~~~ /Users/xxx/Library/Arduino15/packages/DxCore/hardware/megaavr/1.1.0/libraries/SPI/src/SPI.cpp:68:92: note: suggested alternative: 'PIN_WIRE_SCL_PINSWAP_2' if(pinMOSI == PIN_SPI_MOSI_PINSWAP_1 && pinMISO == PIN_SPI_MISO_PINSWAP_1 && pinSCK == PIN_SPI_SCK_PINSWAP_1 && pinSS == PIN_SPI_SS_PINSWAP_1) ^~~~~~~~~~~~~~~~~~~~~ PIN_WIRE_SCL_PINSWAP_2 /Users/xxx/Library/Arduino15/packages/DxCore/hardware/megaavr/1.1.0/libraries/SPI/src/SPI.cpp:68:126: error: 'PIN_SPI_SS_PINSWAP_1' was not declared in this scope if(pinMOSI == PIN_SPI_MOSI_PINSWAP_1 && pinMISO == PIN_SPI_MISO_PINSWAP_1 && pinSCK == PIN_SPI_SCK_PINSWAP_1 && pinSS == PIN_SPI_SS_PINSWAP_1) ^~~~~~~~~~~~~~~~~~~~ /Users/xxx/Library/Arduino15/packages/DxCore/hardware/megaavr/1.1.0/libraries/SPI/src/SPI.cpp:68:126: note: suggested alternative: 'PIN_WIRE_SDA_PINSWAP_2' if(pinMOSI == PIN_SPI_MOSI_PINSWAP_1 && pinMISO == PIN_SPI_MISO_PINSWAP_1 && pinSCK == PIN_SPI_SCK_PINSWAP_1 && pinSS == PIN_SPI_SS_PINSWAP_1) ^~~~~~~~~~~~~~~~~~~~ PIN_WIRE_SDA_PINSWAP_2

Not urgent; just trying out an existing project.

IDE 1.8.13, macOS 10.13.6, compiling for AVR128DA28

Update : error occurs with avrdx28 and avrdx32 targets; avrdx48 and avrdx64 seem ok.

Serial is unstable under some circumstances

Came out of #32 - I think the fix we need was luckily already implemented on megaTinyCore with the massive refactoring of Serial. This will also get us higher maximum serial speed, too. I had a terrible suspicion that the way it messed with interrupt priority was a disaster waiting to happen (and indeed which started happening in an issue report around the time I was fixing it...) can produce far more severely broken behavior in readily accessible situations on DxCore as well, to the point where I am inclined to consider Serial totally busted here. This is an extremely high priority issue!

`initVariant()` in `variants/28pin-standard/pins_arduino.h`

Hi DrAzzy,

You define initVariant() in variants/28pin-standard/pins_arduino.h. This doesn't seem to work in conjunction with the Arduino_FreeRTOS_Library which overrides the weak symbol:

/home/user/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azzy1/bin/avr-g++ -c -g -Os -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=avr128db28 -DF_CPU=24000000L -DARDUINO=10813 -DARDUINO_avrdb -DARDUINO_ARCH_MEGAAVR -DDXCORE=1.1.1 -DDXCORE_MAJOR=1UL -DDXCORE_MINOR=2UL -DDXCORE_PATCH=0UL -DDXCORE_RELEASED=1 -DMILLIS_USE_TIMERB2 -DCLOCK_SOURCE=0 -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/api/deprecated -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore -I/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard -I/home/user/src/Arduino/libraries/FreeRTOS/src /home/user/src/Arduino/libraries/FreeRTOS/src/variantHooks.cpp -o /tmp/arduino_build_424638/libraries/FreeRTOS/variantHooks.cpp.o
/home/user/src/Arduino/libraries/FreeRTOS/src/variantHooks.cpp: In function 'void initVariant()':
/home/user/src/Arduino/libraries/FreeRTOS/src/variantHooks.cpp:46:6: error: redefinition of 'void initVariant()'
 void initVariant(void)
      ^~~~~~~~~~~
In file included from /home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/UART.h:28:0,
                 from /home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/cores/dxcore/Arduino.h:223,
                 from /home/user/src/Arduino/libraries/FreeRTOS/src/variantHooks.cpp:33:
/home/user/.arduino15/packages/DxCore/hardware/megaavr/1.2.0-a/variants/28pin-standard/pins_arduino.h:323:6: note: 'void initVariant()' previously defined here
 void initVariant() { }
      ^~~~~~~~~~~

I had a look at MiniCore, which compiles fine with the Arduino_FreeRTOS_Library. There it's done in main.cpp. Moving

void initVariant() __attribute__((weak));
void initVariant() { }

from 1.2.0-a/variants/28pin-standard/pins_arduino.h to 1.2.0-a/cores/dxcore/main.cpp solves the problem.

Best,
Flössie

No pinout for AVR DB series

As the question states, there is no pinout image for any MCU from the DB-series.

I am planning to migrate from AVR128DA64 to AVR128DB64 in my project so as a second question, how does the pinout and peripheral pins differ from the DA-series and DB-series MCUs I mentioned?

Thank you.

DAC documentation correction

Your example for using the DAC should either be:

// enable DAC
DAC0.CTRLA |= DAC_OUTEN_bm | DAC_ENABLE_bm;

// write value to DAC
DAC0.DATA=(dacvalue<<6);

// disable DAC
DAC0.CTRLA &= ~(DAC_OUTEN_bm | DAC_ENABLE_bm);

or:

// enable DAC
DAC0.CTRLA |= (1<<DAC_OUTEN_bp) | (1<<DAC_ENABLE_bp);

// write value to DAC
DAC0.DATA=(dacvalue<<6);

// disable DAC
DAC0.CTRLA &= ~((1<<DAC_OUTEN_bp) | (1<<DAC_ENABLE_bp));

`specs-avr128db28` missing?

Hi DrAzzy,

I've just got some t1614 and AVR128DB28 from Microchip direct. I smoothly got started with the t1614, but now I've got a problem with the AVR-DB using DxCore. Whenever I try to compile, I get this:

avr-g++: error: device-specs/specs-avr128db28: No such file or directory

I've got IDE 1.8.13 and DxCore 1.2.0. Do I need to update the Arduino toolchain?

Thanks,
Flössie

Do SPI correctly

Came out of #32.

We cannot do what we had hoped with an SPI_1 library; although better implementation of that functionality could work, unlike the current implementation (which is basically unusable in all situations in which it would be desirable), the fact that io.h names the peripheral SPI1, which is what libraries expect the library controlling it to be makes this approach untenable. Too many libraries with too many users are already present in the wild.

Instead, SPI.swap() will be adapted to take an argument of the form (USE_SPIn | pinswap), where n is 0 or 1; USE_SPI0, USE_SPI1 will be defined by SPI.h as (n<<4), that is 0x00 and 0x10. This is of particular importance for 28 and 32-pin parts, especially where an external clock or crystal is used; in that case, the only pins available for SPI0 are shared with the USART0 alternate pins, and USART0 default pins are used by the external clock source. As using a different serial port for Serial would represent a confusing departure from convention, this would be an inevitable pain point for users - this seems to be the best approach here (and it's up to the user if they want to do something with both ports at once - I think that this use case basically doesn't exist)

Undefined reference to `ccp_write_io()`

Hi DrAzzy,

I'm using your DxCore 1.2.0-a under Linux with an AVR128DB28. When trying to use the ccp_write_io() function from <avr/cpufunc.h> I get a linker error.

I'm looking for a workaround right now. Just wanted to get you informed...

Best,
Flössie

Workaround for "ADC disables digital input" not working

On an AVR128DA28 I can't get PD0 to work as an input. For example, an LED on PA7 doesn't light with the following example:

void setup() {
  pinMode(12, INPUT_PULLUP);              // PD0
  pinMode(7, OUTPUT);                     // PA7
}

void loop() {
 if (digitalRead(12) == HIGH) digitalWrite(7, HIGH); else digitalWrite(7, LOW);
 delay(1000);
}

It works if you do:

analogRead(7);

in setup().

Missing EEPROM library

Just tried compiling an existing project for DxCore and tripped over the missing EEPROM.h.

What's the status of this library ? Possible ? Coming ? Not happening ?

Not the end of the world as my design has optional outboard I2C EEPROM, but support for the on-chip EEPROM would be nice.

I tried searching through the repo and google.

Thanks.

IDE 1.8.13, macOS 10.13.6, compiling for AVR128DA28 w/ Optiboot.

Things relating to pinout images

Discovered what I'd uploaded had too much whitespace, but by then github was caching it, so had to upload both fixed copy, and one with new name to fool the cache.

Remember to remove one with altered name before next release - cache will have updated by then.

Also, FFS, the images need to be pulled from future board manager releases. There is no need to make people download 30MB of high-res images that will be hidden in a not-meant-to-be-used-by-humans Arduino15 folder...

Can we condense the number of options on the boards menu?

The menu is already getting kinda long, the entries are almost identical, and the DD series is still on the way.... I'm pretty sure it can be shrunk waaaay down.... (and no, I didn't add all those entries manually. Hurray for regex find + replace)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.