HM-LC-Sw2PBU-FM alternative Firmware flashen

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

Baxxy
Beiträge: 505
Registriert: 18.12.2018, 15:45
Hat sich bedankt: 47 Mal
Danksagung erhalten: 68 Mal

HM-LC-Sw2PBU-FM alternative Firmware flashen

Beitrag von Baxxy » 02.03.2020, 00:07

Hallo zusammen!
Ich habe beschlossen auf einem frisch zusammengelöteten HM-LC-Sw2PBU-FM eine alternative Firmware (HB-LC-Sw2PBU-FM) zu flashen. Dazu habe ich mich in den letzten Tagen hier im Forum und auf https://asksinpp.de/ belesen. Die Software (Arduino IDE) habe ich mit den nötigen Bibliotheken installiert und auch eine erste kleine Hürde (falsche Low-Power Bibliothek) genommen. Als Programmer kommt dann der bekannte USB ISP-Programmer für Atmel AVR, Rev.2 zum Einsatz.
Hier gab es die zweite kleine Hürde da auf dem Beipackzettel die DIP-Schalterstellung für die 3,3V Spannungsversorgung falsch angegeben war. Das ließ sich aber durch probieren und den Hinweis von Bratmaxe...
Bratmaxe hat geschrieben:
31.08.2018, 08:39
- Überprüfen der Spannungsversorgung: An den Pins VCC müssen 3.3V gegen GND anliegen. Die Pins für den I2C Anschluss bieten sich zum Messen an.
schnell beheben. Vermutlich morgen werde ich dann die 6 Leitungen an den HM-LC-Sw2PBU-FM löten um ihn mit dem Programmer zu verbinden.

Da dies mein erstes mal mit Arduino IDE und der Flashthematik ist habe ich ein wenig Angst den HM-LC-Sw2PBU-FM zu "bricken".
Also folgen gleich ein paar Fragen. Aber zuerst mein Setup:
HB-LC-Sw2PBU-FM_Arduino_Setup.jpg
- Muss ich im Sketch irgendetwas anpassen/ändern?
- Sind meine ausgewählten Werkzeuge so richtig?
HB-LC-Sw2PBU-FM_Arduino_Bootloader.jpg
- Zum Thema Bootloader habe ich nicht allzu viel gefunden. Kann ich das auf "no bootloader" lassen oder muss ich was anderes einstellen?

- Desweiteren bin ich ab und an beim lesen über "Fuses" gestolpert. Da kann ich aber nichts mit anfangen und daher meine Frage. Ist das für mein Vorhaben relevant?

Ich habe auch schon zum Test Sketch überprüfen/kompilieren gedrückt. Aus meiner Sicht läuft das sauber durch. Hier die Ausgabe:

Code: Alles auswählen

