Entwicklung SIGNALDuino Empfänger Firm- und Hardware V4 für Maple Mini und ESP32

Begonnen von Ralf9, 13 Dezember 2019, 12:48:26

Vorheriges Thema - Nächstes Thema

trebron106

Hallo,

ich habe die MapleSduino Version von Telekatz mit den Änderungen von Ralf9 in der board.h kompiliert und getestet.
Bei mir läuft diese Version.

Ich habe folgende Toolchain Version genommen ,


gcc version 6.3.1 20170620 (release) [ARM/embedded-6-branch revision 249437] (GNU Tools for ARM Embedded Processors 6-2017-q2-update).



Mit neueren Versionen kann man zwar kompilieren , die erstellte Bin-File ist kleiner, läuft aber nicht.

Ich hänge einmal meine erstellte Bin-File an.

Gruß
Klaus

juergs

Hatte die aktuelle Version auf dem RASPI4 installiert:
arm-none-eabi-gcc (15:7-2018-q2-6) 7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907]


      Da ich den Compile unter Windows 10 in obiger Version durchführen wollte und die Vorgehensweise evtl. für andere ggf. auch interresant sein könnte, hier mein Weg:
    • Dann Anpassen der Makefiles:
    • 1.) Makefile in /Devices -> Pfade zur passenden  ARM-Umgebung ergänzen:

    # Add the full path name of these tools if necessary
    CC=/mnt/d/Work_FHEM/gcc-arm-none-eabi-6-2017-q2-update-linux/bin/arm-none-eabi-gcc
    OBJCOPY=/mnt/d/Work_FHEM/gcc-arm-none-eabi-6-2017-q2-update-linux/bin/arm-none-eabi-objcopy


    • 2. makefile im MapleCUN-Verzeichnis ebenso:
    CC=/mnt/d/Work_FHEM/gcc-arm-none-eabi-6-2017-q2-update-linux/bin/arm-none-eabi-gcc
    OBJCOPY=/mnt/d/Work_FHEM/gcc-arm-none-eabi-6-2017-q2-update-linux/bin/arm-none-eabi-objcopy
    SIZE=/mnt/d/Work_FHEM/gcc-arm-none-eabi-6-2017-q2-update-linux/bin/arm-none-eabi-size

    Dann unten im size-Aufruf den obigen SIZE-Alias verwenden, falls benötigt:
    $(TARGET).elf: $(OBJS)
    $(CC) $(OBJS) $(LDFLAGS) -o $@
    $(OBJCOPY) -O ihex $(TARGET).elf $(TARGET).hex
    $(OBJCOPY) -O binary $(TARGET).elf $(TARGET).bin
    $(SIZE) $(TARGET).elf


    • mit /mnt/d/Work_FHEM/Firmware/a-culfw-MapleSduino_Telekatz/a-culfw-MapleSduino/culfw/Devices/make all oder
    • /mnt/d/Work_FHEM/Firmware/a-culfw-MapleSduino_Telekatz/a-culfw-MapleSduino/culfw/Devices/MapleCUN$ make MapleCUL das Projekt bauen.

    Noch das Address-Detail:
    ZitatMemory Configuration

    Name             Origin             Length             Attributes
    RAM              0x0000000020000000 0x0000000000005000 xrw
    FLASH           0x0000000008002000 0x000000000001e000 xr

    Immer möglich, dass es elegantere Wege dafür gibt, aber so hat es für mich funktioniert und dabei auch etwas dazugelernt. ;)

    Jetzt geht es ans Testen und das Gehäuse ...

    Grüße,
    Jürgen

    /edit: Tippfehler bei  SIZE beseitigt! (Den Screenshot habe ich so gelassen)

    juergs

    Ich bin über STLINK so vorgegangen:

    • full erase
    • zuerst den 7KB "großen" maple_mini_boot20.bin Bootloader auf Addresse 0x08000000 geflashed. (Anmerkung: falscher BL, den maple_mini_boot.bin nehmen!)
    • Dann MapleCUNx4_W5500_BL.bin von trebron106 an Addresse  0x08002000 geflashed.   
      Ergebnis: Die MapleCUL COM-Ports sind nach Reset da: V 1.26.08 a-culfw Build: private build (unknown) MapleCUNx4_01 (F-Band: 868MHz))
      und LED blinkt  :)
    • Mein Compile MapleCUNx4_W5500_BL.bin funktioniert ebenso!  :D

    Ranseyer

    Hier gibt es ab sofort die Platinenversion 0.2: ...https://forum.fhem.de/index.php/topic,109220.msg1033965.html#msg1033965
    Achtung: Die Beschrifting 433 und 868 MHz muss getauscht werden...

    FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
    Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
    Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
    Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

    Ralf9

    Hat inzwischen schon jemand die Firmware V 4.10 auf dem MapleSduino (Maple_sduino_USB_410dev20xxxx.bin) oder MapleCul (Maple_cul_USB_410dev20xxxx.bin) erfolgreich getestet?

    Es wäre schön, wenn ich Rückmeldungen bekommen würde.

    Gruß Ralf
    FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
    HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
    Maple-SIGNALduino, WH3080,  Hideki, Id 7

    juergs

    Hallo Ralf,

    habe gestern den aculw und den Signalduino zusammen testen wollen.
    D.h. wollte den CUL am BananaPi dranlassen (funktioniert) und dann den MapleSignalduino angeschlossen.

    Obwohl er unter Windows funktioniert, konnte Fhem nicht den Port ermitteln.

    Die Ports des 1. Maple (aculfw) waren sichtbar, aber die des Signalduino nicht.

    Aus dem Output von dmesg werde ich nicht schlau. Beide PID sind da aber ich erkenne die Zuordnung zu welcher tty-Schnittstelle nicht.     

    Aber das wäre ja noch eine Sonderkonstellation, werde nachher versuchen den Maple zu deaktiveren und ggf den MapleSignalduino zu aktivieren ...

    Zitat/dev/serial/by-id/usb-STM32_MapleCUL_88bf416a-if02@57600
    stammt noch von den gestrigen Versuchen und ist definitiv nicht die Richtige ...

    Das "list" des Devices:

    ZitatInternals:
       Clients    :IT:CUL_TCM97001:SD_RSL:OREGON:CUL_TX:SD_AS:Hideki:SD_WS07:SD_WS09: :SD_WS:RFXX10REC:Dooya:SOMFY:SD_BELL:SD_UT:SD_WS_Maverick:FLAMINGO:CUL_WS:Revolt: :FS10:CUL_FHTTK:Siro:FHT:FS20:CUL_EM:Fernotron:SD_Keeloq:SD_GT:LaCrosse:KOPP_FC:PCA301:SIGNALduino_TOOL:SIGNALduino_un:
       DEF        /dev/serial/by-id/usb-STM32_MapleCUL_88bf416a-if02@57600
       DMSG       nothing
       DevState   disconnected
       DeviceName /dev/serial/by-id/usb-STM32_MapleCUL_88bf416a-if02@57600
       FUUID      5e87a27e-f33f-33ec-5724-f8b9a27c9bca60f7
       IDsNoDispatch 2,72.1,82,87,88
       LASTDMSG   nothing
       LASTDMSGID nothing
       NAME       MapleSDuino
       NR         117
       PARTIAL   
       STATE      disconnected
       TIME       1585985266.08868
       TYPE       SIGNALduino
       versionmodul v3.4.5-dev_ralf_29.02.
       versionprotoL v3.4.5-dev_ralf_28.02.
       MatchList:
         10:SD_WS07 ^P7#[A-Fa-f0-9]{6}[AFaf][A-Fa-f0-9]{2}
         11:SD_WS09 ^P9#F[A-Fa-f0-9]+
         12:SD_WS   ^W\d+x{0,1}#.*
         13:RFXX10REC ^(20|29)[A-Fa-f0-9]+
         14:Dooya   ^P16#[A-Fa-f0-9]+
         15:SOMFY   ^Ys[0-9A-F]+
         16:SD_WS_Maverick ^P47#[A-Fa-f0-9]+
         17:SD_UT   ^P(?:14|20|26|29|30|34|46|68|69|76|81|83|86|90|91|91.1|92|93|95)#.*
         18:FLAMINGO ^P13\.?1?#[A-Fa-f0-9]+
         19:CUL_WS  ^K[A-Fa-f0-9]{5,}
         1:IT       ^i......
         20:Revolt  ^r[A-Fa-f0-9]{22}
         21:FS10    ^P61#[A-F0-9]+
         22:Siro    ^P72#[A-Fa-f0-9]+
         23:FHT     ^81..(04|09|0d)..(0909a001|83098301|c409c401)..
         24:FS20    ^81..(04|0c)..0101a001
         25:CUL_EM  ^E0.................
         26:Fernotron ^P82#.*
         27:SD_BELL ^P(?:15|32|41|42|57|79|96)#.*
         28:SD_Keeloq ^P(?:87|88)#.*
         29:SD_GT   ^P49#[A-Fa-f0-9]+
         2:CUL_TCM97001 ^s[A-Fa-f0-9]+
         30:LaCrosse ^(\S+\s+9 |OK\sWS\s)
         31:KOPP_FC ^kr..................
         32:PCA301  ^\S+\s+24
         3:SD_RSL   ^P1#[A-Fa-f0-9]{8}
         4:OREGON   ^(3[8-9A-F]|[4-6][0-9A-F]|7[0-8]).*
         5:CUL_TX   ^TX..........
         6:SD_AS    ^P2#[A-Fa-f0-9]{7,8}
         7:Hideki   ^P12#75[A-F0-9]+
         90:SIGNALduino_TOOL ^pt([0-9]+(\.[0-9])?)(#.*)?
         9:CUL_FHTTK ^T[A-F0-9]{8}
         X:SIGNALduino_un ^\d+#.*
       READINGS:
         2020-04-04 09:27:46   state           disconnected
         2020-04-04 10:19:43   version         0
       mcIdList:
         ....
    Attributes:
       room       Gateways



    Ralf9

    ein ls -l /dev/serial/by-id ergibt bei mir:
    usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_8D82067E4850-if00 -> ../../ttyACM0
    in der DEF vom sduino steht dann:
    /dev/serial/by-id/usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_8D82067E4850-if00@115200

    Gruß Ralf

    FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
    HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
    Maple-SIGNALduino, WH3080,  Hideki, Id 7

    juergs

    Hallo Ralf,

    bei ls /dev/serial/by-id/ sthen nur die 3 Ports des CULs drin.
    hatte erwartet dass dor auch der Signalduino auftaucht.

    Aber Moment, ich schließe nur den Signalduino an. Mal schauen ob er dann zum Vorschein kommt.

    Ranseyer

    @Juergs: Vorschlag: lege Dir doch mal 3 (2) USB Geräte auf den Tisch:

    -CUL
    -SDuino
    -FTDI Adapter

    Dann gibst du ein:
    "tail -f /varlog/syslog"
    Die ersten 5 Zeilen die sofort kommen ignorierst du...

    A) dann steckst du ein den Maple-CUL: Zuerst meldet sich ein LeafLabs Gerät bzw. dessen Bootloader, dann gibt es einen USB-Diconnect und die siehst wie sich der Maple-CUL selbst mit drei Devices meldet
    B) FTDI Adataper stecken und seine Meldungen studieren
    C) SDuino stecken un vergleichen...
    FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
    Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
    Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
    Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

    juergs

    Hallo Martin,

    danke, gute Idee!

    Der MapleCul connect via ttyACM2
    FTDI über ttyUSB0

    Aber der SignalDuino?

    Prüfe nochmal über Win10. => geht auch nicht (mehr)

    Flashe die Firmware noch mal neu!

    Ralf9

    Habs mal bei meinem bananapi getestet:
    root@bananapi:/home/ralf# tail -f /var/log/syslog
    ...
    Apr  4 15:39:23 localhost kernel: [   91.584795] ehci_irq: port change detect
    Apr  4 15:39:23 localhost kernel: [   91.651500] The port change to OHCI now!
    Apr  4 15:39:23 localhost kernel: [   91.947612] usb 5-1: new full-speed USB device number 3 using sw-ohci
    Apr  4 15:39:23 localhost kernel: [   92.209859] cdc_acm 5-1:1.0: This device cannot do calls on its own. It is not a modem.
    Apr  4 15:39:23 localhost kernel: [   92.224425] cdc_acm 5-1:1.0: ttyACM0: USB ACM device
    Apr  4 15:39:23 localhost kernel: [   92.241987] usbcore: registered new interface driver cdc_acm
    Apr  4 15:39:23 localhost kernel: [   92.258930] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters


    Wichtig ist, daß der Orginal Bootloader drauf ist.

    Gruß Ralf
    FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
    HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
    Maple-SIGNALduino, WH3080,  Hideki, Id 7

    juergs

    Hallo Ralf,

    sorry, hatte vorgestern am Signalduino schon Kommandos über ein Terminal ausprobiert ...

    Warum das heute nicht kommt : "cdc_acm 5-1:1.0: ttyACM0: USB ACM device" kann ich gerade nicht nachvollziehen.

    An welche Adresse flasht Du effektiv  "Maple_sduino_USB_410dev200322.bin" nach dem Bootloader?

    0x8002000

    oder

    0x8005000


    ?

    Jürgen

    PS: Über den STMFlashLoader ....

    4.1.0-dev200306\Maple_sduino_USB_410dev200306.bin

    oder

    4.1.0-dev200322\Maple_sduino_USB_410dev200322.bin

    sollte kein wesentlichen Unterschied machen ...

    Ralf9

    ZitatAn welche Adresse flasht Du effektiv  "Maple_sduino_USB_410dev200322.bin" nach dem Bootloader?

    wo sehe ich das?

    # ./dfu-util -v -d 1eaf:0003 -a 1 -D Maple_sduino_USB_410dev200322.bin -R
    dfu-util 0.8

    Copyright 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%        56084 bytes
    Download done.
    Sent a total of 56084 bytes
    state(8) = dfuMANIFEST-WAIT-RESET, status(0) = No error condition is present
    Done!
    Resetting USB to switch back to runtime mode

    FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
    HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
    Maple-SIGNALduino, WH3080,  Hideki, Id 7

    juergs

    Ok, reproduziere das über dfu-util, wie Du.
    Vielleicht ist da etwas anders ....

    juergs

    D:\Work_FHEM\_maple_sduino\_firmware>"C:\Program Files (x86)\Arduino\hardware\Arduino_STM32\tools\win\dfu-util.exe" -v -d 1eaf:0003 -a 1 -D Maple_sduino_USB_410dev200322.bin -R
    dfu-util - (C) 2007-2008 by OpenMoko Inc.
    This program is Free Software and has ABSOLUTELY NO WARRANTY

    Opening USB Device 0x1eaf:0x0003...
    Found Runtime: [0x1eaf:0x0003] devnum=1, cfg=0, intf=0, alt=1, name="DFU Program FLASH 0x08005000"
    Setting Configuration 1...
    Claiming USB DFU Interface...
    Setting Alternate Setting ...
    Determining device status: state = dfuIDLE, status = 0
    dfuIDLE, continuing
    Transfer Size = 0x0400
    bytes_per_hash=1121
    Starting download: [##################################################] finished!
    state(8) = dfuMANIFEST-WAIT-RESET, status(0) = No error condition is present
    Done!
    Resetting USB to switch back to runtime mode
    error resetting after download: usb_reset: could not reset device, win error: Ein nicht vorhandenes Gerõt wurde angegeben.


    Aha : name="DFU Program FLASH 0x08005000"   ;D

    Ging nicht über RESET,
    ZitatD:\Work_FHEM\_maple_sduino\_firmware>"C:\Program Files (x86)\Arduino\hardware\Arduino_STM32\tools\win\dfu-util.exe" -v -d 1eaf:0003 -a 1 -D Maple_sduino_USB_410dev200322.bin -R
    dfu-util - (C) 2007-2008 by OpenMoko Inc.
    This program is Free Software and has ABSOLUTELY NO WARRANTY

    Lost Device after reset, assuming prod_id was incremented by oneNo DFU capable USB device found

    sondern nur über aus- und ein-Stecken des USB-Steckers ...