Bei mir ist das bin nur 16kB groß.
IRMP auf STM32 - ein USB IR Empfänger/Sender/Einschalter mit Wakeup-Timer
-
-
Bei mir ist das bin nur 16kB groß.
Oh man..... habe versucht an der falschen Stelle mit wget herunterzuladen
Aaaaaaaaaabbbbbbeerrrrr es funktioniert
-
Ich habe gerade mit den beiden NEC FB gespielt. Sensationelles Ansprechverhalten und nichts prellt. Vielen Dank.....
-
Hi,
Jetzt wird auch die IRMP Version angezeigt.
kann man sich in mit stm32IRconfig auch dir Firmware Version anzeigen lassen? In der GUI sieht man die.
Gruß
Obelix
-
stm32IRconfig - g - c:
Code
Alles anzeigenfirmware: 2017-11-22_15 written 17 bytes: 03 00 00 01 04 00 00 00 00 00 00 00 00 00 00 00 00 read 17 bytes: 02 01 00 01 2d 30 32 5f 53 74 69 63 6b 5f 42 4c 5f firmware: -02_Stick_BL_ written 17 bytes: 03 00 00 01 05 00 00 00 00 00 00 00 00 00 00 00 00 read 17 bytes: 02 01 00 01 53 43 5f 6a 72 69 65 20 20 20 49 52 4d firmware: SC_jrie IRM written 17 bytes: 03 00 00 01 06 00 00 00 00 00 00 00 00 00 00 00 00 read 17 bytes: 02 01 00 01 50 2d 56 65 72 73 69 6f 6e 3a 20 33 2e firmware: P-Version: 3. written 17 bytes: 03 00 00 01 07 00 00 00 00 00 00 00 00 00 00 00 00 read 17 bytes: 02 01 00 01 30 2e 38 00 00 00 00 00 00 00 00 00 00 firmware: 0.8
-
Danke.
-
Es gibt neue Firmwares im git.
Bitte testen und rückmelden .
-
Es gibt neue Firmwares im git.
Bitte testen und rückmelden .
Gerade erst gesehen. Ich muss mal eine andere E-Mail Adresse zu Benachrichtigung hinterlegen.. Sieht gut aus. Ich habe Version 2018-02-23_23-08_Red_BL_SC_jrie.bin getestet.
EDIT: Kannst du sagen was genau du gemacht hast? Ich habe zwar im Git gelesen (irgendwas mit den LEDs) aber so richtig verstehe ich es nicht .... Und was hat es mit der Funktion "send magic" für die nächste Version auf sich?
Zitatstm32IRconfig - g - c:
Hmmm, bin erst gerade dazu gekommen zu testen. Das funktioniert bei mir nicht....
Ohne Optionen geht es.
-
stm32IRconfig -> g -> c: Gemeint ist stm32IRconfig aufrufen, dann g drücken, dann c.
send magic: Damit der PC weiß, dass er per IRMP-STM32 eingeschaltet wurde.
Kannst du mit stm32IRconfig -> m 90 Sekunden nach Einschalten des PC per
IRMP-STM32 sehen.
-
stm32IRconfig -> g -> c: Gemeint ist stm32IRconfig aufrufen, dann g drücken, dann c.
Ok, sorry, Habe ich als Kommandozeilenoptionen gesehen
-
stm32IRconfig -> g -> c: Gemeint ist stm32IRconfig aufrufen, dann g drücken, dann c.
Jetzt muss ich doch nochmal nachfragen, denn bei mir kommt da keine Info der Firmware:
Code
Alles anzeigenopened stm32 device program eeprom: wakeups and macros (p) program eeprom: wakeups and macros with remote control(P) get eeprom (wakeups, macros and capabilities) (g) reset (wakeups, macros and alarm) (r) set alarm (s) get alarm (a) send IR (i) monitor until ^C (m) exit (x) g get wakeup(w) get macro slot(m) get caps(c) c written 17 bytes: 03 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 read 17 bytes: 02 01 00 01 08 08 08 00 00 00 00 00 00 00 00 00 00 macro_slots: 8 macro_depth: 8 wake_slots: 8 written 17 bytes: 03 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 read 17 bytes: 02 01 00 01 01 02 03 05 14 1b 1c 04 08 07 09 15 18 protocols: 1 2 3 5 20 27 28 4 8 7 9 21 24 written 17 bytes: 03 00 00 01 02 00 00 00 00 00 00 00 00 00 00 00 00 read 17 bytes: 02 01 00 01 0f 11 10 00 00 00 00 00 00 00 00 00 00 protocols: 15 17 16 program eeprom: wakeups and macros (p) program eeprom: wakeups and macros with remote control(P) get eeprom (wakeups, macros and capabilities) (g) reset (wakeups, macros and alarm) (r) set alarm (s) get alarm (a) send IR (i) monitor until ^C (m) exit (x)
-
Benutzt du das stm32IRconfig von easyVDR oder selbst kompiliert?
Falls von easyVDR, von welchem Datum ist der Source? Falls älter als in meinem git, kompiliere mal selbst.
-
Benutzt du das stm32IRconfig von easyVDR oder selbst kompiliert?
Falls von easyVDR, von welchem Datum ist der Source? Falls älter als in meinem git, kompiliere mal selbst.
Ja die Version von easyVDR: Version: 0.0.1-20151030-0easyVDR1~trusty
OK, ich kompiliere dann mal selbst.
-
Ich habe kürzlich an einer schöneren Integration in easyVDR gearbeitet. Das Ganze basiert auf dem acpiwakeup Script von Tobias Grimm. Diese lässt sich auch mit anderen VDR Distributionen nutzen:
1. /etc/vdr/vdr-addon-stm32irmp-wakeup.conf:
Code
Alles anzeigen# Activate/deactivate STM32IRMP Wakeup with yes/no: ENABLED="yes" # How many minutes should the machine wake up before the timer starts: WAKEUP_START_AHEAD="5" # If you want your VDR machine to wakeup in regular intervals (i.e. for # updating EPG data), specify a day interval and a wakeup time: # WAKEUP_REGULAR_DAYS="0" # 0=disabled, 1=each day, 2=each 2'nd day, 3=... WAKEUP_REGULAR_TIME="01:00" # HH:MM
2. /usr/share/vdr/shutdown-hooks/SXX.shutdown.smt32irmp (XX bitte der entsprechenden Distribution anpassen):
Code
Alles anzeigen# # Script Version 2.1 # VDR shutdown hook for STM32IRMP based on 10_shutdown.acpi - Obelix # Use 80-irmp.rules (https://github.com/j1rie/IRMP_STM32/blob/master/irmplircd/80-irmp.rules) with: # KERNEL=="hidraw*", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="4444", SYMLINK+="irmp_stm32", MODE="0666", TAG+="systemd" # SUBSYSTEM=="usb", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="4444", MODE="0666" # -------------------------- # . /etc/vdr/vdr-addon-stm32irmp-wakeup.conf ############### LOG="logger -t vdr-shutdown-stm32irmp" ########## TIMER=$1 if [ $ENABLED = "yes" ]; then if [ $WAKEUP_REGULAR_DAYS -gt 0 ]; then #Check if the WAKEUP_REGULAR_TIME of boot should be today or tomorrow if [ $((`date +%s`)) -lt $((`date -d "$WAKEUP_REGULAR_TIME" +%s`)) ]; then DAYS_AFTER_TODAY="0" #VDR should start today. else DAYS_AFTER_TODAY=$WAKEUP_REGULAR_DAYS #VDR should start next day according with WAKEUP_REGULAR_DAYS, not today fi REGULAR_TIMER=$((`date -d "$WAKEUP_REGULAR_TIME" +%s` + $DAYS_AFTER_TODAY * 24 * 60 * 60)) # when no vdr timer is set or vdr timer starts later than regular timer: if [ $TIMER -eq 0 ] || [ $TIMER -gt 0 -a $REGULAR_TIMER -lt $TIMER ] ; then TIMER=$REGULAR_TIMER fi fi if [ $TIMER -gt 0 ]; then MIN_WAKEUP_START_AHEAD=$((`date +%s` + 60 * $WAKEUP_START_AHEAD)) if [ $MIN_WAKEUP_START_AHEAD -gt $TIMER ]; then $LOG "Can not set wakeup time less than $WAKEUP_START_AHEAD minutes ahead." echo "ABORT_MESSAGE=\"Wakeup in less than $WAKEUP_START_AHEAD minutes, aborting!\"" exit 1 fi # adjust wakeup time by WAKEUP_START_AHEAD TIMER=$(($TIMER - 60 * $WAKEUP_START_AHEAD)) fi if [ $TIMER -eq 0 ]; then $LOG "Resetting STM32IRMP alarm time" sudo stm32IRalarm -d /dev/irmp_stm32 -s 0xFFFFFFFF && sleep 1 $LOG `sudo /usr/bin/stm32IRalarm -a`; exit else NOW=$((`date +%s`)) STM32WAKE=$(($TIMER - $NOW)) $LOG "Setting STM32IRMP alarm time to: $STM32WAKE" sudo /usr/bin/stm32IRalarm -d /dev/irmp_stm32 -s $STM32WAKE && sleep 1 $LOG `sudo /usr/bin/stm32IRalarm -a`; exit fi else $LOG "STM32IRMP Wakeup function is disabled" fi
Getestet habe ich es mit easyVDR und yaVDR. MLD schaue ich mir noch an.
WICHTIG: Wenn man den ST-Link v2 Stick oder andere STM32 Produkte zum Wakeup nutzen möchte, bitte das ACPI Wakeup Script der Distribution deaktivieren !!!
Gruß
Obelix
-
Hi,
Danke für das Bild. Messe Mal den Durchgang des rechten der 4 unten links zum GND Pin (zwischen den LEDS).
das mit den Sticks ist wie Lotto spielen, richtig? Bei der Bestellung damals war einer mit einer kleineren Verpackung dabei. Bei dem messe ich Durchgang zwischen Nummer 2 unten links und GND. Schon interessant. Somit werden bei diesem wohl 3 und 4 die notwendigen Pins sein....
Hier ein paar Bilder der weiteren Variante.:
Gruß
Obelix
-
Pin 1 gegen GND messe ich 3,3V. Somit bleibt nur Pin 3 und 4. Nur welcher ist SWCLK und welcher SWDIO?
-
Durchgang prüfen zwischen Pin3 und dem Mikrokontroller (alle 48 Pins abfahren), dann vergleichen mit Datenblatt.
Einfacher: ausprobieren, es kann bei falschem Anschluss nicht kaputt gehen.
-
Durchgang prüfen zwischen Pin3 und dem Mikrokontroller (alle 48 Pins abfahren), dann vergleichen mit Datenblatt.
Einfacher: ausprobieren, es kann bei falschem Anschluss nicht kaputt gehen.
Ok, dann ist es PA14 und der ist laut STM32F101xx pin definitions JTCK/SWCLK. Ein
bei openocd ist vermutlich ein Kontaktproblem, oder?
-
Ich habe auch mal SWDIO gesucht und somit ist Pin1 SWDIO und PIN 3 SWCLK. Bei openocd kommt:
Code
Alles anzeigen./bin/openocd -f scripts/interface/stlink-v2.cfg -f scripts/target/stm32f1x.cfg -c "init" -c "halt" -c "stm32f1x unlock 0" -c "shutdown" GNU MCU Eclipse 64-bits Open On-Chip Debugger 0.10.0+dev-00254-g2ec04e4e (2017-11-10-11:27) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'. Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD adapter speed: 1000 kHz adapter_nsrst_delay: 100 none separate Info : Unable to match requested speed 1000 kHz, using 950 kHz Info : Unable to match requested speed 1000 kHz, using 950 kHz Info : clock speed 950 kHz Info : STLINK v2 JTAG v29 API v2 SWIM v7 VID 0x0483 PID 0x3748 Info : using stlink api v2 Info : Target voltage: 3.253755 Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints Info : Listening on port 3333 for gdb connections target halted due to debug-request, current mode: Thread xPSR: 0x61000000 pc: 0x0800127a msp: 0x200007d8 Info : device id = 0x20036410 Warn : STM32 flash size failed, probe inaccurate - assuming 128k flash Info : flash size = 128kbytes Info : Device Security Bit Set Error: timed out while waiting for target halted target halted due to debug-request, current mode: Handler HardFault xPSR: 0x01000003 pc: 0xfffffffe msp: 0x20000798 Error: error waiting for target flash write algorithm stm32x failed to lock device shutdown command invoke
Aber der Rest hat funktioniert....
-
Schon komisch, obwohl openocd einen Fehler meldet, konnte ich fehlerfrei den Bootloader flashen:
Code
Alles anzeigenst-flash --reset write boot.Red.bin 0x8000000 st-flash 1.4.0 2018-03-07T11:23:00 INFO usb.c: -- exit_dfu_mode 2018-03-07T11:23:00 INFO common.c: Loading device parameters.... 2018-03-07T11:23:00 INFO common.c: Device connected is: F1 Medium-density device, id 0x20036410 2018-03-07T11:23:00 INFO common.c: SRAM size: 0x5000 bytes (20 KiB), Flash: 0x20000 bytes (128 KiB) in pages of 1024 bytes 2018-03-07T11:23:00 INFO common.c: Attempting to write 6844 (0x1abc) bytes to stm32 address: 134217728 (0x8000000) Flash page at addr: 0x08001800 erased 2018-03-07T11:23:00 INFO common.c: Finished erasing 7 pages of 1024 (0x400) bytes 2018-03-07T11:23:00 INFO common.c: Starting Flash write for VL/F0/F3/F1_XL core id 2018-03-07T11:23:00 INFO flash_loader.c: Successfully loaded flash loader in sram 7/7 pages written 2018-03-07T11:23:00 INFO common.c: Starting verification of write complete 2018-03-07T11:23:00 INFO common.c: Flash written and verified! jolly good!
und danach auch erfolgreich dfu-uitl:
Code
Alles anzeigenCopyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2014 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to dfu-util@lists.gnumonks.org dfu-util: Invalid DFU suffix signature dfu-util: A valid DFU suffix will be required in a future dfu-util release!!! Opening DFU capable USB device... ID 1eaf:0003 Run-time device DFU version 0110 Claiming USB DFU Interface... Setting Alternate Setting #1 ... Determining device status: state = dfuIDLE, status = 0 dfuIDLE, continuing DFU mode device DFU version 0110 Device returned transfer size 1024 Copying data from PC to DFU device Download [=========================] 100% 16544 bytes Download done. state(8) = dfuMANIFEST-WAIT-RESET, status(0) = No error condition is present
die neuste Version 2018-02-23_23-08_Red_BL_SC_jrie.bin flashen.
Aufgefallen ist mir bei dieser Variante, dass auf der Rückseite das Klebepad zum Kontaktschutz mit dem Gehäuse fehlt. Da werde ich einen Schrumpfschlauch nutzen.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!