Ankündigung

Einklappen
Keine Ankündigung bisher.

ARDUINO am KNX

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

  • swiss
    antwortet
    Der Downloadlink wurde hier schon mehrfach genannt.

    Einen Kommentar schreiben:


  • Chriss
    antwortet
    Hallo,

    Kann man die Libs irgendwo downloaden? bzw. einsehen?

    Mit welcher Programmierumgebung arbeitet Ihr? ARDUINO-Sketches? oder AVR Compiler?

    Danke für Info's...

    Einen Kommentar schreiben:


  • NSchnitzler
    antwortet
    Guten Morgen,

    ich habe mich gerade mal durch diesen Thread 'gekämpft', ist ein echt sehr geiles Projekt. Ich werde mir wohl auch den Buskoppler zulegen und was mit meinem Arduinos spielen.
    Meine Projektidee wäre ein RGB Sequencer/Controller mit diesen Adressierbaren WS2812B Strips, das Problem was ich nur sehe, ist das die Kommunikation einen Interrupt braucht, um während einer Sequenz auf ein neues Kommando zu reagieren. Sieht einer von euch da unüberwindbare Hindernisse?

    Gruss
    Norbert

    Einen Kommentar schreiben:


  • chris15
    antwortet
    Hi,

    Zitat von ThorstenGehrig Beitrag anzeigen
    @Chris15: kannst du deinen Code nochmal testen? (vorher Lib neu runterladen) Bei mir läuft er jetzt...
    Habe die neue Lib getestet, klappt bei mir ebenfalls einwandfrei.
    Vielen Dank.

    Einen Kommentar schreiben:


  • ThorstenGehrig
    antwortet
    Hi,
    @Bernator: hab deinen Post erst zu spät gesehen...
    JA - du hast recht.
    a) dein Vorschlag funktioniert vermutlich (habs nicht getestet)
    b) dieses Vor- und Zurückwandeln macht hier wenig sinn.

    Ich hab jetzt aber einen "Salto Rückwärtz" eingelegt und
    • individualAnswerMaskVersion

    und
    • individualAnswerAuth

    wieder zurückgestellt auf die alte Funktionsweise.

    Warum: diese Funktion wird eher "intern" Verwendet - und vom User mit Werten belegt..
    Die anderen Funktionen (die, die ich im Readme angegeben habe) werden eher vom User mit statischen Werten (=Adressen) belegt - und da ist die KNX schreibweise einfach angebracht...

    @Chris15: kannst du deinen Code nochmal testen? (vorher Lib neu runterladen) Bei mir läuft er jetzt...

    Gruß
    Thorsten

    Einen Kommentar schreiben:


  • Bernator
    antwortet
    der Fehler liegt genau da wo ich geschrieben habe, im example werden den o.g. funktionen 3x int als adresse übergeben aber die funktion wurde ja von dir auf 1x string umgebaut

    hab mal kurz gegoogelt was der arduino zur string umwandlung bietet:

    alt:
    Code:
    knx.individualAnswerMaskVersion(telegram->getSourceArea(), telegram->getSourceLine(), telegram->getSourceMember());
    neu:
    Code:
    knx.individualAnswerMaskVersion(String(String(telegram->getSourceArea())+"/"+String(telegram->getSourceLine())+"/"+String(telegram->getSourceMember())));
    ist jetzt alles andere als schön und eigentlich müsste man hier, ums durchgängig zu machen, eine neue funktion telegram->getSourceAddress() bauen die einen string zurückwirft, dann wirds wieder leserlich:

    Code:
    knx.individualAnswerMaskVersion(telegram->getSourceAddress());
    Diese ganze umwandlerei machts zwar für "Laien" einfacher, was ja die arduinophilosophie ist, allerdings frisst das unnötig speicher und rechenzeit....

    Einen Kommentar schreiben:


  • ThorstenGehrig
    antwortet
    Naja - es ist eher die KNX Philiosophie 15.15.20 und 12/13/14 antatt
    15,15,20 bzw. 12,13,14
    Und da man diese KNX-Schreibweisen nur als String übergeben kann... hab ich es so eingebaut.

    Aber danke für den Hinweiß - ich glaube ich weiss wo der Fehler ist.

    @Chris: schickst du mir mal deinen kompletten Code per eMail? (thorsten@gehrig.info)
    Ich schau dann mahl wo der Fehler ist. Danke.

    Gruß
    Thorsten

    Einen Kommentar schreiben:


  • Bernator
    antwortet
    folgendes:

    LearnKNXAddress.ino:7:25: error: too many decimal points in number....
    hier hast du vermutlich keine ""Zeichen gesetzt und somit wird die Adresse nicht als String übernommen --> KnxTpUart knx(&Serial, "15.15.20");

    'KnxTpUart::individualAnswerMaskVersion(int, int, int)'....
    'KnxTpUart::individualAnswerAuth(int, int, int, int, int)'....
    beide Funktionen erwarten ebenfalls einen string als Übergabeparameter und nicht 3x int

    will mich da jetzt nicht einmischen und habe noch nie mit arduino gearbeitet aber ich finde die Adressänderung zum String hin nicht sehr geschickt....passt aber warscheinlich zur arduinophilosophie

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    Kein Thema ... ich hatte heute morgen mal kurz in den Code geschaut aber auf Anhieb den Fehler auch nicht gefunden. Ich hab da nen knx-code-skeleton der das sauber mit der PA macht (Entprellung, LED, usw.) aber im Moment auch keine freie Minute. Bei nächster Gelegenheit mach ich das mal.

    Einen Kommentar schreiben:


  • ThorstenGehrig
    antwortet
    Schon richtig... das ist einfach ein Bug der behoben werden muss....
    Die Frage ist nur wer/wann und mit welcher Priorität.

    Ich schau mal - glaube aber nicht das ich es in den nächsten 8 Tagen schaffe (Samstag gehts für 8 Tage nach Singapur)...

    Gruß
    Thorsten

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    Also Funktionsumfang sollte nicht verloren gehen, das wäre für eine Library der falsche Weg. Librarys sind ja da da um Kernfunktionen bereitzustellen und ich finde das wenigstens ein nettes Gimmick mit der PA. Ausserdem kann man so ein Gerät per ETS identifizieren.

    Einen Kommentar schreiben:


  • chris15
    antwortet
    Zitat von ThorstenGehrig Beitrag anzeigen
    Generelle Frage: Warum tust du dir das an? Wo siehst du den Vorteil die Adresse per ETS einzustellen?
    Einiges Argument bisher: späteres ändern der Adresse ohne an das Gerät heran zu müssen...
    Wenn es die Funktion schon gibt, wollte ich sie auch gerne ausprobieren.
    Und dann kamen meine Probleme;-)

    Einen Kommentar schreiben:


  • ThorstenGehrig
    antwortet
    Hm - vielleicht (vermutlich) ist da noch ein Bug von der Umstellung auf die richtige Address-Vergabe.

    Generelle Frage: Warum tust du dir das an? Wo siehst du den Vorteil die Adresse per ETS einzustellen?
    Einiges Argument bisher: späteres ändern der Adresse ohne an das Gerät heran zu müssen...

    Gruß
    Thorsten

    Einen Kommentar schreiben:


  • chris15
    antwortet
    Hallo zusammen,

    ich habe mich jetzt auch die letzten Tage in euer Projekt eingearbeitet.
    Meine Programmierkenntnisse sind gering und habe daher direkt mal eine Frage:

    Ich habe soweit auch alles am Laufen, das einzigste wo ich noch hänge ist bei "LearnKnxAdress". Es wurde ja die Schreibweise der Physikalischen Adresse geändert. Das habe ich in dem Sketch auch geändert. Beim kompilieren kommt jedoch noch die Fehlermeldung


    LearnKNXAddress.ino:7:25: error: too many decimal points in number
    LearnKNXAddress.ino: In function 'void serialEvent1()':
    LearnKNXAddress:50: error: no matching function for call to 'KnxTpUart::individualAnswerMaskVersion(int, int, int)'
    D:\AVR\arduino-1.0.5-r2\libraries\KnxTpUart/KnxTpUart.h:73: note: candidates are: bool KnxTpUart::individualAnswerMaskVersion(String)
    LearnKNXAddress:56: error: no matching function for call to 'KnxTpUart::individualAnswerAuth(int, int, int, int, int)'
    D:\AVR\arduino-1.0.5-r2\libraries\KnxTpUart/KnxTpUart.h:74: note: candidates are: bool KnxTpUart::individualAnswerAuth(int, int, String)
    bei der Zeile:
    knx.individualAnswerMaskVersion(telegram->getSourceArea(), telegram->getSourceLine(), telegram->getSourceMember());
    Kann mir bitte jemand von euch helfen? Danke.

    Da habe ich direkt noch eine Frage:
    Welche vd benutzt ihr um die Adresse von der ETS zu übertragen?

    Danke.

    mfg,
    Chis15

    Einen Kommentar schreiben:


  • greentux
    antwortet
    Dann im Extra Thread wie von Thorsten angeregt.. Da gehts dann nicht gleich unter...

    Einen Kommentar schreiben:

Lädt...
X