diff --git a/ChangeLog.md b/ChangeLog.md index e065b31f..a7c6729a 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -117,7 +117,7 @@ Any changes listed at the top, without a version number above thenm, have not be * Fix ATtiny2313/2313A related issues (getting the #defines from the headers for the A, while still being able to upload) * PLL as Timer1 clock source now actually enables the PLL. * noTone() now correctly cleans up after Tone(). -* Signifiant cleanup in wiring.c +* Significant cleanup in wiring.c * Included Servo library now works with PLL as Timer1 clock source (trivial fix - I clearly never looked into it when I merged in the 8-bit servo code!). Now it also lets you use Servo if you have external crystal running at unsupported speed if you use the PLL for Timer1... * Major improvements to part-specific documentation pages. * Remove the HAVE_BOOTLOADER mechanism, which existed to clean up timer registers that a bootloader may have left configured. Neither Optiboot not Micronucleus do this, so HAVE_BOOTLOADER had no function. Is now commented out in the pins_arduino's where it existed, as is the code it enabled. Saves a small amount of flash, and makes init() in wiring.c far easier to follow once the do-nothing code isn't visible. diff --git a/avr/bootloaders/optiboot/source/optiboot.c b/avr/bootloaders/optiboot/source/optiboot.c index 70a6b73b..07fa0b5e 100644 --- a/avr/bootloaders/optiboot/source/optiboot.c +++ b/avr/bootloaders/optiboot/source/optiboot.c @@ -108,7 +108,7 @@ /* Use AVR305 soft-UART instead of hardware UART. */ /* */ /* LED_START_FLASHES: */ -/* Number of LED flashes on bootup. */ +/* Number of LED flashes on boot-up. */ /* */ /* LED_DATA_FLASH: */ /* Flash LED when transferring data. For boards without */ diff --git a/avr/extras/ATtiny_x7.md b/avr/extras/ATtiny_x7.md index f8b4deb1..7ebc9725 100644 --- a/avr/extras/ATtiny_x7.md +++ b/avr/extras/ATtiny_x7.md @@ -174,7 +174,7 @@ Mironucleus used: Micronucleus boards are locked to the crystal, no oscillator c | Temperature Slope | FLASHEND | ### Purchasing ATtiny167 Boards -I (Spence Konde / Dr. Azzy) sell ATtiny167 boards through my Tindie store - your purchases support the continued development of this core. A new version is now available. In order to fit in the same form factor as my other tinyAVR breakout boards, these use the TSSOP-20 package version insteaad of the bulky SOIC-20. +I (Spence Konde / Dr. Azzy) sell ATtiny167 boards through my Tindie store - your purchases support the continued development of this core. A new version is now available. In order to fit in the same form factor as my other tinyAVR breakout boards, these use the TSSOP-20 package version instead of the bulky SOIC-20. * Azduino Tiny167 Pro - bare board - pending verification of functionality. * Azduino Tiny167 Pro - pending verification and assembly. * Ultramini - fits a DIP-24 socket - pending verification of functionality. diff --git a/avr/extras/ci/codespell-ignore-words-list.txt b/avr/extras/ci/codespell-ignore-words-list.txt index 05374c1c..37f9d029 100644 --- a/avr/extras/ci/codespell-ignore-words-list.txt +++ b/avr/extras/ci/codespell-ignore-words-list.txt @@ -1,3 +1,4 @@ rcall hart aci +shiftIn diff --git a/avr/extras/ioheaders/README.md b/avr/extras/ioheaders/README.md index 38b081e5..bae0f534 100644 --- a/avr/extras/ioheaders/README.md +++ b/avr/extras/ioheaders/README.md @@ -95,7 +95,7 @@ We have only included headers for parts that this core supports. Meaning: ## From the Manufactuer's Changelog Note that most of these changes, since they post-date the release of most classic tinies, contain mostly information relevant only to modern AVRs. "AVR8X" devices are modern AVRs. The modern AVRs include all tinyAVR devices with 3 or 4 digit part numbers where a 0, 1, or 2 is in the tens place, a 2, 4, 5, or 7 is in the ones place, and the remaining 1 or 2 digits are equal to a power of two indicating flash size. Those parts have all new peripherals and a different instruction set variant and are supported by [megaTinyCore](https://github.org/SpenceKonde/megaTinyCore) not ATTinyCore. Most of them could also beat the stuffing out of not only classic tinyAVRs, but entry level ATmegas like the 328p. -We're now using the latest versions of the headers as of end of Q1 2023. The version history for pre 2.x.x versions has been formatted to match the formatting of the 2.0.368 changelog for improved readability. Really, there's not that much of note in these changes for the classic tinyAVRs (at least that we know of - they have a history of occasionally airbrushing out embarrasing oversights, like leaving the addresses and bitfield names for self-test peripherals, or revealing information about features that were "removed" only after the start of production, and hence only removed from the datasheet. They generally still leave the old versions of the headers up, but they don't call attention to the changes). This has revealed small secrets about the Dx-series, EA-series, and tinyAVR 2-series for certain, and likely happened with older parts in the past. Unfortunately the ATpacks only go back to 2015. +We're now using the latest versions of the headers as of end of Q1 2023. The version history for pre 2.x.x versions has been formatted to match the formatting of the 2.0.368 changelog for improved readability. Really, there's not that much of note in these changes for the classic tinyAVRs (at least that we know of - they have a history of occasionally airbrushing out embarrassing oversights, like leaving the addresses and bitfield names for self-test peripherals, or revealing information about features that were "removed" only after the start of production, and hence only removed from the datasheet. They generally still leave the old versions of the headers up, but they don't call attention to the changes). This has revealed small secrets about the Dx-series, EA-series, and tinyAVR 2-series for certain, and likely happened with older parts in the past. Unfortunately the ATpacks only go back to 2015. ```text diff --git a/avr/extras/tinyNeoPixel.md b/avr/extras/tinyNeoPixel.md index 667a337b..5e38794c 100644 --- a/avr/extras/tinyNeoPixel.md +++ b/avr/extras/tinyNeoPixel.md @@ -172,7 +172,7 @@ Data is sent at 800 kbit/s, or 100k byte/s - 33,333 LEDs/s. Latching takes 50us All individually addressable LEDs marketed as WS2811/2812/SK6812 or SK6805, as well as those claimed to be compatible with such strips are expected to work (supposedly P943S, P9411, SM16703, UCS1903, TM1804 are some examples; they are almost always mis-sold as WS2811/2812 or SK6812). I am aware of no comprehensive list - as soon as the WS281x's got popular, everyone started cloning them, abd there are in excess of a dozen (not counting examples of the identical die mounted in a different shaped package). Most of these have no english datasheet. Usually the only English on the datasheet is the timing diagram, which is an exact copy of the one WorldSemi used. Clones that are WS2811-like (that is, it is a standard IC which must be connected to discrete LEDs constitute the majority by number of models - though it appears that WS2812-like (integrated) constitute a large majority by total quantity produced. Integrating the IC die with the LED poses some technical challenges, which caused problems when these first came out. -These clones sometimes vary in thresholds of their timing (I have, for example, seen cases where a controller would only drive one of the two types, particularly if the oscillator is not exactly on the frequency target. I have never seen one that couldn't use the output of other "2812-alikes"). They also sometimes vary in the maximum voltage that can be seen at their outputs (12V units like the 2811 can be used to drive 3 LEDs of each color in series, at a lower current). However, with the exception of the SK6812/6805 and WS281x (as well as the APA102 and it's clones), none have achieved significant name recognition in the western world. I'm sure we're buying plenty of them - but not under their real names/part numbers. The WS2812 and SK6812 names are used almost interchangibly when finished devices are sold - regardless of which one is used (be it SK68xx, WS2812B, or some randome no-name clone). +These clones sometimes vary in thresholds of their timing (I have, for example, seen cases where a controller would only drive one of the two types, particularly if the oscillator is not exactly on the frequency target. I have never seen one that couldn't use the output of other "2812-alikes"). They also sometimes vary in the maximum voltage that can be seen at their outputs (12V units like the 2811 can be used to drive 3 LEDs of each color in series, at a lower current). However, with the exception of the SK6812/6805 and WS281x (as well as the APA102 and it's clones), none have achieved significant name recognition in the western world. I'm sure we're buying plenty of them - but not under their real names/part numbers. The WS2812 and SK6812 names are used almost interchangibly when finished devices are sold - regardless of which one is used (be it SK68xx, WS2812B, or some random no-name clone). One thing that is worh noting is that although competent people, over time, have debated whether SK6812 or WS2812B's (the B is rarely seen in marketing material now, and I don't think non-B WS2812's are made anymore) are better, there has been no consensus. The non-B's were clearly inferior, being failure prone and requiring additional connections, and the WS2813 and WS2815 are clearly superior, with the additional backup data line and (on the '15s) 12v operation - but cost significantly more. While WorldSemi deserves some credit for originality, having been the first to make such a device, and have addressed the "old school christmas light problem" where one light goes out and the whole string after it does with the WS2813/15, the SK6812's have a much greater variety of LEDs available: They now come in in RGBW and RGBWW (warm white) 4-color versions, a WWA (Cool White, Warm White, Amber) version, and have been shrunken down to package sizes as small as 1.5mm square, and are available in side facing packages. Note that these are guesses based on the catalogs of vendors who openly sell both SK6812's and WS2812's in the same listing, which makes it unlikely that they'd be lying about the model of the IC.