E:\Arduino\arduino-builder -dump-prefs -logger=machine -hardware E:\Arduino\hardware -hardware C:\Users\XXX_T\AppData\Local\Arduino15\packages -tools E:\Arduino\tools-builder -tools E:\Arduino\hardware\tools\avr -tools C:\Users\XXX_T\AppData\Local\Arduino15\packages -built-in-libraries E:\Arduino\libraries -libraries D:\XXX_T\Documents\Arduino\libraries -fqbn=MightyCore:avr:644:bootloader=no_bootloader,pinout=standard,variant=modelP,BOD=2v7,LTO=Os_flto,clock=8MHz_external -vid-pid=16C0_2A9B -ide-version=10812 -build-path C:\Users\XXX_T\AppData\Local\Temp\arduino_build_956858 -warnings=default -build-cache C:\Users\XXX_T\AppData\Local\Temp\arduino_cache_774854 -prefs=build.warn_data_percentage=75 -verbose D:\XXX_T\Documents\Arduino\HB-LC-Sw2PBU-FM\HB-LC-Sw2PBU-FM.ino
E:\Arduino\arduino-builder -compile -logger=machine -hardware E:\Arduino\hardware -hardware C:\Users\XXX_T\AppData\Local\Arduino15\packages -tools E:\Arduino\tools-builder -tools E:\Arduino\hardware\tools\avr -tools C:\Users\XXX_T\AppData\Local\Arduino15\packages -built-in-libraries E:\Arduino\libraries -libraries D:\XXX_T\Documents\Arduino\libraries -fqbn=MightyCore:avr:644:bootloader=no_bootloader,pinout=standard,variant=modelP,BOD=2v7,LTO=Os_flto,clock=8MHz_external -vid-pid=16C0_2A9B -ide-version=10812 -build-path C:\Users\XXX_T\AppData\Local\Temp\arduino_build_956858 -warnings=default -build-cache C:\Users\XXX_T\AppData\Local\Temp\arduino_cache_774854 -prefs=build.warn_data_percentage=75 -verbose D:\XXX_T\Documents\Arduino\HB-LC-Sw2PBU-FM\HB-LC-Sw2PBU-FM.ino
Using board '644' from platform in folder: C:\Users\XXX_T\AppData\Local\Arduino15\packages\MightyCore\hardware\avr\2.0.3
Using core 'MCUdude_corefiles' from platform in folder: C:\Users\XXX_T\AppData\Local\Arduino15\packages\MightyCore\hardware\avr\2.0.3
Detecting libraries used...
"E:\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -w -x c++ -E -CC -mmcu=atmega644p -DF_CPU=8000000L -DARDUINO=10812 -DARDUINO_AVR_ATmega644 -DARDUINO_ARCH_AVR -Wextra -flto -g "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\cores\\MCUdude_corefiles" "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\variants\\standard" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\sketch\\HB-LC-Sw2PBU-FM.ino.cpp" -o nul
Alternatives for EnableInterrupt.h: [[email protected]]
ResolveLibrary(EnableInterrupt.h)
  -> candidates: [[email protected]]
"E:\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -w -x c++ -E -CC -mmcu=atmega644p -DF_CPU=8000000L -DARDUINO=10812 -DARDUINO_AVR_ATmega644 -DARDUINO_ARCH_AVR -Wextra -flto -g "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\cores\\MCUdude_corefiles" "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\variants\\standard" "-ID:\\XXX_T\\Documents\\Arduino\\libraries\\EnableInterrupt-master" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\sketch\\HB-LC-Sw2PBU-FM.ino.cpp" -o nul
Alternatives for SPI.h: [[email protected]]
ResolveLibrary(SPI.h)
  -> candidates: [[email protected]]
"E:\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -w -x c++ -E -CC -mmcu=atmega644p -DF_CPU=8000000L -DARDUINO=10812 -DARDUINO_AVR_ATmega644 -DARDUINO_ARCH_AVR -Wextra -flto -g "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\cores\\MCUdude_corefiles" "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\variants\\standard" "-ID:\\XXX_T\\Documents\\Arduino\\libraries\\EnableInterrupt-master" "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\libraries\\SPI\\src" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\sketch\\HB-LC-Sw2PBU-FM.ino.cpp" -o nul
Alternatives for AskSinPP.h: [[email protected]]
ResolveLibrary(AskSinPP.h)
  -> candidates: [[email protected]]
"E:\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -w -x c++ -E -CC -mmcu=atmega644p -DF_CPU=8000000L -DARDUINO=10812 -DARDUINO_AVR_ATmega644 -DARDUINO_ARCH_AVR -Wextra -flto -g "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\cores\\MCUdude_corefiles" "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\variants\\standard" "-ID:\\XXX_T\\Documents\\Arduino\\libraries\\EnableInterrupt-master" "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\libraries\\SPI\\src" "-ID:\\XXX_T\\Documents\\Arduino\\libraries\\AskSinPP-master" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\sketch\\HB-LC-Sw2PBU-FM.ino.cpp" -o nul
Alternatives for LowPower.h: [[email protected]]
ResolveLibrary(LowPower.h)
  -> candidates: [[email protected]]
