Ankündigung

Einklappen
Keine Ankündigung bisher.

ARDUINO am KNX

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

  • Mag Gyver
    antwortet
    Hallo ThorstenGehrig,

    ein wenig mehr als letztes Mal.

    Änderung in Funktion:

    Code:
    void setKNXTime(int day, int hours, int minutes, int seconds);
    nach
    Code:
    void set3ByteTime(int weekday, int hour, int minute, int second);
    Zusätzliche Funktion:

    Code:
    void set3ByteDate(int day, int month, int year);
    Antworten auf Leseanfragen:

    Code:
    bool groupAnswer3ByteTime(String, int, int, int, int);
    bool groupAnswer3ByteDate(String, int, int, int);
    Variablenübergabe auf Leseanfragen:

    Code:
    int get3ByteWeekdayValue();
    int get3ByteHourValue();
    int get3ByteMinuteValue();
    int get3ByteSecondValue();
    
    int get3ByteDayValue();
    int get3ByteMonthValue();
    int get3ByteYearValue();
    Aufnahme und Änderungen in Readme:

    siehe oben und

    Code:
    bool groupRead(String);

    Danach ein bisschen sortieren und gruppieren, damit man beim Lesen keine Augenkrämpfe bekommt.

    Anpassung und Prüfung der Examples mit neuem Code.



    Mit freundlichen Grüßen

    Mag Gyver
    Zuletzt geändert von Mag Gyver; 21.02.2016, 18:49.

    Einen Kommentar schreiben:


  • ThorstenGehrig
    antwortet
    Done. Was hast du umgebaut/eingebaut?

    Einen Kommentar schreiben:


  • Mag Gyver
    antwortet
    Hallo ThorstenGehrig,

    habe auf Bitbucket noch einen pull requests gestartet.


    Anpassungen durchgeführt:

    Readme


    Funktionen hinzugefügt:

    Knx Telegram.cpp
    Knx Telegram.h
    Knx TpUart.cpp
    Knx TpUart.h


    Aufnahme der neuen Funktionen in die Examples:

    Groupread.ino
    ReceiveKNXTelegrams.ino
    ReplyToKNXRead.ino


    Die Änderungen bzw. Anpassungen der Funktionen sind getestet mit den jeweiligen Examples.


    Checke dies Änderungen bzw. Anpassungen bei Gelegenheit gegen.
    Danke.




    Mit freundlichen Grüßen

    Mag Gyver

    Einen Kommentar schreiben:


  • Mag Gyver
    antwortet
    Hallo ThorstenGehrig,

    kein Problem.


    Mit freundlichen Grüßen

    Mag Gyver

    Einen Kommentar schreiben:


  • ThorstenGehrig
    antwortet
    Hab den pull request approved. War ja nur die eine Zeile.
    Danke für´s testen (hab selbst gerade wenig Zeit)

    Einen Kommentar schreiben:


  • Mag Gyver
    antwortet
    Hallo ThorstenGehrig,

    ich habe auf Bitbucket einen Pull requests gestartet.
    Schau dir das bitte einmal an, ob dies so richtig ist.

    Mit freundlichen Grüßen

    Mag Gyver

    Einen Kommentar schreiben:


  • Mag Gyver
    antwortet
    Hallo ThorstenGehrig,

    habe Checkout und Prüfung durchgeführt.


    Lösche bitte den doppelten Eintrag in "Knx Telegram.h" Zeile 99.

    Sollte aber funktionieren, war bei mir nach der oben genannten Änderung in Ordnung.
    Aber zur Sicherheit mache ich danach einen neuen Checkout und prüfe diese Änderungen.

    Danke auch für deine Mühen.


    Mit freundlichen Grüßen

    Mag Gyver

    Zuletzt geändert von Mag Gyver; 14.02.2016, 06:18.

    Einen Kommentar schreiben:


  • ThorstenGehrig
    antwortet
    knxtelegram.h ist angepasst - knxtelegramm.cpp ist aber laut history schon am 30-12-2015 geändert?!
    Mach mal einen neuen Checkout und prüfe es mal - danke im Voraus!

    Einen Kommentar schreiben:


  • Mag Gyver
    antwortet
    Hallo ThorstenGehrig,

    kannst du die Änderungen bitte in deine Library mit aufnehmen?
    Wenn ja, ist damit das Problem aus dem Post #784 erledigt.

    Änderungen der Zeilen in "Knx Telegram.h" von

    Code:
    //Ungetested - war char*
            String get14ByteValue(String value);
    nach

    Code:
    String get14ByteValue();
    und der Zeilen in "Knx Telegram.cpp" von

    Code:
    //
    String KnxTelegram::get14ByteValue(String value) {
    if (getPayloadLength() != 16) {
            // Wrong payload length
            return "";
        }
        char _load[15];
     _load[0]=buffer[8+0];
     _load[1]=buffer[8+1];
     _load[2]=buffer[8+2];
     _load[3]=buffer[8+3];
     _load[4]=buffer[8+4];
     _load[5]=buffer[8+5];
     _load[6]=buffer[8+6];
     _load[7]=buffer[8+7];
     _load[8]=buffer[8+8];
     _load[9]=buffer[8+9];
     _load[10]=buffer[8+10];
     _load[11]=buffer[8+11];
     _load[12]=buffer[8+12];
     _load[13]=buffer[8+13];
     return (_load);
    }
    nach

    Code:
    //
    String KnxTelegram::get14ByteValue() {
    if (getPayloadLength() != 16) {
            // Wrong payload length
            return "";
        }
        char _load[15];
     _load[0]=buffer[8+0];
     _load[1]=buffer[8+1];
     _load[2]=buffer[8+2];
     _load[3]=buffer[8+3];
     _load[4]=buffer[8+4];
     _load[5]=buffer[8+5];
     _load[6]=buffer[8+6];
     _load[7]=buffer[8+7];
     _load[8]=buffer[8+8];
     _load[9]=buffer[8+9];
     _load[10]=buffer[8+10];
     _load[11]=buffer[8+11];
     _load[12]=buffer[8+12];
     _load[13]=buffer[8+13];
     return (_load);
    }
    Getestet:

    Das Senden und Empfangen von String,ASCII.
    UNO oder MEGA <-> 5WG1 117 2AB12 / Absender bzw. Empfänger = ETS

    Nach den Änderungen der Library auf Bitbucket durch dich, stehe ich natürlich zum Test der Änderungen zur Verfügung.


    Mit freundlichen Grüßen

    Mag Gyver

    Einen Kommentar schreiben:


  • Mag Gyver
    antwortet
    Hallo ThorstenGehrig,

    ja und nein.

    Die IDE-Arduino meldet bei der Prüfung einen Fehler. Somit lässt sich der Sketch nicht auf den MEGA hochladen.

    Es ging um die grundsätzliche Frage bei NetFritz ob das Empfangen funktioniert oder nicht.


    Mit freundlichen Grüßen

    Mag Gyver
    Zuletzt geändert von Mag Gyver; 13.02.2016, 17:54.

    Einen Kommentar schreiben:


  • ThorstenGehrig
    antwortet
    Warum soll der teil aus 784 auskommentiert werden? Wenn da kein Telegram kommt sollte es doch auch keinen einfluss haben??
    Gruß
    Thorsten

    Einen Kommentar schreiben:


  • Mag Gyver
    antwortet
    Hallo NetFritz,

    ja ich meinte Post#784.
    Kein Problem.


    Mit freundlichen Grüßen

    Mag Gyver

    Einen Kommentar schreiben:


  • NetFritz
    antwortet
    Hallo
    @
    Kommentier bitte diese Anweisung in Post#787 aus:
    Du meinst Post#784
    So auskommentiert.
    Und es geht.
    Vielen Dank NetFritz

    Einen Kommentar schreiben:


  • Mag Gyver
    antwortet
    Hallo NetFritz,

    zu deinem Problem.

    Kommentier bitte diese Anweisung in Post#784 aus:

    Code:
          if (target == "15/0/5") {
            String received_15_0_5 = telegram->get14ByteValue();
            Serial.print("Empfangener Wert:");
            Serial.println(received_15_0_5);
          }
    Danach kannst du den Sketch auf den Mega spielen.

    Die Ausgabe sollte dann so aussehen, ansonsten läuft ein anderer Sketch auf dem Mega:
    Ausgabe.PNG


    Nun sollte das Senden bzw. Empfangen funktionieren.

    Dein Sketch reagiert nur auf die Gruppenadressen:

    2/1/1
    15/0/1
    15/0/2
    15/0/3
    15/0/4

    Die Augabe beim Empfang der Gruppenadresse 2/1/1 sieht so aus:
    2_1_1.PNG


    Getestet mit:

    MEGA <-> 5WG1 117 2AB12 / Absender der Gruppenadresse = ETS



    Mit freundlichen Grüßen

    Mag Gyver
    Zuletzt geändert von Mag Gyver; 11.02.2016, 17:58. Grund: Schreibfehler

    Einen Kommentar schreiben:


  • NetFritz
    antwortet
    Hallo
    @Bonscha
    Wie sendest du denn das Telegramm?
    Das ist die Gruppenadresse vom Aktor im Büro, wird von einem Taster an den Aktor gesendet und die Deckenlampe geht an.
    Die ETS zeigt das im Gruppenmonitor auch an.
    @intelligente Haustechnik
    Nur so ne Idee, mach mal die 1 weg
    Geht auch nicht.
    Gruß NetFritz

    Einen Kommentar schreiben:

Lädt...
X