2.0.0-dev latest status #655
Replies: 13 comments 3 replies
-
Well, I fucked something up reaaaal good. It's ignoring the include guard on arduino,h and failing to include header files right and left. I'm not really sure what I did, but I'm pretty sure it was trying to fix the constrain error more gracefully.. Zero progress since the last update near the beginning of the weekend, I;m going to have to revert a bunch of files and start over. |
Beta Was this translation helpful? Give feedback.
-
Okay, things are back on track, software serial works. Significant optimization was carried out on hardware serial. Several new boards.txt issues have been turned up and fixed, Hoping I can get burn bootloader to work on boards with an ULP oscillator in short order. digitalWrite is definitely broken on parts with a PUE register, trying to understand why that is. . PrintHex has been pulled in from megaTinyCore, formatting of a few files with deviant bracket style have been corrected, There had always been a fake core called "empty" as part of the core; I'm unsure why it was felt to be needed. It is removed. So yeah there's been a lot of progress, but also a lot of problems. some issues with the micronucleus binaries were corrected (or ones that I found by inspection were - I have yet to get even known working micronucleus boards to work on my system so far though, so I haven't actually tested anything (and this computer hadn't previously used them since before it's hdd failed last year) I've got a half dozen USB hubs that I can try, but I have to change out the connector on a power brick to get the power supply which I don't have for any of the USB hubs! |
Beta Was this translation helpful? Give feedback.
-
Serial baud rates are correct, digital I/O works on 841 and non-841 parts, and likely everywhere tinySoftSerial new version is tested working, same with hardware serial, which now takes up less flash and less ram. I just pushed 12 commits covering changes to close to 200 files, so if you're helping test, this would be a good time to grab the latest code again. |
Beta Was this translation helpful? Give feedback.
-
AND the Optiboot bootloader .hex file count looks like it will be at minimum.... 479 builds. Give or take a few dozen - I think I may have missed a clock or two, and included a few optiboot options I have declared aren't supported.. And that is for just 13 chips, for an average of over 36 binaries per chip! megaTinyCore supports 37 parts with 22 binaries! it needs fewer bootloader binaries in total that ATTinyCore needs PER CHIP This is just insane, seriously, ditching fuses for clock configuration hence allowing a single bootloader to work for multiple speed on the modern AVRs was a miracle..... |
Beta Was this translation helpful? Give feedback.
-
Actually looks like the real number is 532 binaries to build. |
Beta Was this translation helpful? Give feedback.
-
And are all these bootloaders really used in the field? When people use a configuration with some exotic external crystal wouldn't that be the case where they program them without a bootloader, I always assumed the bootloader folks are for 99% the ones that buy the AT85 with a USB port on a Adafruit/Aliexpress board. |
Beta Was this translation helpful? Give feedback.
-
some are, some aren't. Optiboot bootloaders are popular on 1634/841 because they've got the hardware uart. Not sure how many people are actually using non-standard clocks - but it should 100% work on parts without hardware serial, and it certainly did in the past. But I have no idea if they get used. But in any event, since boards.txt is being autogenerated, so must be the Makefile.tiny and makeall.tiny.bat - and it's in a way easier to support all the clock speeds than a subset of them at that point, 362 of 532 are building. The 87's and x61's are not. Both are problems with the static, not dynamically generated, makefiles I think, and I tink both will be reasonably easy to fix. The ATTiny with USB on gets micronucleus, it doesn't have a serial adapter on the board. For micronucleus there were only like 200 binaries because I restricted it to a single clock speed (micronucleus can only be run at a small number of clock speeds), there the list was bloated by the 8 entry conditiosn and the fact that someone has made an 841 board with almost every possible permutation of the pins on port B used for some bootloader functionality. Micronucleus definitions are mostly for boards that do exist and are commercially available. I suspect the majority of 167 and 88 users are using micronucleus since boards for those are available on the major markets. 85's I don't know, there arethe most of those on market sites, but they are also by far the most popular tiny among hobbyists.. For whatever reason, nobody picked up the 841 and went large on it, though there have been several that are sold on small scales. There are two that do not exist in the wild: the 861 and the 1634. The 861 has the same PLL as the 85, it is it's destiny to support Micronucleus. And the 1634 is the best classic tiny and can afford to throw flash down a rathole so it deserves micronucleus too. Oh, and I'm making boards for those two forgotten tinies to support micronucleus - or I will be if I can make the damned things work... |
Beta Was this translation helpful? Give feedback.
-
Optiboot is now built and in 2.0.0-dev branch! Known issues: Tone is busted on 861 and probably 85 - it is setting OCR1C incorrectly. |
Beta Was this translation helpful? Give feedback.
-
Currently we have only two known issues, Optiboot speeds on 828 are fucked up I just checked in a few more optimizations for both types of serial, and fixed a few chips which weren't compiling at all. That's getting mighty close to release. The biggest blocking issue right now is that I don;t know how to adapt the CI for compiletesting to ATTinyCore. With this many parts, automated testing is needed, just like it is on my other cores. And travis is long-dead. |
Beta Was this translation helpful? Give feedback.
-
It would be great if issue#692, that I reported 15 minutes back can be fixed in usi_twi_master.c, which is included with this core’s port of Wire library. |
Beta Was this translation helpful? Give feedback.
-
I already have a different fix that doesn't break fastmode, it is definitely going into 2.0.0, I just need to do some test compiles with it tomake sure I didn't fuck somethingup bad |
Beta Was this translation helpful? Give feedback.
-
We really, really, really need a way to run automated compile regression testing,.that is the biggest scariest blocking issue for 2.0.0=dev, as there are now hopelessly too many combinations to test by hand. I used to havea day job in software test. I became less and less capable as they automated more and more, and they fired me a few months ago (no hard feelings, I would have fired me too, I wasn't competent with the automation centric testing paradigm. |
Beta Was this translation helpful? Give feedback.
-
On DxCore and megaTinyCore an assortment of settings chosen to maximize cocverage is run after every commit. Uses github actions. but ATTinyCore has an order of magnitude more test cases that all need to be run because as far as I can tell they chose features pin locations, regnister layouts and design parameters with a dart board after the company holiday party so nothing's consistent between parts. And there;s that third bootloader. If I didn't shit at automatiing I'd have my day job still, but I do, so basically, there is no testing whatsoever now that whatever since travis shut down. I have at least one of every part supported assembled ona breakout board of my own design, but does very little. to help. The github tests run in the cloud, I am considering moving to local tests ifor attinycore due to the 100 job limit and lack of hardware testing, as a great many problems come out in the upload command. I have a spare computer that could be pressed into service, Might ned one of those million port USB hubs. but like.... the rest is all software. Sofrware I don'tr know how to write. I will probably need to be generated by a script like what creates boards.txt |
Beta Was this translation helpful? Give feedback.
-
All Micronucleus bootloaders are untested. Need to test at least one version per part .There are 289 binaries so 100% testing coverage is not a reasonable goal.
A lot of things need basic sanity checks - does analog write work? Do the programmers work?
Generally try to compile shit that used to work, Make sure it still does.
ALMOST EVERY FILE has undergone MASSIVE CHANGES, in many cases total rewrites.
The docs need to be proofread for incorrect, out of date, or wrong information, and for tone.
This has been a huge amount of work. I really appreciate anything that folks can do to help get this thing ready for release.
Beta Was this translation helpful? Give feedback.
All reactions