Big News - ATTinyCore 2.0.0 boards.txt is nearly ready! #648
Replies: 14 comments 9 replies
-
The manual install (documentation) looks a whole lot simpler than for Megatinycore and since that one worked, I should be able to test some stuff. |
Beta Was this translation helpful? Give feedback.
-
Yeah since the parts aren't recent releases, there;s no crap with having to update the toolchain,which I assume is what you refer to, There is now a usable boards.txt as well as almost all of the new stuff checked into the V2.0.0-dev branch. Everything is at least compiling bare minimum, I think. We need CI set up here, like what I've got on DxCore and megaTinyCore, since travis stopped doing it's thing ages ago. And there are still no bootloader binaries (for either bootloader) |
Beta Was this translation helpful? Give feedback.
-
The abomination that generates boards.txt is create_boards_txt.py in avr/extras/development. To state the obvious, I am a pretty crap python programmer. |
Beta Was this translation helpful? Give feedback.
-
Would be great, if one could have a menu entry "Optimize for debugging" in order to use the compiler switch "-Og". I can send you an PR, if you want. Along the same line: It would be great to export the ELF file together with the HEX file (in platform.txt). |
Beta Was this translation helpful? Give feedback.
-
Would the optimize for -Og switch want to be used in place of -Os? That sort of thing could be done; I didn't even realize that elves were helpful for debugging. If you want to give a PR, that'd be great, but just remember to make that PR against the v2.0.0-dev branch, and that changes to boards.txt are not persisted - changes need to go in the script in avr/extras/development. I'd also certainly welcome more eyes on the v2.0.0 codebase as we move in the direction of releasing (I've nearly got the micronucleus binaries ready.... 2.0.0 will be supplied with only 120 Micronucleus hex files, (there are 10 entry conditions, and 7 boards, but 2 of them have 3 variants, another has 2. There are 8 optiboot boards, 2 of which can have either of two serial ports used, and one of which has 3 serial configurations - but they can run at 1MHz, 8 MHz, 6 MHz, 12 MHz, 16 MHz, or 20 MHz plus like 8 different uart crystal speeds, AND there are two entry conditions AND most chips have two flash size options! so the build will involve like 600+ files being generated. It's absurd. There's a reason I have to script the generation of build scripts... And that's optiboot for 14 classic tinyAVR parts. wanna know how many I have to supply with megaTinyCore? To support all 35 parts? |
Beta Was this translation helpful? Give feedback.
-
I also tried to load the 2.0.0 dev branch in my github desktop, but unlike the master branch it will not accept my username password. I am using this link to clone the repository into Github Desktop |
Beta Was this translation helpful? Give feedback.
-
There, I've just checked in 272 (untested, obviously) micronucleus binaries and newly generated boards.txt it which uses these files and fixes some other problems. Oh and I got rid of the tinySoftSerial warning and saved 50 bytes of flash there. |
Beta Was this translation helpful? Give feedback.
-
Tinysoftserial error
After a "fetch origin" it's gone. no more warning when compiling empty sketch |
Beta Was this translation helpful? Give feedback.
-
Yeah, I fixed that one a few hours ago, and saved 50 bytes of flash by
using a byte instead of an int to represent a value that will always be
between 0 and 32 on all supported parts.....
…On Wed, Jan 26, 2022 at 4:06 AM Hans ***@***.***> wrote:
Tinysoftserial error
E:\Arduino\arduino-1.8.13-attinycore\portable\sketchbook\hardware\ATTinyCore\avr\cores\tiny\TinySoftwareSerial.cpp:37:44: warning: always_inline function might not be inlinable [-Wattributes]
__attribute__((always_inline)) uint8_t getch() {
^~~~~
After a "fetch origin" it's gone. no more warning when compiling empty
sketch
—
Reply to this email directly, view it on GitHub
<#648 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABTXEW2WNZTOFME2CZ2PEBTUX62PTANCNFSM5MR62SYQ>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you authored the thread.Message ID:
***@***.***>
--
____________
Spence Konde
Azzy’S Electronics
New products! Check them out at tindie.com/stores/DrAzzy
GitHub: github.com/SpenceKonde
ATTinyCore <https://github.com/SpenceKonde/ATTinyCore>: Arduino support for
all pre-2016 tinyAVR with >2k flash!
megaTinyCore <https://github.com/SpenceKonde/megaTinyCore>: Arduino support
for all post-2016 tinyAVR parts!
DxCore <https://github.com/SpenceKonde/DxCore>: Arduino support for the AVR
Dx-series parts, the latest and greatest from Microchip!
Contact: ***@***.***
|
Beta Was this translation helpful? Give feedback.
-
Where do you want the V2 bugs to be posted? e.g. this one with the "constrain" command. On the "master" version below code compiles fine, but in the V2 dev it throws an error.
results in error when compiling on V2.0.0-dev
|
Beta Was this translation helpful? Give feedback.
-
For the Attiny85 it seems the INTERNAL voltage reference definition has changed. When using I get this error in V2.0.0-dev.
|
Beta Was this translation helpful? Give feedback.
-
Wonderful. I know how to fix all of those. I think fix for the warnings in,
the type of one 8s easy, happened on the other cores when they went to
c++17, because I used c++ instead of gnu++standard. And I guess I slipped
while standardizing the ref names
…____________
Spence Konde
Azzy’S Electronics
New products! Check them out at tindie.com/stores/DrAzzy
GitHub: github.com/SpenceKonde
ATTinyCore: Arduino support for almost every ATTiny microcontroller
Contact: ***@***.***
On Wed, Jan 26, 2022, 06:52 Hans ***@***.***> wrote:
For the Attiny85 it seems the INTERNAL voltage reference definition has
changed.
When using analogReference(INTERNAL);
I get this error in V2.0.0-dev.
In file included from E:\Arduino\arduino-1.8.13-attinycore\portable\sketchbook\hardware\ATTinyCore\avr\cores\tiny/Arduino.h:280:0,
from C:\Users\Hans\AppData\Local\Temp\arduino_build_576278\sketch\sketch_jan26a.ino.cpp:1:
C:\Users\Hans\AppData\Local\Temp\arduino_modified_sketch_868185\sketch_jan26a.ino: In function 'void setup()':
E:\Arduino\arduino-1.8.13-attinycore\portable\sketchbook\hardware\ATTinyCore\avr\variants\tinyx5/pins_arduino.h:147:30: error: 'INTERNAL' was not declared in this scope
#define INTERNAL INTERNAL
^
C:\Users\Hans\AppData\Local\Temp\arduino_modified_sketch_868185\sketch_jan26a.ino:3:17: note: in expansion of macro 'INTERNAL'
analogReference(INTERNAL);
^~~~~~~~
—
Reply to this email directly, view it on GitHub
<#648 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABTXEW2BEIFCMVP2IGRYQELUX7N6HANCNFSM5MR62SYQ>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Fixed wire is checked in. That was basically the whole 3-4 hours. 25 changed files with 1,057 additions and 1,161 deletions. because Arduino.h and all the variant files excepot the tinyx8 needed to be modified. |
Beta Was this translation helpful? Give feedback.
-
Durrrrr... C++ 17 stuff. |
Beta Was this translation helpful? Give feedback.
-
This was the main issue blocking merging of 2.0.0 to master, and the start of field testing by my loyal
guinea pigsusers here!By the end of this weekend I expect to have a boards.txt available that will look more or less like what the final one will, it will be merged into master (resulting in several misguided PR'ed changes being lost). and ATTinyCore 2.0.0 will be ready for testing by those willing to do manual installation. I expect there to be shedloads of bugs as large portions of the code have been rewritten neary from scratch and there has been zero testing because there hasn't been a boards.txt
It will NOT be hand edited - there is a script to generate it in the hopes of eliminating inconsistencies and the constant copy/paste errors that plague hand-edited boards.txt files. (I don't think I could have made a file format more prone to such errors if I tried), and that script will be in the repo (and it is HIDEOUS, and someone who's competent at python could surely make it vastly better without much work.
What will not be ready by the end of the weekend? Bootloaders.
Optiboot will not take that long (the script to generate the makefile is easy-peasy compared to boards.txt)
Micronucleus will take some more time, especially in order to support the two new parts, though I do not expect them to pose a particular problem.. All parts will have several entry condition options, and some will additionally have USB pin configuration options (the 841 and likely the 84 exist in two versions, with the D+ and D- pins swapped. (yup, really). I would like to have the reset-disable option available, but that raises the question of what to do if someone uses the bootloader "upgrade" functionality with a part set to only enter the bootloader of reset pin reset, but they've disabled reset.
There will NOT be an option to disable reset when burning Optiboot due to the bug in the implemention of virtual boot that soft-bricks boards too often for production use, even if ISP programming is possible; an option to disable reset on optiboot while that bug is there is something I cannot do with a clear conscience,
Beta Was this translation helpful? Give feedback.
All reactions