"E:\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -w -x c++ -E -CC -mmcu=atmega644p -DF_CPU=8000000L -DARDUINO=10812 -DARDUINO_AVR_ATmega644 -DARDUINO_ARCH_AVR -Wextra -flto -g "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\cores\\MCUdude_corefiles" "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\variants\\standard" "-ID:\\XXX_T\\Documents\\Arduino\\libraries\\EnableInterrupt-master" "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\libraries\\SPI\\src" "-ID:\\XXX_T\\Documents\\Arduino\\libraries\\AskSinPP-master" "-ID:\\XXX_T\\Documents\\Arduino\\libraries\\Low-Power-master" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\sketch\\HB-LC-Sw2PBU-FM.ino.cpp" -o nul
Using cached library dependencies for file: C:\Users\XXX_T\AppData\Local\Arduino15\packages\MightyCore\hardware\avr\2.0.3\libraries\SPI\src\SPI.cpp
Using cached library dependencies for file: D:\XXX_T\Documents\Arduino\libraries\AskSinPP-master\AlarmClock.cpp
Using cached library dependencies for file: D:\XXX_T\Documents\Arduino\libraries\AskSinPP-master\Globals.cpp
Using cached library dependencies for file: D:\XXX_T\Documents\Arduino\libraries\AskSinPP-master\HMID.cpp
Using cached library dependencies for file: D:\XXX_T\Documents\Arduino\libraries\AskSinPP-master\Led.cpp
Using cached library dependencies for file: D:\XXX_T\Documents\Arduino\libraries\AskSinPP-master\PhaseCut.cpp
Using cached library dependencies for file: D:\XXX_T\Documents\Arduino\libraries\AskSinPP-master\aes128_dec.cpp
Using cached library dependencies for file: D:\XXX_T\Documents\Arduino\libraries\AskSinPP-master\aes128_enc.cpp
Using cached library dependencies for file: D:\XXX_T\Documents\Arduino\libraries\AskSinPP-master\aes_dec.cpp
Using cached library dependencies for file: D:\XXX_T\Documents\Arduino\libraries\AskSinPP-master\aes_enc.cpp
Using cached library dependencies for file: D:\XXX_T\Documents\Arduino\libraries\AskSinPP-master\aes_invsbox.c
Using cached library dependencies for file: D:\XXX_T\Documents\Arduino\libraries\AskSinPP-master\aes_keyschedule.cpp
Using cached library dependencies for file: D:\XXX_T\Documents\Arduino\libraries\AskSinPP-master\aes_sbox.c
"E:\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -w -x c++ -E -CC -mmcu=atmega644p -DF_CPU=8000000L -DARDUINO=10812 -DARDUINO_AVR_ATmega644 -DARDUINO_ARCH_AVR -Wextra -flto -g "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\cores\\MCUdude_corefiles" "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\variants\\standard" "-ID:\\XXX_T\\Documents\\Arduino\\libraries\\EnableInterrupt-master" "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\libraries\\SPI\\src" "-ID:\\XXX_T\\Documents\\Arduino\\libraries\\AskSinPP-master" "-ID:\\XXX_T\\Documents\\Arduino\\libraries\\Low-Power-master" "D:\\XXX_T\\Documents\\Arduino\\libraries\\AskSinPP-master\\gf256mul.S" -o nul
Using cached library dependencies for file: D:\XXX_T\Documents\Arduino\libraries\AskSinPP-master\gf256mul.cpp
Using cached library dependencies for file: D:\XXX_T\Documents\Arduino\libraries\Low-Power-master\LowPower.cpp
Generating function prototypes...
"E:\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -w -x c++ -E -CC -mmcu=atmega644p -DF_CPU=8000000L -DARDUINO=10812 -DARDUINO_AVR_ATmega644 -DARDUINO_ARCH_AVR -Wextra -flto -g "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\cores\\MCUdude_corefiles" "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\variants\\standard" "-ID:\\XXX_T\\Documents\\Arduino\\libraries\\EnableInterrupt-master" "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\libraries\\SPI\\src" "-ID:\\XXX_T\\Documents\\Arduino\\libraries\\AskSinPP-master" "-ID:\\XXX_T\\Documents\\Arduino\\libraries\\Low-Power-master" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\sketch\\HB-LC-Sw2PBU-FM.ino.cpp" -o "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\preproc\\ctags_target_for_gcc_minus_e.cpp"
"E:\\Arduino\\tools-builder\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\preproc\\ctags_target_for_gcc_minus_e.cpp"
Sketch wird kompiliert...
"E:\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega644p -DF_CPU=8000000L -DARDUINO=10812 -DARDUINO_AVR_ATmega644 -DARDUINO_ARCH_AVR -Wextra -flto -g "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\cores\\MCUdude_corefiles" "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\variants\\standard" "-ID:\\XXX_T\\Documents\\Arduino\\libraries\\EnableInterrupt-master" "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\libraries\\SPI\\src" "-ID:\\XXX_T\\Documents\\Arduino\\libraries\\AskSinPP-master" "-ID:\\XXX_T\\Documents\\Arduino\\libraries\\Low-Power-master" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\sketch\\HB-LC-Sw2PBU-FM.ino.cpp" -o "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\sketch\\HB-LC-Sw2PBU-FM.ino.cpp.o"
Compiling libraries...
Compiling library "EnableInterrupt-master"
Compiling library "SPI"
Zuvor kompilierte Datei wird verwendet: C:\Users\XXX_T\AppData\Local\Temp\arduino_build_956858\libraries\SPI\SPI.cpp.o
Compiling library "AskSinPP-master"
"E:\\Arduino\\hardware\\tools\\avr/bin/avr-gcc" -c -g -x assembler-with-cpp -mmcu=atmega644p -DF_CPU=8000000L -DARDUINO=10812 -DARDUINO_AVR_ATmega644 -DARDUINO_ARCH_AVR "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\cores\\MCUdude_corefiles" "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\variants\\standard" "-ID:\\XXX_T\\Documents\\Arduino\\libraries\\EnableInterrupt-master" "-IC:\\Users\\XXX_T\\AppData\\Local\\Arduino15\\packages\\MightyCore\\hardware\\avr\\2.0.3\\libraries\\SPI\\src" "-ID:\\XXX_T\\Documents\\Arduino\\libraries\\AskSinPP-master" "-ID:\\XXX_T\\Documents\\Arduino\\libraries\\Low-Power-master" "D:\\XXX_T\\Documents\\Arduino\\libraries\\AskSinPP-master\\gf256mul.S" -o "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\libraries\\AskSinPP-master\\gf256mul.S.o"
Zuvor kompilierte Datei wird verwendet: C:\Users\XXX_T\AppData\Local\Temp\arduino_build_956858\libraries\AskSinPP-master\aes_sbox.c.o
Zuvor kompilierte Datei wird verwendet: C:\Users\XXX_T\AppData\Local\Temp\arduino_build_956858\libraries\AskSinPP-master\aes_invsbox.c.o
Zuvor kompilierte Datei wird verwendet: C:\Users\XXX_T\AppData\Local\Temp\arduino_build_956858\libraries\AskSinPP-master\Globals.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\XXX_T\AppData\Local\Temp\arduino_build_956858\libraries\AskSinPP-master\HMID.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\XXX_T\AppData\Local\Temp\arduino_build_956858\libraries\AskSinPP-master\PhaseCut.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\XXX_T\AppData\Local\Temp\arduino_build_956858\libraries\AskSinPP-master\AlarmClock.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\XXX_T\AppData\Local\Temp\arduino_build_956858\libraries\AskSinPP-master\Led.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\XXX_T\AppData\Local\Temp\arduino_build_956858\libraries\AskSinPP-master\aes128_dec.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\XXX_T\AppData\Local\Temp\arduino_build_956858\libraries\AskSinPP-master\aes128_enc.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\XXX_T\AppData\Local\Temp\arduino_build_956858\libraries\AskSinPP-master\aes_dec.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\XXX_T\AppData\Local\Temp\arduino_build_956858\libraries\AskSinPP-master\gf256mul.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\XXX_T\AppData\Local\Temp\arduino_build_956858\libraries\AskSinPP-master\aes_enc.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\XXX_T\AppData\Local\Temp\arduino_build_956858\libraries\AskSinPP-master\aes_keyschedule.cpp.o
Compiling library "Low-Power-master"
Zuvor kompilierte Datei wird verwendet: C:\Users\XXX_T\AppData\Local\Temp\arduino_build_956858\libraries\Low-Power-master\LowPower.cpp.o
Compiling core...
Using precompiled core: C:\Users\XXX_T\AppData\Local\Temp\arduino_cache_774854\core\core_0ad1fa701d5a8a255a5ffb85ea1a96ca.a
Linking everything together...
"E:\\Arduino\\hardware\\tools\\avr/bin/avr-gcc" -Os -Wl,--gc-sections -mmcu=atmega644p -w -flto -g -o "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858/HB-LC-Sw2PBU-FM.ino.elf" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\sketch\\HB-LC-Sw2PBU-FM.ino.cpp.o" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\libraries\\SPI\\SPI.cpp.o" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\libraries\\AskSinPP-master\\gf256mul.S.o" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\libraries\\AskSinPP-master\\aes_invsbox.c.o" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\libraries\\AskSinPP-master\\aes_sbox.c.o" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\libraries\\AskSinPP-master\\AlarmClock.cpp.o" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\libraries\\AskSinPP-master\\Globals.cpp.o" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\libraries\\AskSinPP-master\\HMID.cpp.o" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\libraries\\AskSinPP-master\\Led.cpp.o" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\libraries\\AskSinPP-master\\PhaseCut.cpp.o" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\libraries\\AskSinPP-master\\aes128_dec.cpp.o" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\libraries\\AskSinPP-master\\aes128_enc.cpp.o" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\libraries\\AskSinPP-master\\aes_dec.cpp.o" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\libraries\\AskSinPP-master\\aes_enc.cpp.o" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\libraries\\AskSinPP-master\\aes_keyschedule.cpp.o" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\libraries\\AskSinPP-master\\gf256mul.cpp.o" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858\\libraries\\Low-Power-master\\LowPower.cpp.o" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858/..\\arduino_cache_774854\\core\\core_0ad1fa701d5a8a255a5ffb85ea1a96ca.a" "-LC:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858" -lm
"E:\\Arduino\\hardware\\tools\\avr/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858/HB-LC-Sw2PBU-FM.ino.elf" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858/HB-LC-Sw2PBU-FM.ino.eep"
"E:\\Arduino\\hardware\\tools\\avr/bin/avr-objcopy" -O ihex -R .eeprom "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858/HB-LC-Sw2PBU-FM.ino.elf" "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858/HB-LC-Sw2PBU-FM.ino.hex"
Bibliothek EnableInterrupt-master in Version 1.1.0 im Ordner: D:\XXX_T\Documents\Arduino\libraries\EnableInterrupt-master  wird verwendet
Bibliothek SPI in Version 1.0 im Ordner: C:\Users\XXX_T\AppData\Local\Arduino15\packages\MightyCore\hardware\avr\2.0.3\libraries\SPI  wird verwendet
Bibliothek AskSinPP-master in Version 4.1.2 im Ordner: D:\XXX_T\Documents\Arduino\libraries\AskSinPP-master  wird verwendet
Bibliothek Low-Power-master in Version 1.6 im Ordner: D:\XXX_T\Documents\Arduino\libraries\Low-Power-master  wird verwendet
"E:\\Arduino\\hardware\\tools\\avr/bin/avr-size" -A "C:\\Users\\XXX_T\\AppData\\Local\\Temp\\arduino_build_956858/HB-LC-Sw2PBU-FM.ino.elf"
Der Sketch verwendet 22660 Bytes (34%) des Programmspeicherplatzes. Das Maximum sind 65536 Bytes.
Globale Variablen verwenden 867 Bytes (21%) des dynamischen Speichers, 3229 Bytes für lokale Variablen verbleiben. Das Maximum sind 4096 Bytes.
Sieht das für Euch in Ordnung aus?

