platformio / platform-atmelavr

Atmel AVR: development platform for PlatformIO
https://registry.platformio.org/platforms/platformio/atmelavr
Apache License 2.0
139 stars 105 forks source link

Prepare for MicroCore ATtiny13 support #194

Closed MCUdude closed 4 years ago

MCUdude commented 4 years ago

I've tried to do as much as I can, but I can't really figure out how I can get PlatformIO to fetch the latest MicroCore release (1.0.6) directly from GitHub. Anyways this PR will cover most of the work required to get proper MicroCore support. This PR will close #193.

A quick note: I've removed the attiny13a.json file because it shares the same device signature as the ATtiny13, so they could and should use the same manifest file. If a user needs to compile for ATtiny13, it's just a matter of changing the board_build.mcu parameter.

Another ATtiny13a issue. The Avrdude.conf file PlatformIO is using does not support ´attiny13a´, only attiny13, so you're not able to upload if your build_board.mcu target is an ATtiny13a. The reason one would build for ATtiny13A is that it has extended power save registers. If you want you can borrow the code from MicroCore and add it to the avrdude.conf file PlatformIO uses. Sorry for not providing a PR on this, but I couldn't find the file here on Github.

If this is fixed, we should change the default build mcu from "mcu": "attiny13" to "mcu": "attiny13a" in order to be able to use the extended power save registers on chips that have them.

I also suggest that MicroCore becomes the default core for ATtiny13, while Core13 is available by adding board_build.core = Core13 to platformio.ini.

MCUdude commented 4 years ago

@valeros I've also created a PlatformIO readme that MicroCore users can use as a reference when setting up their PlatformIO project:

https://github.com/MCUdude/MicroCore/blob/master/PlatformIO.md

valeros commented 4 years ago

Looks great! But I'm not sure about this:

A quick note: I've removed the attiny13a.json file because it shares the same device signature as the ATtiny13, so they could and should use the same manifest file. If a user needs to compile for ATtiny13, it's just a matter of changing the board_build.mcu parameter.

I'm not sure why they were split up looks like a legacy thing. Is it a problem if we keep both manifests? The only reason is that we don't want to break projects that already use attiny13a as the board.

If you want you can borrow the code from MicroCore and add it to the avrdude.conf file PlatformIO uses.

Thanks, I'll update our avrdude.conf.

MCUdude commented 4 years ago

I'm not sure why they have split up looks like a legacy thing. Is it a problem if we keep both manifests? The only reason is that we don't want to break projects that already use attiny13a as the board.

I do get that you don't want to break existing projects. I can add the attiny13a.json file to this PR.

Thanks, I'll update our avrdude.conf.

Great! Where do you host this file? I wasn't able to find it, even though I searched for it.

valeros commented 4 years ago

Where do you host this file? I wasn't able to find it, even though I searched for it.

There is no separate repository for this file, it's managed internally and shipped together with tool-avrdude package. https://bintray.com/platformio/dl-packages/tool-avrdude

MCUdude commented 4 years ago

Thanks! Let me know if there is more I can do to help out getting MicroCore support up and running 🙂

MCUdude commented 4 years ago

@valeros is there anything left that needs to be figured out before this can be merged? If so, please let me know so I can help out if possible! 🙂

valeros commented 4 years ago

Many thanks!

MCUdude commented 4 years ago

Thanks @valeros!

However, there's a small issue. PlatformIO can't find pins_arduino.h, even though it's there:

Processing attiny13 (platform: https://github.com/platformio/platform-atmelavr.git; framework: arduino; board: ATtiny13)
-----------------------------------------------------------------------------------------------------------------------------------
PlatformManager: Installing platform-atmelavr
git version 2.25.0
Cloning into '/Users/hans/.platformio/platforms/_tmp_installing-lbWjVq-package'...
remote: Enumerating objects: 273, done.
remote: Counting objects: 100% (273/273), done.
remote: Compressing objects: 100% (231/231), done.
remote: Total 273 (delta 199), reused 57 (delta 26), pack-reused 0
Receiving objects: 100% (273/273), 61.93 KiB | 755.00 KiB/s, done.
Resolving deltas: 100% (199/199), done.
atmelavr @ 9970ad0 has been successfully installed!
The platform 'https://github.com/platformio/platform-atmelavr.git' has been successfully installed!
The rest of packages will be installed automatically depending on your build environment.
PackageManager: Installing framework-arduino-avr-microcore @ ~1.0.6
framework-arduino-avr-microcore @ 1.0.6 has been successfully installed!
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/ATtiny13.html
PLATFORM: Atmel AVR 2.1.0 #9970ad0 > ATtiny13
HARDWARE: ATTINY13 9MHz, 64B RAM, 1KB Flash
DEBUG: Current (simavr) On-board (simavr)
PACKAGES: 
 - framework-arduino-avr-microcore 1.0.6 
 - toolchain-atmelavr 1.50400.190710 (5.4.0)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 4 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
Compiling .pio/build/attiny13/src/main.cpp.o
Compiling .pio/build/attiny13/FrameworkArduino/HalfDuplexSerial.cpp.o
Compiling .pio/build/attiny13/FrameworkArduino/Print.cpp.o
Compiling .pio/build/attiny13/FrameworkArduino/Tone.cpp.o
In file included from /Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/Print.cpp:30:0:
/Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/Arduino.h:22:26: fatal error: pins_arduino.h: No such file or directory

**********************************************************************
* Looking for pins_arduino.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:pins_arduino.h"
* Web  > https://platformio.org/lib/search?query=header:pins_arduino.h
*
**********************************************************************

compilation terminated.
In file included from /Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/Tone.cpp:25:0:
/Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/Arduino.h:22:26: fatal error: pins_arduino.h: No such file or directory

**********************************************************************
* Looking for pins_arduino.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:pins_arduino.h"
* Web  > https://platformio.org/lib/search?query=header:pins_arduino.h
*
**********************************************************************

compilation terminated.
In file included from /Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/HalfDuplexSerial.cpp:24:0:
/Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/Arduino.h:22:26: fatal error: pins_arduino.h: No such file or directory

**********************************************************************
* Looking for pins_arduino.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:pins_arduino.h"
* Web  > https://platformio.org/lib/search?query=header:pins_arduino.h
*
**********************************************************************

In file included from src/main.cpp:1:0:
/Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/Arduino.h:22:26: fatal error: pins_arduino.h: No such file or directory

**********************************************************************
* Looking for pins_arduino.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:pins_arduino.h"
* Web  > https://platformio.org/lib/search?query=header:pins_arduino.h
*
**********************************************************************

compilation terminated.
compilation terminated.
*** [.pio/build/attiny13/FrameworkArduino/HalfDuplexSerial.cpp.o] Error 1
*** [.pio/build/attiny13/FrameworkArduino/Tone.cpp.o] Error 1
*** [.pio/build/attiny13/src/main.cpp.o] Error 1
*** [.pio/build/attiny13/FrameworkArduino/Print.cpp.o] Error 1
=================================================== [FAILED] Took 4.35 seconds ===================================================
The terminal process terminated with exit code: 1

I have no idea why though...

valeros commented 4 years ago

That's strange, I cannot reproduce the issue. Could you please compile in verbose mode? Maybe there is a conflict between installed atmelavr platforms?

MCUdude commented 4 years ago

Sure!

Hanss-MacBook-Pro-2:attiny13_test hans$ pio run -v
Processing attiny13 (platform: https://github.com/platformio/platform-atmelavr.git; framework: arduino; board: ATtiny13; board_build.f_cpu: 9600000L; board_hardware.oscillator: internal; board_hardware.bod: 2.7v; board_hardware.eesave: yes; board_build.variant: standard; build_unflags: -flto; build_flags: ; upload_protocol: usbtiny; upload_flags: -Pusb; monitor_speed: 9600)
-----------------------------------------------------------------------------------------------------------------------------------
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/ATtiny13.html
PLATFORM: Atmel AVR 2.1.0 #9970ad0 (git+https://github.com/platformio/platform-atmelavr.git) > ATtiny13
HARDWARE: ATTINY13 9MHz, 64B RAM, 1KB Flash
DEBUG: Current (simavr) On-board (simavr)
PACKAGES: 
 - framework-arduino-avr-microcore 1.0.6 
 - toolchain-atmelavr 1.50400.190710 (5.4.0)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 4 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
avr-g++ -o .pio/build/attiny13/src/main.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -mmcu=attiny13 -DPLATFORMIO=40303 -DARDUINO_AVR_ATTINY13 -DF_CPU=9600000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Iinclude -Isrc -I/Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore -I/Users/hans/.platformio/packages/framework-arduino-avr-microcore/variants/standard src/main.cpp
avr-gcc-ar rc .pio/build/attiny13/libFrameworkArduinoVariant.a
avr-g++ -o .pio/build/attiny13/FrameworkArduino/HalfDuplexSerial.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -mmcu=attiny13 -DPLATFORMIO=40303 -DARDUINO_AVR_ATTINY13 -DF_CPU=9600000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -I/Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore -I/Users/hans/.platformio/packages/framework-arduino-avr-microcore/variants/standard /Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/HalfDuplexSerial.cpp
avr-gcc-ranlib .pio/build/attiny13/libFrameworkArduinoVariant.a
avr-g++ -o .pio/build/attiny13/FrameworkArduino/Print.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -mmcu=attiny13 -DPLATFORMIO=40303 -DARDUINO_AVR_ATTINY13 -DF_CPU=9600000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -I/Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore -I/Users/hans/.platformio/packages/framework-arduino-avr-microcore/variants/standard /Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/Print.cpp
avr-g++ -o .pio/build/attiny13/FrameworkArduino/Tone.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -mmcu=attiny13 -DPLATFORMIO=40303 -DARDUINO_AVR_ATTINY13 -DF_CPU=9600000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -I/Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore -I/Users/hans/.platformio/packages/framework-arduino-avr-microcore/variants/standard /Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/Tone.cpp
In file included from /Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/Print.cpp:30:0:
/Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/Arduino.h:22:26: fatal error: pins_arduino.h: No such file or directory

**********************************************************************
* Looking for pins_arduino.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:pins_arduino.h"
* Web  > https://platformio.org/lib/search?query=header:pins_arduino.h
*
**********************************************************************

compilation terminated.
In file included from src/main.cpp:1:0:
/Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/Arduino.h:22:26: fatal error: pins_arduino.h: No such file or directory

**********************************************************************
* Looking for pins_arduino.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:pins_arduino.h"
* Web  > https://platformio.org/lib/search?query=header:pins_arduino.h
*
**********************************************************************

compilation terminated.
In file included from /Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/HalfDuplexSerial.cpp:24:0:
/Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/Arduino.h:22:26: fatal error: pins_arduino.h: No such file or directory

**********************************************************************
* Looking for pins_arduino.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:pins_arduino.h"
* Web  > https://platformio.org/lib/search?query=header:pins_arduino.h
*
**********************************************************************

compilation terminated.
*** [.pio/build/attiny13/src/main.cpp.o] Error 1
*** [.pio/build/attiny13/FrameworkArduino/Print.cpp.o] Error 1
*** [.pio/build/attiny13/FrameworkArduino/HalfDuplexSerial.cpp.o] Error 1
In file included from /Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/Tone.cpp:25:0:
/Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/Arduino.h:22:26: fatal error: pins_arduino.h: No such file or directory

**********************************************************************
* Looking for pins_arduino.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:pins_arduino.h"
* Web  > https://platformio.org/lib/search?query=header:pins_arduino.h
*
**********************************************************************

compilation terminated.
*** [.pio/build/attiny13/FrameworkArduino/Tone.cpp.o] Error 1
=================================================== [FAILED] Took 1.11 seconds ===================================================
MCUdude commented 4 years ago

Here's a screenshot from VSCode. The microcore variant is not called standard, it's called attiny13.

Skjermbilde 2020-05-27 20 39 21
MCUdude commented 4 years ago

Well, I tried to edit this file, but it still won't compile.

Executing task: platformio run --verbose <

Processing attiny13 (platform: https://github.com/platformio/platform-atmelavr.git; framework: arduino; board: ATtiny13A; board_build.f_cpu: 9600000L; board_hardware.oscillator: internal; board_hardware.bod: 2.7v; board_hardware.eesave: yes; board_build.variant: standard; build_unflags: -flto; build_flags: ; upload_protocol: usbtiny; upload_flags: -Pusb; monitor_speed: 9600)
-----------------------------------------------------------------------------------------------------------------------------------
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/ATtiny13A.html
PLATFORM: Atmel AVR 2.1.0 #9970ad0 (git+https://github.com/platformio/platform-atmelavr.git) > ATtiny13A
HARDWARE: ATTINY13A 9MHz, 64B RAM, 1KB Flash
DEBUG: Current (simavr) On-board (simavr)
PACKAGES: 
 - framework-arduino-avr-microcore 1.0.6 
 - toolchain-atmelavr 1.50400.190710 (5.4.0)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 4 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
avr-g++ -o .pio/build/attiny13/src/main.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -mmcu=attiny13a -DPLATFORMIO=40303 -DARDUINO_AVR_ATTINY13 -DF_CPU=9600000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Iinclude -Isrc -I/Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore -I/Users/hans/.platformio/packages/framework-arduino-avr-microcore/variants/standard src/main.cpp
avr-g++ -o .pio/build/attiny13/FrameworkArduino/HalfDuplexSerial.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -mmcu=attiny13a -DPLATFORMIO=40303 -DARDUINO_AVR_ATTINY13 -DF_CPU=9600000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -I/Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore -I/Users/hans/.platformio/packages/framework-arduino-avr-microcore/variants/standard /Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/HalfDuplexSerial.cpp
In file included from /Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/HalfDuplexSerial.cpp:24:0:
/Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/Arduino.h:22:26: fatal error: pins_arduino.h: No such file or directory

**********************************************************************
* Looking for pins_arduino.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:pins_arduino.h"
* Web  > https://platformio.org/lib/search?query=header:pins_arduino.h
*
**********************************************************************

In file included from src/main.cpp:1:0:
/Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/Arduino.h:22:26: fatal error: pins_arduino.h: No such file or directory

**********************************************************************
* Looking for pins_arduino.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:pins_arduino.h"
* Web  > https://platformio.org/lib/search?query=header:pins_arduino.h
*
**********************************************************************

compilation terminated.
compilation terminated.
avr-g++ -o .pio/build/attiny13/FrameworkArduino/Print.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -mmcu=attiny13a -DPLATFORMIO=40303 -DARDUINO_AVR_ATTINY13 -DF_CPU=9600000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -I/Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore -I/Users/hans/.platformio/packages/framework-arduino-avr-microcore/variants/standard /Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/Print.cpp
*** [.pio/build/attiny13/FrameworkArduino/HalfDuplexSerial.cpp.o] Error 1
avr-g++ -o .pio/build/attiny13/FrameworkArduino/Tone.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -mmcu=attiny13a -DPLATFORMIO=40303 -DARDUINO_AVR_ATTINY13 -DF_CPU=9600000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -I/Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore -I/Users/hans/.platformio/packages/framework-arduino-avr-microcore/variants/standard /Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/Tone.cpp
In file included from /Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/Print.cpp:30:0:
/Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/Arduino.h:22:26: fatal error: pins_arduino.h: No such file or directory

**********************************************************************
* Looking for pins_arduino.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:pins_arduino.h"
* Web  > https://platformio.org/lib/search?query=header:pins_arduino.h
*
**********************************************************************

compilation terminated.
*** [.pio/build/attiny13/src/main.cpp.o] Error 1
*** [.pio/build/attiny13/FrameworkArduino/Print.cpp.o] Error 1
In file included from /Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/Tone.cpp:25:0:
/Users/hans/.platformio/packages/framework-arduino-avr-microcore/cores/MicroCore/Arduino.h:22:26: fatal error: pins_arduino.h: No such file or directory

**********************************************************************
* Looking for pins_arduino.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:pins_arduino.h"
* Web  > https://platformio.org/lib/search?query=header:pins_arduino.h
*
**********************************************************************

compilation terminated.
*** [.pio/build/attiny13/FrameworkArduino/Tone.cpp.o] Error 1
=================================================== [FAILED] Took 1.23 seconds ===================================================
The terminal process terminated with exit code: 1

Terminal will be reused by tasks, press any key to close it.
valeros commented 4 years ago

Looks like there is something wrong with your current installation of the atmelavr platform. Could you please try to delete all atmelavr folders from /Users/hans/.platformio/platforms, even those with a hash in their name.

MCUdude commented 4 years ago

sorry, sorry! It turned out that I had accidentally forgotten to remove this line in platformio.ini:

board_build.variant = standard

🤦 🤦 🤦

Everything is fine! Thank you for your support, and sorry for being so dumb 😬

MCUdude commented 4 years ago

On the other hand, one thing that isn't currently fixed is that avrdude.conf does not currently support ATtiny13A.

Hanss-MacBook-Pro-2:attiny13_test hans$ pio run -t fuses -v
Processing attiny13 (platform: https://github.com/platformio/platform-atmelavr.git; framework: arduino; board: ATtiny13A; board_build.f_cpu: 9600000L; board_hardware.oscillator: internal; board_hardware.bod: 2.7v; board_hardware.eesave: yes; build_unflags: -flto; build_flags: ; upload_protocol: usbtiny; upload_flags: -Pusb; monitor_speed: 9600)
-----------------------------------------------------------------------------------------------------------------------------------
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/ATtiny13A.html
PLATFORM: Atmel AVR 2.1.0 #9970ad0 (git+https://github.com/platformio/platform-atmelavr.git) > ATtiny13A
HARDWARE: ATTINY13A 9MHz, 64B RAM, 1KB Flash
DEBUG: Current (simavr) On-board (simavr)
PACKAGES: 
 - framework-arduino-avr-microcore 1.0.6 
 - tool-avrdude 1.60300.190628 (6.3.0) 
 - toolchain-atmelavr 1.50400.190710 (5.4.0)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 4 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
Target configuration:
Target = attiny13a, Clock speed = 9600000L, Oscillator = internal, BOD level = 2.7v, UART port = no_bootloader, Save EEPROM = yes
Selected fuses: [lfuse = 0x3a, hfuse = 0xfb]
avrdude -p attiny13a -C "/Users/hans/.platformio/packages/tool-avrdude/avrdude.conf" -c usbtiny -Pusb -Ulock:w:0xff:m -Uhfuse:w:0xfb:m -Ulfuse:w:0x3a:m
avrdude: AVR Part "attiny13a" not found.

Valid parts are:
  uc3a0512 = AT32UC3A0512
  c128     = AT90CAN128
  c32      = AT90CAN32
  c64      = AT90CAN64
  pwm2     = AT90PWM2
  pwm216   = AT90PWM216
  pwm2b    = AT90PWM2B
  pwm3     = AT90PWM3
  pwm316   = AT90PWM316
  pwm3b    = AT90PWM3B
  1200     = AT90S1200
  2313     = AT90S2313
  2333     = AT90S2333
  2343     = AT90S2343
  4414     = AT90S4414
  4433     = AT90S4433
  4434     = AT90S4434
  8515     = AT90S8515
  8535     = AT90S8535
  usb1286  = AT90USB1286
  usb1287  = AT90USB1287
  usb162   = AT90USB162
  usb646   = AT90USB646
  usb647   = AT90USB647
  usb82    = AT90USB82
  m103     = ATmega103
  m128     = ATmega128
  m1280    = ATmega1280
  m1281    = ATmega1281
  m1284    = ATmega1284
  m1284p   = ATmega1284P
  m1284rfr2 = ATmega1284RFR2
  m128rfa1 = ATmega128RFA1
  m128rfr2 = ATmega128RFR2
  m16      = ATmega16
  m161     = ATmega161
  m162     = ATmega162
  m163     = ATmega163
  m164a    = ATmega164A
  m164p    = ATmega164P
  m164pa   = ATmega164PA
  m168     = ATmega168
  m168p    = ATmega168P
  m168pb   = ATmega168PB
  m169     = ATmega169
  m16u2    = ATmega16U2
  m2560    = ATmega2560
  m2561    = ATmega2561
  m2564rfr2 = ATmega2564RFR2
  m256rfr2 = ATmega256RFR2
  m32      = ATmega32
  m324a    = ATmega324A
  m324p    = ATmega324P
  m324pa   = ATmega324PA
  m324pb   = ATmega324PB
  m325     = ATmega325
  m3250    = ATmega3250
  m328     = ATmega328
  m328p    = ATmega328P
  m328pb   = ATmega328PB
  m329     = ATmega329
  m3290    = ATmega3290
  m3290p   = ATmega3290P
  m329p    = ATmega329P
  m32m1    = ATmega32M1
  m32u2    = ATmega32U2
  m32u4    = ATmega32U4
  m406     = ATMEGA406
  m48      = ATmega48
  m48p     = ATmega48P
  m48pb    = ATmega48PB
  m64      = ATmega64
  m640     = ATmega640
  m644     = ATmega644
  m644a    = ATmega644A
  m644p    = ATmega644P
  m644pa   = ATmega644PA
  m644rfr2 = ATmega644RFR2
  m645     = ATmega645
  m6450    = ATmega6450
  m649     = ATmega649
  m6490    = ATmega6490
  m64rfr2  = ATmega64RFR2
  m8       = ATmega8
  m8515    = ATmega8515
  m8535    = ATmega8535
  m88      = ATmega88
  m88p     = ATmega88P
  m88pb    = ATmega88PB
  m8u2     = ATmega8U2
  t10      = ATtiny10
  t11      = ATtiny11
  t12      = ATtiny12
  t13      = ATtiny13
  t15      = ATtiny15
  t1634    = ATtiny1634
  t167     = ATtiny167
  t20      = ATtiny20
  t2313    = ATtiny2313
  t24      = ATtiny24
  t25      = ATtiny25
  t26      = ATtiny26
  t261     = ATtiny261
  t28      = ATtiny28
  t4       = ATtiny4
  t40      = ATtiny40
  t4313    = ATtiny4313
  t43u     = ATtiny43u
  t44      = ATtiny44
  t441     = ATtiny441
  t45      = ATtiny45
  t461     = ATtiny461
  t48      = ATtiny48
  t5       = ATtiny5
  t84      = ATtiny84
  t841     = ATtiny841
  t85      = ATtiny85
  t861     = ATtiny861
  t87      = ATtiny87
  t88      = ATtiny88
  t9       = ATtiny9
  x128a1   = ATxmega128A1
  x128a1d  = ATxmega128A1revD
  x128a1u  = ATxmega128A1U
  x128a3   = ATxmega128A3
  x128a3u  = ATxmega128A3U
  x128a4   = ATxmega128A4
  x128a4u  = ATxmega128A4U
  x128b1   = ATxmega128B1
  x128b3   = ATxmega128B3
  x128c3   = ATxmega128C3
  x128d3   = ATxmega128D3
  x128d4   = ATxmega128D4
  x16a4    = ATxmega16A4
  x16a4u   = ATxmega16A4U
  x16c4    = ATxmega16C4
  x16d4    = ATxmega16D4
  x16e5    = ATxmega16E5
  x192a1   = ATxmega192A1
  x192a3   = ATxmega192A3
  x192a3u  = ATxmega192A3U
  x192c3   = ATxmega192C3
  x192d3   = ATxmega192D3
  x256a1   = ATxmega256A1
  x256a3   = ATxmega256A3
  x256a3b  = ATxmega256A3B
  x256a3bu = ATxmega256A3BU
  x256a3u  = ATxmega256A3U
  x256c3   = ATxmega256C3
  x256d3   = ATxmega256D3
  x32a4    = ATxmega32A4
  x32a4u   = ATxmega32A4U
  x32c4    = ATxmega32C4
  x32d4    = ATxmega32D4
  x32e5    = ATxmega32E5
  x384c3   = ATxmega384C3
  x384d3   = ATxmega384D3
  x64a1    = ATxmega64A1
  x64a1u   = ATxmega64A1U
  x64a3    = ATxmega64A3
  x64a3u   = ATxmega64A3U
  x64a4    = ATxmega64A4
  x64a4u   = ATxmega64A4U
  x64b1    = ATxmega64B1
  x64b3    = ATxmega64B3
  x64c3    = ATxmega64C3
  x64d3    = ATxmega64D3
  x64d4    = ATxmega64D4
  x8e5     = ATxmega8E5
  ucr2     = deprecated, use 'uc3a0512'

*** [fuses] Error 1
=================================================== [FAILED] Took 0.79 seconds ===================================================
valeros commented 4 years ago

Probably you're still using an outdated avrdude package. Could you please run pio platform update atmelavr?

MCUdude commented 4 years ago

That did the trick! Thank you 🙂

BTW when new releases for my cores are available, would you prefer that I opened an issue, or do you want me to provide a PR? All I've seen in this repo is that you've simply changed a version number in some JSON file. Is that all you do when you prepare for a new core release?

valeros commented 4 years ago

I subscribed to your repositories, so I'll see when a new version is released. But feel free to submit a PR if there are changes to the build scripts. BTW, is is possible to rename MCUdude_corefiles folder to something similar to core names used in this platform (e.g. MajorCore)? It'd greatly simplify new releases from our side.

MCUdude commented 4 years ago

BTW, is is possible to rename MCUdude_corefiles folder to something similar to core names used in this platform (e.g. MajorCore)? It'd greatly simplify new releases from our side.

The thing is that I manage multiple cores, so I have split out the corefiles (MCUdude_corefiles) and the bootloader repo (optiboot_flash) into separate repos, and I've included them as subtrees instead. It's much more convenient.

This means that for MightyCore, MiniCore, MegaCore and MajorCore, the share the exact same corefiles and bootloader files. You can use this as an advantage if you want.

The corefiles repo is hosted here: https://github.com/MCUdude/MCUdude_corefiles The bootloader repo is hosted here: https://github.com/MCUdude/optiboot_flash