Ankündigung

Einklappen
Keine Ankündigung bisher.

KONNEKTING Anfängerfragen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    KONNEKTING Anfängerfragen

    Hallo Konnekting team,
    ich versuche gerade meine ersten Schritte und dachte ich starte mal mit fertigen Komponenten.
    Dafür hab ich mir schon vor Monaten von Eugen mal 2 MI's bestellt die ich gestern endlich aus dem Schrank geholt und fertig gelötet habe.
    Verstehe ich das richtig das ich auch für ein im Prinzip fertiges Gerät wie den MI erst die Arduino UI brauche, um den initialen sketch drauf zu laden um es anschliessend über die KONNEKTING Suite parametrisieren zu können?

    Also, Arduino UI installiert.
    Über den Board Manager SAMD support installiert.
    Arduino zero als Board ausgewählt -> korrekt?
    "Native USB Port" als Port ausgewählt
    KONNEKTING device library beta4 über die IDE installiert.
    Dann den sketch Binary Inputs 0.1 von
    https://github.com/KONNEKTING/KonnektingFirmware
    heruntergeladen und in der IDE geöffnet.

    Dann auf Verify geklickt und dann kriege ich einen Fehler.
    Und jetzt komm ich nicht mehr weiter.

    Kann mir bitte jemand auf die Sprünge helfen?

    Vielen Dank und LG, Till
    Code:
    Arduino: 1.8.12 (Windows 10), Board: "Arduino Zero (Native USB Port)"
    
    In file included from C:\Users\till\Documents\Konnekting\Binary_Inputs_0 .1\Binary_Inputs_0.1.ino:15:0:
    
    kdevice_binary_inputs.h:112:30: error: conflicting declaration 'const byte KonnektingDevice::_numberOfParams'
    
    const byte KonnektingDevice::_numberOfParams = sizeof (_paramSizeList); // do not change this code
    
    ^~~~~~~~~~~~~~~
    
    In file included from C:\Users\till\Documents\Konnekting\Binary_Inputs_0 .1\Binary_Inputs_0.1.ino:11:0:
    
    C:\Users\till\Documents\Arduino\libraries\KONNEKTI NG_Device_Library\src/KonnektingDevice.h:102:22: note: previous declaration as 'const int KonnektingDevice::_numberOfParams'
    
    static const int _numberOfParams;
    
    ^~~~~~~~~~~~~~~
    
    In file included from C:\Users\till\Documents\Konnekting\Binary_Inputs_0 .1\Binary_Inputs_0.1.ino:15:0:
    
    kdevice_binary_inputs.h:112:30: error: declaration of 'const int KonnektingDevice::_numberOfParams' outside of class is not definition [-fpermissive]
    
    const byte KonnektingDevice::_numberOfParams = sizeof (_paramSizeList); // do not change this code
    
    ^~~~~~~~~~~~~~~
    
    In file included from C:\Users\till\Documents\Konnekting\Binary_Inputs_0 .1\Binary_Inputs_0.1.ino:42:0:
    
    sketch\setup.h: In function 'void setup()':
    
    setup.h:13:34: error: invalid conversion from 'int (*)(int)' to 'byte (*)(int) {aka unsigned char (*)(int)}' [-fpermissive]
    
    Konnekting.setMemoryReadFunc(&readMemory);
    
    ^~~~~~~~~~~
    
    In file included from C:\Users\till\Documents\Konnekting\Binary_Inputs_0 .1\Binary_Inputs_0.1.ino:11:0:
    
    C:\Users\till\Documents\Arduino\libraries\KONNEKTI NG_Device_Library\src/KonnektingDevice.h:120:10: note: initializing argument 1 of 'void KonnektingDevice::setMemoryReadFunc(byte (*)(int))'
    
    void setMemoryReadFunc(byte(*func)(int));
    
    ^~~~~~~~~~~~~~~~~
    
    In file included from C:\Users\till\Documents\Konnekting\Binary_Inputs_0 .1\Binary_Inputs_0.1.ino:42:0:
    
    setup.h:14:35: error: invalid conversion from 'void (*)(int, int)' to 'void (*)(int, byte) {aka void (*)(int, unsigned char)}' [-fpermissive]
    
    Konnekting.setMemoryWriteFunc(&writeMemory);
    
    ^~~~~~~~~~~~
    
    In file included from C:\Users\till\Documents\Konnekting\Binary_Inputs_0 .1\Binary_Inputs_0.1.ino:11:0:
    
    C:\Users\till\Documents\Arduino\libraries\KONNEKTI NG_Device_Library\src/KonnektingDevice.h:121:10: note: initializing argument 1 of 'void KonnektingDevice::setMemoryWriteFunc(void (*)(int, byte))'
    
    void setMemoryWriteFunc(void (*func)(int, byte));
    
    ^~~~~~~~~~~~~~~~~~
    
    In file included from C:\Users\till\Documents\Konnekting\Binary_Inputs_0 .1\Binary_Inputs_0.1.ino:42:0:
    
    setup.h:15:36: error: invalid conversion from 'void (*)(int, int)' to 'void (*)(int, byte) {aka void (*)(int, unsigned char)}' [-fpermissive]
    
    Konnekting.setMemoryUpdateFunc(&updateMemory);
    
    ^~~~~~~~~~~~~
    
    In file included from C:\Users\till\Documents\Konnekting\Binary_Inputs_0 .1\Binary_Inputs_0.1.ino:11:0:
    
    C:\Users\till\Documents\Arduino\libraries\KONNEKTI NG_Device_Library\src/KonnektingDevice.h:122:10: note: initializing argument 1 of 'void KonnektingDevice::setMemoryUpdateFunc(void (*)(int, byte))'
    
    void setMemoryUpdateFunc(void (*func)(int, byte));
    
    ^~~~~~~~~~~~~~~~~~~
    
    exit status 1
    conflicting declaration 'const byte KonnektingDevice::_numberOfParams'
    
    This report would have more information with
    "Show verbose output during compilation"
    option enabled in File -> Preferences.

    #2
    Zitat von skywalker007 Beitrag anzeigen
    const byte KonnektingDevice::_numberOfParams = sizeof (_paramSizeList); // do not change this code
    Ändere hier "const byte" in "const int". Dann sollte es klappen.

    Kommentar


      #3
      Danke, da waren noch ein paar mehr Änderungen nötig aber jetzt läufts durch.
      VG!

      Kommentar


        #4
        Wenn du den CodeCreator für dein eigenes Projekt nutzt musst du immer den Eintrag ändern. Das Problem ist aber bekannt und wird beim nächsten Release beseitigt.

        Kommentar


          #5
          Ok, also den sketch habe ich drauf gekriegt.
          Jetzt versuche ich das Device am KNX bus zu parametrisieren.
          Die Suite bricht schon sehr schnell mit:
          Code:
          ​​​​​​[Programming] Please press 'program' button...
          [Programming] An error occured.
          de.konnekting.deviceconfig.ProgramException: Problem writing individual address
          at de.konnekting.deviceconfig.Program.program(Program .java:122)
          at de.konnekting.suite.ProgramDialog$4.run(ProgramDia log.java:192)
          at java.lang.Thread.run(Thread.java:745)
          at de.konnekting.suite.BackgroundTask$1.run(Backgroun dTask.java:59)
          Caused by: de.root1.slicknx.KnxException: Can not set address. no device in prog mode
          at de.konnekting.mgnt.protocol0x00.ProgProtocol0x00.w riteIndividualAddress(ProgProtocol0x00.java:384)
          at de.konnekting.mgnt.KonnektingManagement.writeIndiv idualAddress(KonnektingManagement.java:70)
          at de.konnekting.deviceconfig.Program.program(Program .java:118)
          ... 3 more
          
          [Programming] Done! Duration: 13843 ms
          ab. Selbst wenn ich mich beeile und vorher den Knopf drücke passiert nichts.

          Kommentar


            #6
            Das Problem kann zwei Ursachen haben:
            1. Die Suite bekommt ihre Daten nicht auf den Bus. Mein Rechner unter Windows 10 hatte dieses Problem beim Programmieren über das Netzwerk (knxd). Der knxd arbeitete einwandfrei mit ETS zusammen. Lösung: Programmieren über RS232.
            2. Das Device lauscht nicht am Bus, auch wenn das im Moment so aussieht. Das hatte ich auch mal, habe aber leider vergessen, wo der Fehler genau lag.

            Ich gehe davon aus, dass der Bus funktioniert . Den Programmierknopf kannst du übrigens drücken, bevor du die Programmierung in der Suite startest. Ich starte den Programmiermodus automatisch, wenn das Device noch gar nicht programmiert ist.

            Kommentar


              #7
              Vielen Dank für deine schnellen Antworten.
              Also da ich kein RS232-KNX Gateway habe fällt die Variante aus.
              Ich habe bei der Suite explizit angegeben welches Gateway er verwenden soll und zumindest empfängt die Suite darüber auch Telegramme.
              Da ich zwei IP Gateways im Netz habe hab ich auch beide probiert, mit dem gleichen Resultat.
              Bus funktioniert. Sonst säße ich im dunkeln .
              Ob das device am Bus lauscht hab ich keine Idee. Wie kann ich denn rausfinden ob das device läuft?
              Ich hatte gehofft das beim drücken der Programmiertaste die LED angeht.


              Kommentar


                #8
                Ich habe das Problem beim Routing in Windows. Ich sehe auch die Telegramme, wenn ich die IP-Varianten wähle. Nur Programmieren geht nicht. Gerade ist mir auch wieder eingefallen, was ich bei meinem Device falsch gemacht hatte. Ich habe den Timer 0 innerhalb meiner Anwendung benutzt (Mega 328). Nachdem ich auf Timer 2 umgeswitcht hatte lief es.

                Habe ich richtig gelesen? Deine Prog-LED geht nicht an, wenn du die Prog-Taste drückst? Dann liegt hier das Problem. Die Prog-LED muss angehen. Vielleicht mit einem Testsketch Taste und LED testen.

                PS: MI hat keine BCU
                Zuletzt geändert von Albatros62; 07.06.2020, 17:02.

                Kommentar


                  #9
                  Danke, ich hab jetzt mal schnell mein zweites MI aufgebaut. Siehe da, hier leuchtet die LED blau wenn ich den Prog Taster drücke.
                  Allerdings nur kurz.
                  Ansonsten ist das Problem unverändert.
                  Wenn ich auf auf meinem zweiten IP Interface ein Bus monitor laufen lasse, dann sehe ich übrigends das die Suite Telegramme an die Adresse 15/7/255 verschickt. Also gehen zumindest Telegramme auf den Bus

                  Kommentar


                    #10
                    Update: Jetzt habe ich bei dem MI das zumindest für kurze Zeit blaue LED zeigte die MicroBCU getauscht. Siehe da, nun leuchtet hier die Prog LED dauerhaft wenn ich die Prog taste drücke. Und nun lässt sich das Gerät auch programmieren. Yeah!
                    Stellt sich die Frage warum das andere nicht läuft. Das werde ich mal analysieren.

                    Kommentar

                    Lädt...
                    X