Ich bedanke mich schon mal vorab für die Hilfe.

Grüße
Baxxy

TomMajor
Beiträge: 861
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 46 Mal
Danksagung erhalten: 139 Mal
Kontaktdaten:

Re: HM-LC-Sw2PBU-FM alternative Firmware flashen

Beitrag von TomMajor » 02.03.2020, 02:26

Hier gab es die zweite kleine Hürde da auf dem Beipackzettel die DIP-Schalterstellung für die 3,3V Spannungsversorgung falsch angegeben war. Das ließ sich aber durch probieren und den Hinweis von Bratmaxe...
bin nicht sicher was damit gemeint ist.
Zumindest das pdf ist imho in Ordnung:
https://www.diamex.de/dxshop/mediafiles ... r-isp2.pdf
Wenn SW2 auf Off ist kommt keine Spannung vom Programmer, sondern dieser wird von der Spannung des Zielsystems versorgt. Dies kann für versch. Spannungslevel sehr hilfreich sein.
- Zum Thema Bootloader habe ich nicht allzu viel gefunden. Kann ich das auf "no bootloader" lassen oder muss ich was anderes einstellen?

- Desweiteren bin ich ab und an beim lesen über "Fuses" gestolpert. Da kann ich aber nichts mit anfangen und daher meine Frage. Ist das für mein Vorhaben relevant?
Kenne deine HW nicht. Wenn du einen "frischen" 644 gelötet hast:
- Fuses sind relevant, richtige Auswahl der clk source, Fuse Clk/8 deaktiveren, usw. damit solltest du dich beschäftigen
- wenn du über den Diamex flashst brauchst du nicht unbedingt einen bootloader. Dieser ist z.B. interessant wenn man direkt aus der Arduino IDE seriell (z.B. über FTDI Adapter) flashen will oder später für updates nicht den ISP anschließen will. Sonst geht es auch ohne.
Viele Grüße,
Tom

