Any ideas?Hello!
For your circuit to work correctly, you need to modify ARDUINO_UNO. Replace the 1000 pF capacitor and cut the trace to input 5 of the op amp, marked with an X.
The values are:
Ri- 20.0Ohm
Ri+ 22.0Ohm
C0 43pF
R0 0.20Ohm
Vref 1008mV
Vcc 5001mV
AComp -45mV
Next page on click is Error.
The values are:
Ri- 20.0Ohm
Ri+ 22.0Ohm
C0 43pF
R0 0.20Ohm
Vref 1008mV
Vcc 5001mV
AComp -45mV
Next page on click is Error.That's only the summary. The test results beforehand are needed. Or check the 'README' yourself for valid ranges. See this and following post.
Any ideas?Hello!
For your circuit to work correctly, you need to modify ARDUINO_UNO. Replace the 1000 pF capacitor and cut the trace to input 5 of the op amp, marked with an X.
That list is the currently used adjustment profile. When the self-adjustment succeeds the profile will be updated. On error it won't change. In this case the first four values are the default values. Vref and AComp are already updated by measuring a film cap three times. Vcc is also the default value (no external reference available). It's a bit confusing, it's simply the same function as called by the 'show values' menu item to keep the firmware size small. Maybe it would be better to show the list only on success.
This linker option gives even more space
This linker option gives even more spaceNice, indeed. My config on avr-gcc 8.5.0:
32600 bytes (99.5% Full)
32062 bytes (97.8% Full) #CFLAGS += -flto
31522 bytes (96.2% Full) #CFLAGS += -flto / LDFLAGS += -Wl,--relax
I'm wondering though why 'lto' is present but commented out in MAKEFILE. Maybe it doesn't work on Windows compiler?
avr-gcc 7.3.0
Program: 32652 bytes (99.6% Full)
(.text + .data + .bootloader)
avr-gcc 12.1.0 (110.5% Full)
Maniaxx,moimem and everyone, without attaching the config_h and config_328.h settings files to your messages about compilation with different avr-gcc, the information is of little use, since there is no way for other people to compare results on their computers. majortom did the right thing in his message above and attached these files.
AVR-GCC 13.2 showed surprisingly good compilation results but i can't test it on my Windows machine yet. With avr-gcc 8.3.0(flto enabled) and majortom configuration files I get a firmware size of 31740 bytes (96.9%).
AVR Memory Usage
----------------
Device: atmega328
Program: 32652 bytes (99.6% Full)
(.text + .data + .bootloader)
Data: 260 bytes (12.7% Full)
(.data + .bss + .noinit)
EEPROM: 903 bytes (88.2% Full)
(.eeprom)
AVR Memory Usage
----------------
Device: atmega328
Program: 32662 bytes (99.7% Full)
(.text + .data + .bootloader)
Data: 260 bytes (12.7% Full)
(.data + .bss + .noinit)
EEPROM: 903 bytes (88.2% Full)
(.eeprom)
32600 bytes (99.5% Full)
32062 bytes (97.8% Full) #CFLAGS += -flto
31522 bytes (96.2% Full) #CFLAGS += -flto / LDFLAGS += -Wl,--relax
I'm wondering though why 'lto' is present but commented out in MAKEFILE. Maybe it doesn't work on Windows compiler?
moimem, with your configuration files i get slightly different results on Windows 10x64.
A more compact size is obtained with avr-gcc 8.3.0.
moimem,404 - Attachment Not Found
avr-gcc v. 13.2.0
Program: 33246 bytes (101.5% Full)
Program: 32524 bytes (99.3% Full) -flto
Program: 32090 bytes (97.9% Full) -flto; -Wl,--relax
avr-gcc v. 12.1.0
Program: 36834 bytes (112.4% Full)
Program: 35592 bytes (108.6% Full) -flto
Program: 35162 bytes (107.3% Full) -flto; -Wl,--relax
avr-gcc v. 8.3.0
Program: 33262 bytes (101.5% Full)
Program: 32562 bytes (99.4% Full) -flto
Program: 32044 bytes (97.8% Full) -flto; -Wl,--relax
avr-gcc v. 7.3.0
Program: 33332 bytes (101.7% Full)
Program: 32588 bytes (99.5% Full) -flto
Program: 32094 bytes (97.9% Full) -flto; -Wl,--relax
avr-gcc v. 5.4.0
Program: (> 100% Full)
Program: (> 100% Full) -flto
Program: 32034 bytes (97.8% Full) -flto; -Wl,--relax
These are the results for my AY-AT setup with different options, available at GitHub:
https://github.com/Ho-Ro/ComponentTester/tree/77066735c597e81ee78742bb1c902b6356520e12
Interesting that version 13 is back on small size, almost similar to version 8.Code: [Select]avr-gcc v. 13.2.0
Program: 33246 bytes (101.5% Full)
Program: 32524 bytes (99.3% Full) -flto
Program: 32090 bytes (97.9% Full) -flto; -Wl,--relax
avr-gcc v. 12.1.0
Program: 36834 bytes (112.4% Full)
Program: 35592 bytes (108.6% Full) -flto
Program: 35162 bytes (107.3% Full) -flto; -Wl,--relax
avr-gcc v. 8.3.0
Program: 33262 bytes (101.5% Full)
Program: 32562 bytes (99.4% Full) -flto
Program: 32044 bytes (97.8% Full) -flto; -Wl,--relax
avr-gcc v. 7.3.0
Program: 33332 bytes (101.7% Full)
Program: 32588 bytes (99.5% Full) -flto
Program: 32094 bytes (97.9% Full) -flto; -Wl,--relax
avr-gcc v. 5.4.0
Program: (> 100% Full)
Program: (> 100% Full) -flto
Program: 32034 bytes (97.8% Full) -flto; -Wl,--relax
Program: 32034 bytes (97.8% Full)
(.text + .data + .bootloader)
Data: 260 bytes (12.7% Full)
(.data + .bss + .noinit)
EEPROM: 22 bytes (2.1% Full)
(.eeprom)
most intersting fact in my opnion is that the best result so far is obtained with avr-gcc-5.4.0 and -flto -wl, --relax flagsCode: [Select]Program: 32034 bytes (97.8% Full)
(.text + .data + .bootloader)
Data: 260 bytes (12.7% Full)
(.data + .bss + .noinit)
EEPROM: 22 bytes (2.1% Full)
(.eeprom)
Custom config (--relax, -flto, avr-gcc 13.2.0):
AVR Memory Usage
----------------
Device: atmega328
Program: 31448 bytes (96.0% Full)
(.text + .data + .bootloader)
Data: 270 bytes (13.2% Full)
(.data + .bss + .noinit)
EEPROM: 22 bytes (2.1% Full)
(.eeprom)
Custom config (--relax, -flto, avr-gcc 8.5.0):
AVR Memory Usage
----------------
Device: atmega328
Program: 31522 bytes (96.2% Full)
(.text + .data + .bootloader)
Data: 252 bytes (12.3% Full)
(.data + .bss + .noinit)
EEPROM: 22 bytes (2.1% Full)
(.eeprom)
The 13.2.0 even outperforms the 8.5.0 now so i will go for that. I'd always prefer newer compilers over older ones if near on-par in size.
config-maniaxx (--relax, -flto) avr-gcc 6.3.1
Program: 31526 bytes (96.2% Full)
config-maniaxx (--relax, -flto) avr-gcc 13.2.0
rogram: 31448 bytes (96.0% Full)
config-horo (--relax, -flto) avr-gcc 6.3.1
Program: 31998 bytes (97.7% Full)
config-horo (--relax, -flto) avr-gcc 13.2.0
Program: 32090 bytes (97.9% Full)