SpenceKonde / ATTinyCore

Arduino core for ATtiny 1634, 828, x313, x4, x41, x5, x61, x7 and x8
Other
1.58k stars 306 forks source link

Compilation errors when compiling for ATTiny85 using I2C #739

Closed slawrie25 closed 1 year ago

slawrie25 commented 1 year ago

Trying to use a standalone ATTiny85 with the Adafruit MMA8451 accelerometer, example code compiles just fine on version 1.5.2, but not 2.0.0

SpenceKonde commented 1 year ago

Thank you for the report. In order to assist the investigation, can you please: file-> preferences. Under Show Verbose Output During, check both boxes, and under warnings, select "all" (I don't know OTOH whether I've yet rigged the platform.txt over here to always give you warnings even if you ask for no warnings (the reason is that there are far too many things in C that ought to be compile errors, and which 99 times out of 10 indicate that there is a bug there (possibly a latent bug but a bug nonetheless. Since my cores are not supposed to generate warnings (only recently figured out how to make them pragma messages instead of warnings for things like the "hey watch the pinout" warning on parts with multiple pinmapping options. Actually, no, I was told how to do that, I didn't even know it was a think until they told me about it,)

Sorry, got a bit sidetracked Then, reproduce the problem. Copy and paste the full text out of the console and post it here, that will greatly expedite debugging.

And the source code that is not compiling (a minimal example ideally)

Also, a library cannot be uniquely identified by the file name. I've run into several examples of libraries with the same name, that essentially do the same thing, but present a totally different API and are totally different libraries. I even maintain such libraries! There is a Flash.h in megaTinyCore and a Flash.h in DxCore. They both write to flash from the app. They are both named Flash.h. There are no other similarities (the fact that the NVMCTRL is different is only a small part of the reason - we actually were both writing our versions for different architectures (modern AVRs with paged writes and modern AVRs with word writes) at about the same time, and had no knowledge of the others work until each of us were done with our own.

Unless you can reproduce the bug without that library, I need to know not just the name of the library, but where it came from. The way github lets anyone fork anything leads to a sort of version hell:

Github_darkside

Of course, actually, the code you're working with is based on someone who grabbed B's repo after reading his blog post, unaware that updates have since happened to two different versions of the library, while that version has stood still. (do you have any idea how many different, incompatible libraries exist named LiquidCrystal or LiquidCrystal_I2C which are used in projects and written up in blogs across the internet? I would estimate that it is a 3 digit number (in base 10). Worse still, notice that in that diagram, I didn't mention either B or C documenting their changes. It is not unusual to find two github repos, one forked from the other where code files have been changed significantly. The readme is untouched, without the name of the individual who's doing the new work, no explanation of the changes, properties.txt is unmodfied - yet they changed the code dramatically, the libraries are no longer compatible, and the only way to discover that it to try to use it. and then realize that there are a bunch of versions of the library and you don't know which one the original author used to make the code you're using as a reference for how to do something. I recommend that any library you downloaded, when you include it, you should put a comment identifying where the fuck it came from, typically a github URL or the library manager library name and version number.

I got burned by this a few years back. When I suffered a harddrive crash - I had the sketches backed up, but not the libraries. I did not remember which version of the liquid crystal library I used, all I could tell is the file name was the same, and the API totally different, and I wound up having to rewrite the whole UI section of the program, because all the LCD code had to be totally redone because I couldn't find the library I used, which I had incorrectly thought was the most-maintained version (it obviously was far from it).

slawrie25 commented 1 year ago

The library is the "Adafruit MMA8451 Library" v1.2.1 installed from library manger. Sketch is the demo one included in the library. MMA8451demo.zip Running Arduino version 1.8.12. Followng errors are produced when attempting to compile for ATTiny85 (I did use code tags, came out weird though):

`Arduino: 1.8.12 (Windows 10), Board: "ATtiny85/45/25 (No Bootloader), -Os (size, recommended), ATtiny85, 8 MHz (internal), EEPROM retained, RX on PB1, TX on PB (default PB0), B.O.D. Disabled (saves power), Enabled"

C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\sglaw\AppData\Local\Arduino15\packages -hardware C:\Users\sglaw\Documents\Arduino\hardware -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\sglaw\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\sglaw\Documents\Arduino\libraries -fqbn=ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this:avr:attinyx5:optimization=size,chip=85,clock=internal_8m,eesave=aenable,softserial=enable,bod=disable,millis=enabled -ide-version=10812 -build-path C:\Users\sglaw\AppData\Local\Temp\arduino_build_451349 -warnings=all -build-cache C:\Users\sglaw\AppData\Local\Temp\arduino_cache_496344 -prefs=build.warn_data_percentage=75 -verbose C:\Users\sglaw\Documents\Arduino\libraries\Adafruit_MMA8451_Library\examples\MMA8451demo\MMA8451demo.ino C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\sglaw\AppData\Local\Arduino15\packages -hardware C:\Users\sglaw\Documents\Arduino\hardware -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\sglaw\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\sglaw\Documents\Arduino\libraries -fqbn=ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this:avr:attinyx5:optimization=size,chip=85,clock=internal_8m,eesave=aenable,softserial=enable,bod=disable,millis=enabled -ide-version=10812 -build-path C:\Users\sglaw\AppData\Local\Temp\arduino_build_451349 -warnings=all -build-cache C:\Users\sglaw\AppData\Local\Temp\arduino_cache_496344 -prefs=build.warn_data_percentage=75 -verbose C:\Users\sglaw\Documents\Arduino\libraries\Adafruit_MMA8451_Library\examples\MMA8451demo\MMA8451demo.ino Using board 'attinyx5' from platform in folder: C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr Using core 'tiny' from platform in folder: C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr Detecting libraries used... "C:\Users\sglaw\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -Wall -std=gnu++17 -fpermissive -Wno-sized-deallocation -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -mrelax -w -x c++ -E -CC -mmcu=attiny85 -DF_CPU=8000000UL -DCLOCK_SOURCE=0 -DARDUINO=10812 -DARDUINO=10812 -DARDUINO_AVR_ATTINYX5 -DARDUINO_ARCH_AVR "-DATTINYCORE=\"2.0.0-dev\"" -DATTINYCORE_MAJOR=2UL -DATTINYCORE_MINOR=0UL -DATTINYCORE_PATCH=0UL -DATTINYCORE_RELEASED=0 "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\cores\tiny" "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\variants\tinyx5" "C:\Users\sglaw\AppData\Local\Temp\arduino_build_451349\sketch\MMA8451demo.ino.cpp" -o nul Alternatives for Wire.h: [Wire@2.0.0] ResolveLibrary(Wire.h) -> candidates: [Wire@2.0.0] "C:\Users\sglaw\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -Wall -std=gnu++17 -fpermissive -Wno-sized-deallocation -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -mrelax -w -x c++ -E -CC -mmcu=attiny85 -DF_CPU=8000000UL -DCLOCK_SOURCE=0 -DARDUINO=10812 -DARDUINO=10812 -DARDUINO_AVR_ATTINYX5 -DARDUINO_ARCH_AVR "-DATTINYCORE=\"2.0.0-dev\"" -DATTINYCORE_MAJOR=2UL -DATTINYCORE_MINOR=0UL -DATTINYCORE_PATCH=0UL -DATTINYCORE_RELEASED=0 "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\cores\tiny" "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\variants\tinyx5" "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\Wire\src" "C:\Users\sglaw\AppData\Local\Temp\arduino_build_451349\sketch\MMA8451demo.ino.cpp" -o nul Alternatives for Adafruit_MMA8451.h: [Adafruit_MMA8451_Library@1.2.1] ResolveLibrary(Adafruit_MMA8451.h) -> candidates: [Adafruit_MMA8451_Library@1.2.1] "C:\Users\sglaw\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -Wall -std=gnu++17 -fpermissive -Wno-sized-deallocation -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -mrelax -w -x c++ -E -CC -mmcu=attiny85 -DF_CPU=8000000UL -DCLOCK_SOURCE=0 -DARDUINO=10812 -DARDUINO=10812 -DARDUINO_AVR_ATTINYX5 -DARDUINO_ARCH_AVR "-DATTINYCORE=\"2.0.0-dev\"" -DATTINYCORE_MAJOR=2UL -DATTINYCORE_MINOR=0UL -DATTINYCORE_PATCH=0UL -DATTINYCORE_RELEASED=0 "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\cores\tiny" "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\variants\tinyx5" "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\Wire\src" "-IC:\Users\sglaw\Documents\Arduino\libraries\Adafruit_MMA8451_Library" "C:\Users\sglaw\AppData\Local\Temp\arduino_build_451349\sketch\MMA8451demo.ino.cpp" -o nul Alternatives for Adafruit_I2CDevice.h: [Adafruit_BusIO@1.14.1] ResolveLibrary(Adafruit_I2CDevice.h) -> candidates: [Adafruit_BusIO@1.14.1] "C:\Users\sglaw\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -Wall -std=gnu++17 -fpermissive -Wno-sized-deallocation -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -mrelax -w -x c++ -E -CC -mmcu=attiny85 -DF_CPU=8000000UL -DCLOCK_SOURCE=0 -DARDUINO=10812 -DARDUINO=10812 -DARDUINO_AVR_ATTINYX5 -DARDUINO_ARCH_AVR "-DATTINYCORE=\"2.0.0-dev\"" -DATTINYCORE_MAJOR=2UL -DATTINYCORE_MINOR=0UL -DATTINYCORE_PATCH=0UL -DATTINYCORE_RELEASED=0 "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\cores\tiny" "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\variants\tinyx5" "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\Wire\src" "-IC:\Users\sglaw\Documents\Arduino\libraries\Adafruit_MMA8451_Library" "-IC:\Users\sglaw\Documents\Arduino\libraries\Adafruit_BusIO" "C:\Users\sglaw\AppData\Local\Temp\arduino_build_451349\sketch\MMA8451demo.ino.cpp" -o nul Alternatives for Adafruit_Sensor.h: [Adafruit_Unified_Sensor@1.1.7] ResolveLibrary(Adafruit_Sensor.h) -> candidates: [Adafruit_Unified_Sensor@1.1.7] "C:\Users\sglaw\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -Wall -std=gnu++17 -fpermissive -Wno-sized-deallocation -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -mrelax -w -x c++ -E -CC -mmcu=attiny85 -DF_CPU=8000000UL -DCLOCK_SOURCE=0 -DARDUINO=10812 -DARDUINO=10812 -DARDUINO_AVR_ATTINYX5 -DARDUINO_ARCH_AVR "-DATTINYCORE=\"2.0.0-dev\"" -DATTINYCORE_MAJOR=2UL -DATTINYCORE_MINOR=0UL -DATTINYCORE_PATCH=0UL -DATTINYCORE_RELEASED=0 "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\cores\tiny" "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\variants\tinyx5" "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\Wire\src" "-IC:\Users\sglaw\Documents\Arduino\libraries\Adafruit_MMA8451_Library" "-IC:\Users\sglaw\Documents\Arduino\libraries\Adafruit_BusIO" "-IC:\Users\sglaw\Documents\Arduino\libraries\Adafruit_Unified_Sensor" "C:\Users\sglaw\AppData\Local\Temp\arduino_build_451349\sketch\MMA8451demo.ino.cpp" -o nul Using cached library dependencies for file: C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\Wire\src\USI_TWI_Master\USI_TWI_Master.c Using cached library dependencies for file: C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\Wire\src\USI_TWI_Slave\USI_TWI_Slave.c Using cached library dependencies for file: C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\Wire\src\Wire.cpp Using cached library dependencies for file: C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\Wire\src\WireS.cpp Using cached library dependencies for file: C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\Wire\src\twi.c Using cached library dependencies for file: C:\Users\sglaw\Documents\Arduino\libraries\Adafruit_MMA8451_Library\Adafruit_MMA8451.cpp Using cached library dependencies for file: C:\Users\sglaw\Documents\Arduino\libraries\Adafruit_BusIO\Adafruit_BusIO_Register.cpp Alternatives for SPI.h: [SPI@2.0.0] ResolveLibrary(SPI.h) -> candidates: [SPI@2.0.0] Using cached library dependencies for file: C:\Users\sglaw\Documents\Arduino\libraries\Adafruit_BusIO\Adafruit_I2CDevice.cpp Using cached library dependencies for file: C:\Users\sglaw\Documents\Arduino\libraries\Adafruit_BusIO\Adafruit_SPIDevice.cpp Using cached library dependencies for file: C:\Users\sglaw\Documents\Arduino\libraries\Adafruit_Unified_Sensor\Adafruit_Sensor.cpp "C:\Users\sglaw\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -Wall -std=gnu++17 -fpermissive -Wno-sized-deallocation -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -mrelax -w -x c++ -E -CC -mmcu=attiny85 -DF_CPU=8000000UL -DCLOCK_SOURCE=0 -DARDUINO=10812 -DARDUINO=10812 -DARDUINO_AVR_ATTINYX5 -DARDUINO_ARCH_AVR "-DATTINYCORE=\"2.0.0-dev\"" -DATTINYCORE_MAJOR=2UL -DATTINYCORE_MINOR=0UL -DATTINYCORE_PATCH=0UL -DATTINYCORE_RELEASED=0 "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\cores\tiny" "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\variants\tinyx5" "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\Wire\src" "-IC:\Users\sglaw\Documents\Arduino\libraries\Adafruit_MMA8451_Library" "-IC:\Users\sglaw\Documents\Arduino\libraries\Adafruit_BusIO" "-IC:\Users\sglaw\Documents\Arduino\libraries\Adafruit_Unified_Sensor" "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\SPI" "C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\SPI\SPI.cpp" -o nul Generating function prototypes... "C:\Users\sglaw\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -Wall -std=gnu++17 -fpermissive -Wno-sized-deallocation -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -mrelax -w -x c++ -E -CC -mmcu=attiny85 -DF_CPU=8000000UL -DCLOCK_SOURCE=0 -DARDUINO=10812 -DARDUINO=10812 -DARDUINO_AVR_ATTINYX5 -DARDUINO_ARCH_AVR "-DATTINYCORE=\"2.0.0-dev\"" -DATTINYCORE_MAJOR=2UL -DATTINYCORE_MINOR=0UL -DATTINYCORE_PATCH=0UL -DATTINYCORE_RELEASED=0 "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\cores\tiny" "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\variants\tinyx5" "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\Wire\src" "-IC:\Users\sglaw\Documents\Arduino\libraries\Adafruit_MMA8451_Library" "-IC:\Users\sglaw\Documents\Arduino\libraries\Adafruit_BusIO" "-IC:\Users\sglaw\Documents\Arduino\libraries\Adafruit_Unified_Sensor" "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\SPI" "C:\Users\sglaw\AppData\Local\Temp\arduino_build_451349\sketch\MMA8451demo.ino.cpp" -o "C:\Users\sglaw\AppData\Local\Temp\arduino_build_451349\preproc\ctags_target_for_gcc_minus_e.cpp" "C:\Program Files (x86)\Arduino\tools-builder\ctags\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\Users\sglaw\AppData\Local\Temp\arduino_build_451349\preproc\ctags_target_for_gcc_minus_e.cpp" Compiling sketch... "C:\Users\sglaw\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++17 -fpermissive -Wno-sized-deallocation -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mrelax -mmcu=attiny85 -DF_CPU=8000000UL -DCLOCK_SOURCE=0 -DARDUINO=10812 -DARDUINO=10812 -DARDUINO_AVR_ATTINYX5 -DARDUINO_ARCH_AVR "-DATTINYCORE=\"2.0.0-dev\"" -DATTINYCORE_MAJOR=2UL -DATTINYCORE_MINOR=0UL -DATTINYCORE_PATCH=0UL -DATTINYCORE_RELEASED=0 "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\cores\tiny" "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\variants\tinyx5" "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\Wire\src" "-IC:\Users\sglaw\Documents\Arduino\libraries\Adafruit_MMA8451_Library" "-IC:\Users\sglaw\Documents\Arduino\libraries\Adafruit_BusIO" "-IC:\Users\sglaw\Documents\Arduino\libraries\Adafruit_Unified_Sensor" "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\SPI" "C:\Users\sglaw\AppData\Local\Temp\arduino_build_451349\sketch\MMA8451demo.ino.cpp" -o "C:\Users\sglaw\AppData\Local\Temp\arduino_build_451349\sketch\MMA8451demo.ino.cpp.o" Compiling libraries... Compiling library "Wire" Using previously compiled file: C:\Users\sglaw\AppData\Local\Temp\arduino_build_451349\libraries\Wire\twi.c.o Using previously compiled file: C:\Users\sglaw\AppData\Local\Temp\arduino_build_451349\libraries\Wire\Wire.cpp.o Using previously compiled file: C:\Users\sglaw\AppData\Local\Temp\arduino_build_451349\libraries\Wire\WireS.cpp.o Using previously compiled file: C:\Users\sglaw\AppData\Local\Temp\arduino_build_451349\libraries\Wire\USI_TWI_Master\USI_TWI_Master.c.o Using previously compiled file: C:\Users\sglaw\AppData\Local\Temp\arduino_build_451349\libraries\Wire\USI_TWI_Slave\USI_TWI_Slave.c.o Compiling library "Adafruit_MMA8451_Library" Using previously compiled file: C:\Users\sglaw\AppData\Local\Temp\arduino_build_451349\libraries\Adafruit_MMA8451_Library\Adafruit_MMA8451.cpp.o Compiling library "Adafruit_BusIO" Using previously compiled file: C:\Users\sglaw\AppData\Local\Temp\arduino_build_451349\libraries\Adafruit_BusIO\Adafruit_SPIDevice.cpp.o Using previously compiled file: C:\Users\sglaw\AppData\Local\Temp\arduino_build_451349\libraries\Adafruit_BusIO\Adafruit_I2CDevice.cpp.o Using previously compiled file: C:\Users\sglaw\AppData\Local\Temp\arduino_build_451349\libraries\Adafruit_BusIO\Adafruit_BusIO_Register.cpp.o Compiling library "Adafruit_Unified_Sensor" Using previously compiled file: C:\Users\sglaw\AppData\Local\Temp\arduino_build_451349\libraries\Adafruit_Unified_Sensor\Adafruit_Sensor.cpp.o Compiling library "SPI" "C:\Users\sglaw\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++17 -fpermissive -Wno-sized-deallocation -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mrelax -mmcu=attiny85 -DF_CPU=8000000UL -DCLOCK_SOURCE=0 -DARDUINO=10812 -DARDUINO=10812 -DARDUINO_AVR_ATTINYX5 -DARDUINO_ARCH_AVR "-DATTINYCORE=\"2.0.0-dev\"" -DATTINYCORE_MAJOR=2UL -DATTINYCORE_MINOR=0UL -DATTINYCORE_PATCH=0UL -DATTINYCORE_RELEASED=0 "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\cores\tiny" "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\variants\tinyx5" "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\Wire\src" "-IC:\Users\sglaw\Documents\Arduino\libraries\Adafruit_MMA8451_Library" "-IC:\Users\sglaw\Documents\Arduino\libraries\Adafruit_BusIO" "-IC:\Users\sglaw\Documents\Arduino\libraries\Adafruit_Unified_Sensor" "-IC:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\SPI" "C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\SPI\SPI.cpp" -o "C:\Users\sglaw\AppData\Local\Temp\arduino_build_451349\libraries\SPI\SPI.cpp.o" C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\SPI\SPI.cpp: In static member function 'static void SPIClass::begin()':

C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\SPI\SPI.cpp:259:5: error: 'USI_SCK_PORT' was not declared in this scope

 USI_SCK_PORT |= _BV(USCK_DD_PIN);   //set the USCK pin as output

 ^~~~~~~~~~~~

C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\SPI\SPI.cpp:259:5: note: suggested alternative: 'USI_CLOCK_PORT'

 USI_SCK_PORT |= _BV(USCK_DD_PIN);   //set the USCK pin as output

 ^~~~~~~~~~~~

 USI_CLOCK_PORT

In file included from c:\users\sglaw\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\io.h:99:0,

             from C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\SPI\SPI.h:27,

             from C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\SPI\SPI.cpp:20:

C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\SPI\SPI.cpp:259:25: error: 'USCK_DD_PIN' was not declared in this scope

 USI_SCK_PORT |= _BV(USCK_DD_PIN);   //set the USCK pin as output

                     ^

C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\SPI\SPI.cpp:259:25: note: suggested alternative: 'USI_PIN'

C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\SPI\SPI.cpp:260:5: error: 'USI_DDR_PORT' was not declared in this scope

 USI_DDR_PORT |= _BV(DO_DD_PIN);     //set the DO pin as output

 ^~~~~~~~~~~~

C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\SPI\SPI.cpp:260:5: note: suggested alternative: 'USI_PORT'

 USI_DDR_PORT |= _BV(DO_DD_PIN);     //set the DO pin as output

 ^~~~~~~~~~~~

 USI_PORT

In file included from c:\users\sglaw\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\io.h:99:0,

             from C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\SPI\SPI.h:27,

             from C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\SPI\SPI.cpp:20:

C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\SPI\SPI.cpp:260:25: error: 'DO_DD_PIN' was not declared in this scope

 USI_DDR_PORT |= _BV(DO_DD_PIN);     //set the DO pin as output

                     ^

C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\SPI\SPI.cpp:260:25: note: suggested alternative: 'NOT_A_PIN'

C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\SPI\SPI.cpp:261:26: error: 'DI_DD_PIN' was not declared in this scope

 USI_DDR_PORT &= ~_BV(DI_DD_PIN);    //set the DI pin as input

                      ^

Using library Wire at version 2.0.0 in folder: C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\Wire Using library Adafruit_MMA8451_Library at version 1.2.1 in folder: C:\Users\sglaw\Documents\Arduino\libraries\Adafruit_MMA8451_Library Using library Adafruit_BusIO at version 1.14.1 in folder: C:\Users\sglaw\Documents\Arduino\libraries\Adafruit_BusIO Using library Adafruit_Unified_Sensor at version 1.1.7 in folder: C:\Users\sglaw\Documents\Arduino\libraries\Adafruit_Unified_Sensor Using library SPI at version 2.0.0 in folder: C:\Users\sglaw\Documents\Arduino\hardware\ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this\avr\libraries\SPI exit status 1 Error compiling for board ATtiny85/45/25 (No Bootloader).`

SpenceKonde commented 1 year ago

Should be sorted now. There were still garbage references to names given to variables in the header files (which Atmel was terriubble about keeping consistent