Baxxy
Beiträge: 505
Registriert: 18.12.2018, 15:45
Hat sich bedankt: 47 Mal
Danksagung erhalten: 68 Mal

Re: HM-LC-Sw2PBU-FM alternative Firmware flashen

Beitrag von Baxxy » 02.03.2020, 09:36

Guten Morgen TomMajor,
TomMajor hat geschrieben:
02.03.2020, 02:26
bin nicht sicher was damit gemeint ist.
Zumindest das pdf ist imho in Ordnung:
Stimmt, das pdf zeigt die richtige DIP-Schalterstellung. Es war nur der Beipackzettel falsch. Thema erledigt.
TomMajor hat geschrieben:
02.03.2020, 02:26
Kenne deine HW nicht.
Meinst du damit die Platine innerhalb des HM-LC-Sw2PBU-FM? Die sieht so aus:
HB-LC-Sw2PBU-FM_Hardware.jpg
TomMajor hat geschrieben:
02.03.2020, 02:26
- wenn du über den Diamex flashst brauchst du nicht unbedingt einen bootloader. Dieser ist z.B. interessant wenn man direkt aus der Arduino IDE seriell (z.B. über FTDI Adapter) flashen will oder später für updates nicht den ISP anschließen will. Sonst geht es auch ohne.
Ok, verstanden. Ich denke nicht das ich den zukünftigen HB-LC-Sw2PBU-FM ota updaten muss/will. Also kein Bootloader. Thema erledigt.
TomMajor hat geschrieben:
02.03.2020, 02:26
- Fuses sind relevant, richtige Auswahl der clk source, Fuse Clk/8 deaktiveren, usw. damit solltest du dich beschäftigen
Schade, ich dachte ich komme um das Thema herum. Vor allem da Bratmaxe in seinem Post HB-UNI-SenAct-4-4 auf HM-LC-Sw2PBU-FM flashen keinerlei "Fuses" erwähnt. Gibt es da eine gute Seite wo man sich einlesen kann? Thema unerledigt.

