Hi,
Du hast offensichtlich noch ein Encoding-Problem: Ich bin mir recht sicher, dass ich alles in UTF8 gespeiechert habe, das scheint aber so nicht bei Dir anzukommen - was ich verwunderlich finde. Weißt Du, um welche Datei es geht? Dann würde ich nochmal schauen, ob ich da vielleicht nicht versehentlich doch die Windows-Codepage eingestellt habe.
Ansonsten habe ich das binary gefunden, ich werde es heute Abend auf github bereitstellen, gleich mit allen bisher angefallenen Korrekturen.
Gruß, Waldemar
Ankündigung
Einklappen
Keine Ankündigung bisher.
Alternative Firmware für das Raum-Sensormodul von Masifi
Einklappen
X
-
Das hat funktioniert. Leider hängt der Build dann mit:Zitat von mumpf Beitrag anzeigenDu kannst unter Windows auch einfach das Verzeichnis knx-sensor auf dem Desktop öffnen und dann einen doppelclick auf Sensormodul.code-workspace machen.
Aber wie das dann weiter läuft oder nicht kann ich nicht so einfach sagen.
Vielleicht könntest Du auf GitHub die Binaries zur Verfügung stellen und dann schaue ich mal, wie ich es drauf bekomme.Code:UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 185: character maps to <undefined>
Wegen der knxprod schauen wir dann mal weiter. Das ist ja ein anderes Prozedere.
Einen Kommentar schreiben:
-
Hi,
ich habe das extra auf einer frischen Win10-Instanz getestet... allerdings nur mit den Standard-Pfaden. Und die fangen unter Windows nunmal mit "C:\Users\<username>" an.
Du kannst unter Windows auch einfach das Verzeichnis knx-sensor auf dem Desktop öffnen und dann einen doppelclick auf Sensormodul.code-workspace machen.
Aber wie das dann weiter läuft oder nicht kann ich nicht so einfach sagen.
Ich kann Dir eine Firmware bauen, aber ich hab bisher immer direkt den Upload auf das Device verwendet. Ich hab ehrlich gesagt keine Ahnung, wie man das getrennt macht (also bei mir bauen und dann bei Dir ein Upload). Da bräuchte ich also Tipps von der Community, wie man das macht. Ich hätte auch kein Problem, eine fertige Firmware zu veröffentlichen, bei der knxprod sieht das aber anders aus - deswegen hab ich mir ja die mühe gemacht, eine Bauanleitung zu machen.
Gruß, Waldemar
Einen Kommentar schreiben:
-
Ich benutze Windows 10 unter VMWare Fusion auf aktuellem MacOS und habe die Anleitung hier befolgt. Bis zum Kommandohat auch alles funktioniert. Auf dieses Kommando hin, habe ich folgende Ausgabe in der Konsole erhalten:Code:code Sensormodul.code-workspace
Passiert ist dann lediglich, dass ein neues Tab "Sensormodul.code-workspace" geöffnet wurde, das aber vollkommen leer war. Eine neue Instanz (neues Fenster?) habe ich nicht gesehen.Code:PS Microsoft.PowerShell.Core\FileSystem::\\vmware-host\Shared Folders\Dokumente\PlatformIO\Projects\knx-sensor> code Sensormodul.code-workspace "\\vmware-host\Shared Folders\Dokumente\PlatformIO\Projects\knx-sensor" CMD.EXE wurde mit dem oben angegebenen Pfad als aktuellem Verzeichnis gestartet. UNC-Pfade werden nicht unterstützt. Stattdessen wird das Windows-Verzeichnis als aktuelles Verzeichnis gesetzt.
Hat jemand eine Idee, wie ich hier weiterkomme? Ich bestehe im Übrigen nicht darauf, selbst zu kompilieren.
Einen Kommentar schreiben:
-
Hi, wie gesagt, die Hardwareseite musst Du mit Masifi klären. Und natürlich kann ich Dir helfen, dass wir eine Firmware stricken, die genau Deinen Bedürfnissen genügt, das ist häufig wesentlich weniger Aufwand als ein generischer (und normalerweise zeitkritischer) Input in einer Firmware.
Sprich mich einfach darauf an, wenn es soweit ist.
Gruß, Waldemar
Einen Kommentar schreiben:
-
Danke für dein schnelles Feedback.
Die Hardware wäre kein Problem da ich zumindest in meinem Fall eh eine eigene Hardware verwenden muss.Zitat von mumpf Beitrag anzeigen...erfordern IO - zumindest die Inputs - aber Optokoppler, und für die ist wohl kein Platz mehr auf der Platine.
Wenn das so einfach wäre, in meinem Fall muss ich über KNX ein fertiges Modul mit 5V und 22mA versorgen, ich habe da nun schon einige "fertige" binär Eingänge zerlegt aber noch keines gefunden welches dieser Anforderung gerecht wird, entweder stehen da auf der Platine nur 3.3V zur Verfügung wo dann der Strom selbst für einen sehr effizienten Boost Converter nicht reicht, oder es gibt 5V aber dann auch nur mit ein paar mA.Warum ich nicht so sehr für IO bin: Es gibt sehr günstige Tasterschnittstellen, die können prima IO, warum nicht die nehmen? ...
Ich hätte jetzt einfach ein SAMD Board und ein KNX Interface Board von Eugen genommen und dann mit deiner Lösung da was gebastelt.
Aber nicht tragisch, ich dachte nur, ich kommen jetzt schnell und ohne viel Aufwand an eine Lösung.
Einen Kommentar schreiben:
-
Hallo Walter,
ist aus mehrfacher Hinsicht schwierig:- Output wäre aus Firmwaresicht noch relativ einfach zu realisieren, ich würde pro Logikkanal eine Ausgabe auf einen Outputkanal machen, ähnlich wie beim Buzzer.
- Input ist aber timing-kritisch und bisher hab ich schlechte Erfahrungen mit Interrupts gemacht. Außerdem kommen dann sofort die Forderungen nach Zählern etc.
- Von der Hardware her (hier muss Masifi sich aber qualifiziert äußern) erfordern IO - zumindest die Inputs - aber Optokoppler, und für die ist wohl kein Platz mehr auf der Platine.
Warum ich nicht so sehr für IO bin: Es gibt sehr günstige Tasterschnittstellen, die können prima IO, warum nicht die nehmen? Und es macht auch keinen Sinn, alle Funktionen in ein Gerät zu packen.
Mal sehen, was Matthias dazu sagt,
Gruß, Waldemar
Einen Kommentar schreiben:
-
Erst mal Hut ab, was da an Arbeit geleistet wurde. Ich habe im Entwicklungs Thread auch immer mal mitgelesen und mir das für später vorgemerkt wenn mal der Bau soweit fertig ist und ich mehr Zeit habe.
Aber jetzt mit dieser Lösung ist da ja fast alles schon fertig.
Also sorry für die nun fast schon unverschämte Frage.
Wäre es möglich zusätzlich noch ein paar ganz primitive (in meinem Fall ) 1 digitale I/O (bzw. ich bräuchte nur Input) zu bekommen.
Also keine zusätzlichen speziellen Sensoren, sondern nur das Einlesen/Ausgeben/Konfigurieren von IO Pins ?
Gruß, Walter
Zuletzt geändert von Techi; 20.01.2021, 02:53.
Einen Kommentar schreiben:
-
Hallo Michael,
ich wollte Dir nur einen kurzen Status geben: Ich habe die Korrektur schon seit Samstag Abend fertig, aber am Wochenende konnte ich wegen meinem 1-Wire-Aufbau nicht richtig testen. Und ganz ungetestet möchte ich das nicht freigeben. Ich hoffe, Du kannst Dich noch bis Mittwoch Abend gedulden, denn morgen wird das wegen meiner Arbeit nichts mit testen.Zitat von Sisamiwe Beitrag anzeigenIch habe keine Eile.
Gruß, Waldemar
P.S.: Aber bei größeren Werten für "absolute Abweichung" funktioniert das schon bei Dir, oder? Wenn man von der Abweichung +-1 wegen Rundungsfehlern absieht...
Einen Kommentar schreiben:
-
Das passt.Zitat von mumpf Beitrag anzeigenCode:In knx-sensor, edit the file platformio.ini: - change the line -DBOARD_MASIFI_V3 to -DBOARD_MASIFI_V1 - change the line -DCRYSTALLESS to ;-DCRYSTALLESS
Die Debugausgabe in "readBytesUart" hatte ich schon einkommentiert, allerdings kommt er da nicht rein. Jetzt habe ich die Ausgabe in "readUart" einkommentiert https://github.com/mumpf/knx/blob/78...tform.cpp#L120 und den Mitschnitt oben ausgetauscht. Da sind jetzt natürlich auch Daten von anderen Busteilnehmern rein gerutscht.
mumpf Ich möchte dich bitten, nicht zu viel Zeit dafür aufzuwenden. Solange es nicht weitere betrifft, gehe ich von einem Fehler auf meiner Seite aus
Einen Kommentar schreiben:
-
Steph: Ich werde leider erst heute Abend dazu kommen, ich bin heute mit "um die Kinder kümmern" dran. Aber kann es sein, dass Du nicht beide Stellen, die Thomas meinte, einkommentiert hast? Ich hätte bei Deinem Mitschnitt eigentlich auch noch
erwartet, ich meine an dieser Stelle: https://github.com/mumpf/knx/blob/78...tform.cpp#L136. Ist aber noch nicht kritisch, ich werde erstmal vergleichen, wie das bei mir aussieht und dann sehen wir weiter.Code:>p
Wenn sonst noch jemand Ideen hat, sind diese gerne willkommen.
Gruß, Waldemar
Einen Kommentar schreiben:
-
Steph: Danke erstmal, ich schaue heute im Laufe des Tages nach.
Nur zur Sicherheit - und weil mir das noch eingefallen ist: Hast Du auch den Teil der Anleitung befolgt:
Vor allem das -DCRYSTALLESS muss auskommentiert (oder ganz gelöscht) sein.Code:In knx-sensor, edit the file platformio.ini: - change the line -DBOARD_MASIFI_V3 to -DBOARD_MASIFI_V1 - change the line -DCRYSTALLESS to ;-DCRYSTALLESS
Sorry, dass ich nachfrage, aber ich suche immer noch nach einem Grund für das Verhalten...
Gruß, Waldemar
Einen Kommentar schreiben:
-
Ich habe keine Eile. Es ist momentan nur Testbetrieb.Zitat von mumpf Beitrag anzeigenAlso als Workaround: Bei Luftdruck immer bei der Abweichung 1 mehr angeben als die gewünschte Abweichung. Ich denke, ich schaffe die Korrektur am Wochenende. Das Problem ist, dass die Absolute Abweichung für alle Messwerte über die gleiche Routine berechnet wird und es bei kleinen Zahlen prima klappt... jetzt muss ich das wieder "auftrennen".
Einen Kommentar schreiben:
-
Zusammenfassend:
- Programmierung über knxd
- ETS 5.7
- Kein Linienkoppler
- Senden und Empfangen geht mit beiden Platinen mit konnekting firmware
- Hänge ich an die gleiche Stelle ein Gerät von BJ, kann ich die PA überschreiben oder über den Programmiermodus eine PA zuweisen.
- Busspannung ca 30V
Daher gehe ich davon aus, dass die Hardware OK ist und ich kein grundsätzliches Problem mit dem Bus habe.
Hier die Terminalausgabe (Programmiertaste gedrückt, programmierung der PA über ETS) :
Über zusätzliche Debugausgaben habe ich festgestellt, dass er eine Botschaft "IndividualAddressRead" empfängt und dann auch eine Botschaft "IndividualAddressResponse" zusammenstellt. Ob diese allerdings vollständig auf den Bus gesendet wird, kann ich nicht sagen. Im Busmonitor der ETS ist nur der "IndividualAddressRead" der ETS zu sehen.Code:Startup called... <p01 p>03 ownaddr 0 p>BC p>11 p>32 p>43 p>01 p>E3 <p10 p>80 p>41 p>BC p>11 p>4B p>43 p>05 p>E3 <p10 p>80 p>3C p>BC p>11 p>4A p>43 p>04 p>E3 <p10 p>80 p>3C p>BC p>11 p>45 p>43 p>06 p>E3 <p10 p>80 p>31 p>BC p>11 p>33 p>43 p>E3 <p10 p>80 p>41 p>BC p>11 p>4E p>43 p>08 p>E3 <p10 p>80 p>34 p>BC p>11 p>44 p>43 p>07 p>E3 <p10 p>80 p>31 p>BC p>11 p>41 p>43 p>03 p>E3 <p10 p>80 p>30 p>B0 p>05 p>11 p>53 p>50 <p10 p>80 p>D8 p>90 p>05 p>11 p>53 p>50 <p10 p>80 p>F8 p>90 p>05 p>11 p>53 p>50 <p10 p>80 p>F8 p>90 p>05 p>11 p>53 p>50 <p10 p>80 p>F8 p>B0 p>05 p>D1 <p11 p>01 p>9A p>B0 p>05 p>11 p>53 p>51 <p10 p>43 p>1A p>90 p>05 p>11 p>53 p>51 <p10 p>43 p>3A p>90 p>05 p>11 p>53 p>51 <p10 p>43 p>3A p>90 p>05 p>11 p>53 p>51 <p10 p>43 p>3A p>BC p>11 p>4B p>43 p>05 p>E3 <p10 p>80 p>3C p>B0 p>05 p>D1 <p11 p>01 p>9A progmode on p>B0 p>05 p>D1 <p11 p>01 p>9A <p80 B0 <p81 00 <p82 00 <p83 00 <p84 00 <p85 E1 <p86 01 <p87 40 <p48 EF p>B0 p>E1 p>01 p>40 p>EF p>8B p>BC p>11 p>4A p>43 p>04 p>E3 <p10 p>80 p>3C p>BC p>11 p>3D p>43 p>02 p>E3 <p10 p>80 p>4D p>BC p>11 p>45 p>43 p>06 p>E3 <p10 p>80 p>31 p>B0 p>05 p>D1 <p11 p>01 p>9A <p80 B0 <p81 00 <p82 00 <p83 00 <p84 00 <p85 E1 <p86 01 <p87 40 <p48 EF p>B0 p>E1 p>01 p>40 p>EF p>8B p>B0 p>05 p>D1 <p11 p>01 p>9A <p80 B0 <p81 00 <p82 00 <p83 00 <p84 00 <p85 E1 <p86 01 <p87 40 <p48 EF p>B0 p>E1 p>01 p>40 p>EF p>8B p>B0 p>05 p>D1 <p11 p>01 p>9A <p80 B0 <p81 00 <p82 00 <p83 00 <p84 00 <p85 E1 <p86 01 <p87 40 <p48 EF p>B0 p>E1 p>01 p>40 p>EF p>8B p>B0 p>05 p>D1 <p11 p>01 p>9A <p80 B0 <p81 00 <p82 00 <p83 00 <p84 00 <p85 E1 <p86 01 <p87 40 <p48 EF p>B0 p>E1 p>01 p>40 p>EF p>8B p>BC p>11 p>4E p>43 p>08 p>E3 <p10 p>80 p>34 p>B0 p>05 p>D1 <p11 p>01 p>9A <p80 B0 <p81 00 <p82 00 <p83 00 <p84 00 <p85 E1 <p86 01 <p87 40 <p48 EF p>B0 p>E1 p>01 p>40 p>EF p>8B p>BC p>11 p>41 p>43 p>03 p>E3 <p10 p>80 p>30 p>BC p>11 p>32 p>43 p>01 p>E3 <p10 p>80 p>41 p>BC p>11 p>4B
Zuletzt geändert von Steph; 21.03.2020, 19:51.
Einen Kommentar schreiben:
-
Hi,
erste Analyse: Rundungsproblem, allerdings über mehrere Stufen...- Ich rechne intern mit double, das ist eine recht genaue Kommazahl
- Der Sensor liefert auch double (technisch), der aber aus irgendeinem binären Wert entsteht. Damit hat der eine Minimalauflösung, die ich aber gerade nicht weiß
- Pa-Werte sind recht groß,
- In KNX hat die Fließkommazahl nur die halbe Genauigkeit.
Ich werde für Pa die interne Rechnung wohl auf Ganzzahl umstellen (wer braucht schon bei den Zahlen noch eine Kommazahl), bis die Korrektur kommt, sollte schon eine 2 bei der Abweichung eine Besserung bringen, wobei Du trotz 2 auch immer wieder ein Delta von 1 bei den Messwerten sehen wirst.
Also als Workaround: Bei Luftdruck immer bei der Abweichung 1 mehr angeben als die gewünschte Abweichung. Ich denke, ich schaffe die Korrektur am Wochenende. Das Problem ist, dass die Absolute Abweichung für alle Messwerte über die gleiche Routine berechnet wird und es bei kleinen Zahlen prima klappt... jetzt muss ich das wieder "auftrennen".
Gruß, Waldemar
Einen Kommentar schreiben:


Einen Kommentar schreiben: