Ankündigung

Einklappen
Keine Ankündigung bisher.

ARDUINO am KNX

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

  • Eugenius
    antwortet
    Kleine Anmerkung von mir:
    ich finde diese Zeile
    Code:
    Serial1.begin(19200, SERIAL_8E1);
    ist user freundlicher als
    Code:
    Serial1.begin(19200);
    UCSR1C = UCSR1C | B00100000; // Even Parity
    vor allem, wenn man Serial oder Serial1 nutzen möchte....

    Einen Kommentar schreiben:


  • tuxedo
    antwortet
    Möchte ihr bei bitbucket bleiben? Die GitHub/Git community ist größer. Damit könntet ihr mehr erreichen.

    Einen Kommentar schreiben:


  • Mag Gyver
    antwortet
    Die optimierte Library V 1.0 !

    https://bitbucket.org/MagGyver/arduino-am-knx.git

    Grundlage ist die Library von tuxedo.
    Leider nicht kompatibel zu der von ThorstenGehrig, muss ich gestehen.
    Auch wenn es mit der IDE kompiliert, da kommt nicht das Erwartete am TP-UART raus.
    Da hier die Übergabe der physikalischen Adresse und der Gruppenadressen von außen mit 3x Integer erledigt wird, aber intern wird mit Bytearray gerechnet. Alle DPT, die die Library von ThorstenGehrig unterstützt hat werden bis auf die Ausnahme DPT 3 auch durch die optimierte Version unterstützt. Hatte noch keine Zeit für die Umsetzung von DPT 3, nicht das Jemand meint das würde nicht mehr mit der optimierten Version funktionieren.


    Getestet mit IDE 1.8.1 von Arduino.cc + Arduino Uno bzw. Mega + 5WG1 117-2AB12

    Info (GroupWrite.ino , ohne Debugausgaben):

    DanielKleinAlbers Library:
    • 5598 Bytes
    ThorstenGehrig Library:
    • 7560 Bytes
    Tuxedo Library:
    • 5326 Bytes

    Keinesfalls wird die Optimierung bzw. Pflege der Library von ThorstenGehrig aufgegeben. Danke auch an tuxedo, der schon sehr vieles in seiner Version berücksichtigt hat.

    Bei Käfern bitte den Kammerjäger rufen, nein natürlich hier posten oder per Pull requests direkt auf bitbucket.

    Einen Kommentar schreiben:


  • dreamy1
    antwortet
    Superklasse, vielen Dank!!!!

    Einen Kommentar schreiben:


  • Mag Gyver
    antwortet
    Änderungen an der Library eingestellt, unter anderem:
    • Verzögerung zwischen dem Senden von Paketen an den Bus -> Neuer Wert = 100ms (Millisekunden)
    • Beschreibungen geändert und ergänzt
    • Beispiele mit der "Testkonstellation" versehen
    • Einige Texte (Kommentare) aus dem Deutschen ins Englische übersetzt -> Na gut, war ein Übersetzungsprogramm!
    Nur zur Information.



    Wer Fehler und / oder Rechtschreibfehler findet, der darf die gerne mit nach Hause nehmen.

    Einen Kommentar schreiben:


  • tuxedo
    antwortet
    Zur Info:

    https://knx-user-forum.de/forum/%C3%...-vs-konnekting

    Einen Kommentar schreiben:


  • Mag Gyver
    antwortet
    So gerade wieder einen Bug bereinigt, ist aber aus der ursprünglichen Library.

    Dank des Hinweises von Rouven Raudzus.
    Er hatte festgestellt, das negative Werte für die Funktion get2ByteFloatValue() nicht behandelt worden sind.
    Habe ich seither nie gebraucht -> globale Erwärmung und so.

    So macht Zusammenarbeit zu Verbesserung der Library Spaß!

    Einen Kommentar schreiben:


  • Mag Gyver
    antwortet
    Zu delay(50):

    In der Library ist in KnxTpUart.h die Zeilen für so etwas enthalten.

    Code:
    
    // Delay in ms between sending of packets to the bus
    // set to 0 if you keep care of that by yourself
    
    // if you choose sample "GroupRead" comment the following line
    #define SERIAL_WRITE_DELAY_MS 0
    // if you choose sample "GroupRead" uncomment the following line
    //#define SERIAL_WRITE_DELAY_MS 100
    Wenn es lesbar bleiben soll, dann bitte CHAR und über eine FUNKTION nach BYTE. STRING fragmentiert den Speicher. STRING wird zum Teil zur Laufzeit neu angelegt und wieder zerstört, dies schont den Speicher nicht ansatzweise. Hierbei kann die meiste Speicheroptimierung erzielt werden.

    Alle Debugausgaben könnte man aus dem produktiven Code entfernen und nur in einer Testversion einbauen.

    Optimierung ist auf jeden Fall möglich.
    Zuletzt geändert von Mag Gyver; 25.02.2017, 18:19.

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    Ich beantworte Deine Frage mal anders

    Es gibt noch keine Library die simpel und stabil und speicheroptimiert läuft.

    Genau das wäre ja das Ziel, und bis dahin kann man eben mit der verlinkten gut arbeiten.

    Für einen Fork und Umbau ist diese aber, glaube ich, am besten geeignet.

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Zitat von JuMi2006 Beitrag anzeigen
    man sieht also wie wichtig eine einfache und stabile Library ist.
    Zugegeben, ich hab jetzt nicht nachgeguckt. Aber sind da nicht auch schon die "lieber als String, weil besser lesbar als (1,2,3) - egal, auch wenn es 2kB kostet"-"Optimierungen" drin?

    Einen Kommentar schreiben:


  • dreamy1
    antwortet
    WOW! Das sieht doch mal klasse und sehr professionell aus...ein Smoker mit Busanschluss...Respekt :-)

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    Just for the Record:

    https://bitbucket.org/thorstengehrig...user-forum/src

    Diese Library ist gut funktionierend was die Standard-Funktionen angeht.
    Der Link ist sicherlich in den mittlerweile 60 Seiten irgendwo versteckt und damit habe ich auch keine Probleme beim Kompilieren mehr. Das einzige was mir als "Bug" aufgefallen ist dass schnelle Telegrammfolgen nicht korrekt ablaufen. Habe dann einfach ein delay(50) eingebaut und damit keine Probleme.

    Ansonsten an dieser Stelle noch mal Danke an Mag Gyver der die Lib mit Thorsten soweit funktionsfähig gemacht hat, man sieht also wie wichtig eine einfache und stabile Library ist.

    P.S.:
    Jetzt kann der Smoker wieder angeworfen werden


    You do not have permission to view this gallery.
    This gallery has 2 photos.

    Einen Kommentar schreiben:


  • Mag Gyver
    antwortet
    Tja, dies kenne ich zu genügend. "Wenn man nicht alles gleich dokumentiert."
    Stimmt, habe ich am Anfang auch so wie du gemacht. Aber das pflegen des lokalen Standards macht auch sehr viel Arbeit. Deshalb steuerte ich meine Ergänzungen zur Library bei.

    Okay "allumfassend" ist die Library nicht, aber sie deckt immerhin fast 60% der Anwendungsmöglichkeiten ab. Klar es gibt nicht für alles einen Beispielsketch bzw. und für den UNO und MEGA gibt es diverse Sachen. Klar man könnte da mehr dokumentieren und erklären. Aber dann ist es ja nicht mehr "DIY" oder?

    Okay, gebe dir vollkommen recht.. "never touch a running system".


    Grüße

    Mag Gyver

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Danke fuer das Angebot, aber danke nein
    Ich versteh das alles schon ein klein wenig, ich hab am Anfang auch mit Thorsten zusammen an der Weiterentwicklung der Lib gearbeitet.
    Weil die ganzen Lib-Erweiterungen dann aber irgendwann immer inkompatibler zu ihren Vorgaengern wurden, hab ich mich da schlussendlich ausgeklinkt und die Sachen die (mir) fehlten nur noch lokal eingepflegt.

    Mein daraus resultierendes Problem ist jetzt, dass ich unterschiedliche Sketche fuer unterschiedliche Libs gebaut habe.
    Daher haette ich einfach gerne einen "allumfassenden" Stand der auch funktioniert, dann taet ich mir auch die Muehe machen alle meine Sketche mal anzupassen. Aber so wie es jetzt ist, lass ich lieber einfach so wie es ist.. never touch a running system und so

    Einen Kommentar schreiben:


  • Mag Gyver
    antwortet
    Hallo wintermute,

    stell doch dein "Problem"-Sketch hier ein oder schick ihn mir per PN. Dann schau ich mir dies mal an, vielleicht sehen andere zwei Augen mehr?

    Zumindest habe ich keine Probleme mit ThorstenGehrig Library. Bin gerade dabei mit der Version 1.8.1 der IDE von Arduino.cc diese Library zu testen.

    Danke auch an tuxedo für den Link zu deiner Library.


    Mit freundlichen Grüße

    Mag Gyver
    Zuletzt geändert von Mag Gyver; 24.02.2017, 16:40.

    Einen Kommentar schreiben:

Lädt...
X