Grüße
Baxxy

jp112sdl
Beiträge: 4716
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 151 Mal
Danksagung erhalten: 327 Mal
Kontaktdaten:

Re: HM-LC-Sw2PBU-FM alternative Firmware flashen

Beitrag von jp112sdl » 02.03.2020, 09:42

Ich habe beim Umflashen nichts an den Fuses geändert.

ISP angeschlossen, hochgeladen, fertig

VG,
Jérôme

Bratmaxe
Beiträge: 1505
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 8 Mal

Re: HM-LC-Sw2PBU-FM alternative Firmware flashen

Beitrag von Bratmaxe » 02.03.2020, 09:43

In deinem Fall sind die Fuses irrelevant.
Bei Projekten, wo du den ATMEGA Chip selbst auflötest und z.B. den internen Frequenzgenerator verwenden willst, musst du dich mit den Fuses auseinander setzen.
In deinem Fall sind die Fuses schon alles richtig gesetzt, da du ja einen fertigen Aktor verwendest!
Gruß Carsten

Bratmaxe
Beiträge: 1505
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 8 Mal

Re: HM-LC-Sw2PBU-FM alternative Firmware flashen

Beitrag von Bratmaxe » 02.03.2020, 09:48

Achso und beim ersten Aktor brauchst du nichts am Sketch anpassen.
Ich habe aber immer die Seriennummer so angepasst, das hier wieder die originale Seriennummer des Aktors drin steht.
Also statt "HBSw2PBU01" dann wieder sowas -> "NEQ0123456"

Beim zweiten Aktor musst du dann ID und Seriennummer ändern, zweimal dieselbe in einem System geht nicht!
{0xf3, 0x36, 0x01},// Device ID -->{0xf3, 0x36, 0x02},// Device ID
Gruß Carsten

Baxxy
Beiträge: 505
Registriert: 18.12.2018, 15:45
Hat sich bedankt: 47 Mal
Danksagung erhalten: 68 Mal

Re: HM-LC-Sw2PBU-FM alternative Firmware flashen

Beitrag von Baxxy » 02.03.2020, 09:49

jp112sdl hat geschrieben:
02.03.2020, 09:42
ISP angeschlossen, hochgeladen, fertig
Bratmaxe hat geschrieben:
02.03.2020, 09:43
In deinem Fall sind die Fuses irrelevant.
Das wollte ich hören. :D
Also nur noch die 6 Verbindungen herstellen dann bin ich bereit.

Grüße
Baxxy

Bratmaxe
Beiträge: 1505
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 8 Mal

Re: HM-LC-Sw2PBU-FM alternative Firmware flashen

Beitrag von Bratmaxe » 02.03.2020, 09:50

Richtig. Und wenn du Direktverknüpfungen anlegen oder ändern willst, würde ich dir den "HomematicManager" ans Herz legen.
Damit kannst du auch die internen Verknüpfungen von Taster und Relais sehen und ändern (in der WEBUI ist diese Verknüpfung nicht zu sehen)
Gruß Carsten

TomMajor
Beiträge: 861
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 46 Mal
Danksagung erhalten: 139 Mal
Kontaktdaten:

Re: HM-LC-Sw2PBU-FM alternative Firmware flashen

Beitrag von TomMajor » 02.03.2020, 12:53

Hallo Baxxy,
das mit den Fuses hatte ich geschrieben für den Fall "wenn du einen "frischen" 644 gelötet hast"
War nicht sicher wie dein "frisch zusammengelöteten HM-LC-Sw2PBU-FM" gemeint war.
Aber jetzt ist da Thema ja geklärt. :)
Viele Grüße,
Tom

Baxxy
Beiträge: 505
Registriert: 18.12.2018, 15:45
Hat sich bedankt: 47 Mal
Danksagung erhalten: 68 Mal

Re: HM-LC-Sw2PBU-FM alternative Firmware flashen

Beitrag von Baxxy » 02.03.2020, 22:40

Zuallererst Vielen Dank an Euch für die Tipps, Hinweise und Erklärungen!
Nachdem alle 6 Verbindungen angelötet und auf richtige Verbindung zum Programmer kontrolliert waren...
HM-LC-Sw2PBU-FM_an_Programmer.jpg
ging das flashen recht unspektakulär vonstatten.
Der HB-LC-Sw2PBU-FM ließ sich danach problemlos an meinem Testsystem anlernen.
HB-LC-Sw2PBU-FM_Kanäle.jpg
Die anschließende Konfiguration der DV'en mit dem Homematic-Manager gestaltete sich etwas zäh, nach Hinzufügen einer 4. DV wollte die 1. DV meist nicht mehr so wie sie sollte. Aber auch das funktionierte irgendwann (inklusive Werksreset) und mein Ziel war erreicht.
HB-LC-Sw2PBU-FM_DVen.jpg
- Frage zwischendurch: Gibt es ein Hard/Softlimit der Anzahl der möglichen Direktverknüpfungen?

Der HB-LC-Sw2PBU-FM verhält sich jetzt genau wie von mir gewünscht, somit war die ganze Aktion ein voller Erfolg. :D

Grüße
Baxxy

PS.: Nebendetail:
Die Geräteeinstellungs-Seite des HB-LC-Sw2PBU-FM sieht jetzt etwas ungewöhnlich aus. :wink:
HB-LC-Sw2PBU-FM_Geräteinstellungen.jpg
OT:
Wozu das Ganze?
Im Ferienhäuschen soll eine Wasserabsperrung mittels 2-Wege Ventil mit Endschalter realisiert werden. Für den Fall eines CCU-Ausfalls soll eine physische Bedienmöglichkeit (Taster) gegeben sein. Das ganze ist eine simple Wechselschaltung und auf den ersten Blick wären HM-LC-Sw1PBU-FM und HmIP-BSM die idealen Kandidaten.
Problem Nr.1: Das Ventil sitzt dann in einer Grube neben dem Häuschen wo zwar niemand ran soll aber praktisch jeder ran kann. Daher will ich vermeiden das dauerhaft irgendwo Phase anliegt was bei den erwähnten Aktoren ja der Fall ist.
Problem Nr.2: Auf dem Gelände fällt in der Saison gerne mal der Strom aus. Das macht dem Ventil erstmal nichts, es bleibt einfach so stehen wie es steht. Bei den Aktoren kann ich zwar festlegen welchen Kanal sie nach Spannungsrückkehr einschalten aber die Möglichkeit den selben Zustand wie vorher einzunehmen gibt es leider nicht. Somit würde das Ventil z.B. Zu fahren obwohl es offen sein sollte. Funfact: Ich habe auch mit Rolladenaktoren geliebäugelt weil die ja 2 interne Relais haben (und somit im Ruhemodus an den Ausgängen stromlos sind), aber da meine Alchy die fahren nach Spannungsrückkehr auch immer in eine (einstellbare) Richtung.
Nun zum HM-LC-Sw2PBU-FM. Meine "Letzte Hoffnung" da er das "Stromlos-Problem" in der Grube löst (Kanal nur für die Fahrzeit des Ventils aktiv) sowie die Einschaltproblematik nach Stromausfall (beide Kanäle bleiben einfach aus) löst. Hier gab es aber ein neues Problem. Und zwar die mögliche Fehlbedienung am Gerät selbst. Im Originalzustand wäre es möglich das Ventil gleichzeitig Auf und Zu zu fahren. Und genau das habe ich jetzt durch die Alternative Firmware und die entsprechenden DVen lösen können. Danke fürs Lesen...
Baxxy
OT Ende:

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“