Ankündigung

Einklappen
Keine Ankündigung bisher.

Entwicklungsblog Beta5/Final 1.0.0

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

    An der beta5 Front hat sich Code-seitig die vergangenen Wochen nicht viel getan. Aber ich hab endlich Zeit gefunden das Build-System aufzuräumen und komplett neu aufzusetzen.
    Daneben steht nun auch eine Integration in unser Slack (konnekting.slack.com): Unser Build-Server sendet nun push-Mitteilungen an die Slack-Mitglieder mit der Info wie der Build gelaufen ist und wo er zu finden ist.
    Builds laufen nun automatisch mit jedem push ins Git-Repository. Langfristig wird das noch ausgebaut und um die einzelnen Firmware-Repos ergänzt.

    Kommentar


      Ich glaube wir läuten offiziell die Sommerpause ein. Ist viel zu warm um nach der eigentlichen Arbeit noch am Rechner zu sitzen.

      Kommentar


        Wochen sind ins Land gegangen, und die wirklich letzten warmen Sommertage sind nun Vergangenheit. Die lichtscheuen Entwickler kommen so langsam aber sicher wieder raus aus ihren Löchern ;-)

        Was hat sich getan?

        Das komplette Build-System habe ich umgekrempelt und erneuert. Damit ein vernünftiger "Continuous Build" vorliegt, ist der komplette Code von GitHub nach GitLab umgezogen. Aber keine Angst: Alle Code-Änderungen die wir machen werden auf die bisherigen Repositorys bei Github gespiegelt.

        Die Entwicklung basiert nun endgültig auf dem GitFlow Workflow. D.h. saubere und geordnete Trennung zwischen Entwicklung, Test und Release-Versionen.

        Alle Änderungen die nun in das Git Repository commited werden, und sei es auch nur ein MergeRequest (wie es korrekterweise bei GitLab heißt), werden automatisch gebaut und getestet. Einzelne Features oder Bugs werden in einzelnen Branches gepflegt, der MergeRequest dann ge'review'ed und schlussendlich wenn alles passt gemerged.

        Das alles trägt dazu bei, dass die Entwicklung konstanter und besser läuft. Gab es doch in der Vergangenheit oft den Fall dass einzelne Programmteile einzeln kompiliert werden mussten und dann wieder etwas nicht funktioniert hat. Durch den Continuous Build gehört das nun hoffentlich der Vergangenheit an.

        Jetzt wo das nun läuft geht's nun auch mit der Entwicklung weiter. Und soweit es die Freizeit zulässt: Mit Hochdruck...


        --> https://gitlab.com/konnekting

        Kommentar


          So, gestern hab ich nochmal 3h investiert um weiter an der Protokollimplementierung zu arbeiten. Musste mich nach Monaten der Abstinenz erstmal wieder einfinden. Aber hier hat sich dann gleich die Doku im Wiki ausgezahlt.

          Gestern konnte ich nun die Übertragung von Files von und zum Arduino fertigstellen.
          Und damit es in Zukunft bei der Implementierung noch schneller geht, habe ich mir einen kleinen "Protokollmonitor" gebaut, welchen ich nebenher laufen lassen kann um das Geschehen zu protokollieren:

          image (4).png
          Werde das Tool erstmal für mich pflegen und erweitern. Sonst wagt sich ja eh keiner an diese internen Dinge ;-)

          Aber ich denke "später" wird das ggf. auch ein hilfreiches Diagnose-Tool sein, wenn man irgendwas nicht wie gewünscht funktioniert.

          Weiter im Programm bzw. der Beta5 Entwicklung geht's dann mit den noch ausstehenden Protokollfeatures wie "unload" und "dataremove", ... (siehe auch: https://wiki.konnekting.de/index.php...ification_0x01)

          Wenn das dann soweit ist, kommt die Suite dran und die unbedingt notwendigen Features werden eingebaut. DANN kann das Beta5 Release erfolgen.

          Wichtig ist vor allem, dass das Protokoll vollständig auf beiden Seiten implementiert und getestet ist. Die Features in der Suite "nachliefern" kann dann sekundär geschehen.

          Stay tuned ...

          Kommentar


            So, heute war der "Unload" dran.

            Damit kann man wahlweise:
            * die Werkseinstellung wiederherstellen (dann sind die nachfolgenden Optionen irrelevant)
            * die PA zurücksetzen
            * die ganze GA und ComObj einstellung zurücksetzen
            * die ganzen Parameter zurücksetzen
            * die gespeicherten Daten (=Files) allesamt löschen

            Bis auf die letzte Option ist das nun implementiert. Muss noch getestet werden. Ist mal wieder spät geworden. Das "Entladen" der gespeicherten Daten (=Files) kommt dann im nächsten Schritt wenn DataRemove an sich implementiert wird.

            https://gitlab.com/konnekting/Konnek...0a61ac6d3326f8

            https://gitlab.com/konnekting/Konnek...fe3929b5c9b989
            Zuletzt geändert von tuxedo; 17.11.2019, 00:08.

            Kommentar


              Heute war "Restart" dran. Die Implementierung funktioniert nun. Und zum testen hab ich gleich noch eingebaut, dass man auch einzeln die PA programmieren kann. Läuft.

              Ausstehend ist jetzt noch die Implementierung von DataRemove und der abschließende Test von Unload.

              Dann "müsste" das Protokoll seitweit auf PC und Arduino Seite stehen, so dass es mit der Suite weiter gehen kann.

              Kommentar


                Du legst ja ganz schön Tempo vor ;-) Gefällt mir!

                Kommentar


                  ... und das mit einer Professionalität, die ich in noch keinem 1-2-3 Mann OSS-Projekt gesehen habe! Chapeau!
                  OpenKNX www.openknx.de | NanoBCU und OpenKNX-HW verfügbar

                  Kommentar


                    Und damit es noch "professioneller" (oder geekiger?) wird, hab ich mein Entwicklungs-System etwas aufgerüstet:

                    IMG_20191121_115418 (1).jpg
                    Endlich Platz für alles:
                    desktop.jpg
                    FunFact: Der Desktop-Screenshot in Originalauflösung ist zu groß um ihn hier hochzuladen. Musste das verkleinern :-)

                    Aktueller Stand der Entwicklung:

                    Ich denke ich hab nun alle Protokollfeatures implementiert. Sowohl auf der Arduino-Seite, als auch auf der PC-Seite.

                    Die Builds laufen gerade. Nächster Schritt:
                    Die notwendigsten Features (damit man Beta5 erstmal nutzen kann) in die Suite integrieren, bzw. die Suite entsprechend anpassen.

                    Dann wird es denke ich eine kleine Beta der Beta5 im ausgewählten Kreis geben (nicht dass ich das euch allen vorenthalten wollte, aber wenn zu viele Leute testen und berichten, dann wird das schnell zu viel. Dafür ist die 1-Man-Show einfach zu klein ;-) ).

                    Und wenn das dann Stand hält bzw. soweit zuverlässig stabil ist, wird beta5 released.

                    Dann wird es in großer Runde getestet werden dürfen. Nach einer weiteren Karenzzeit (länge muss ich dann noch sehen), wird Release 1.0.0 erfolgen. ENDLICH!

                    Wie schon bereits mehrfach angekündigt: Es wird nicht gleich _alle_ Features geben. Eins nach dem anderen. Das ganze ist Suite-Seitig schon etwas zeitaufwendig.
                    Aber sagen wir so: Ich schau dass nach diesem beta5 Release mindestens das wieder funktioniert was vorher auch funktioniert hat
                    Angehängte Dateien

                    Kommentar


                      Grüße zum Nikolaus aus der Entwickler-Nerd-Ecke ...

                      Stand heute ist das KONNEKTING Programmier-Protokoll "Feature-Complete". D.h. alle Funktionen sind auf beiden Seiten soweit vorhanden, implementiert und grundlegend getestet.
                      Letzter Schritt war das "Entladen" des Dateispeichers. Das Protokoll erlaubt nämlich das Ablegen, Abrufen und Löschen von bis zu 65.280 Dateien auf dem KONNEKTING Gerät. Richtig gelesen: Wir können über unser sehr einfaches Protokoll über 65 Tausend Dateien auf dem Gerät verwalten. Wozu? Na, wir können's halt :-) Nein. Spaß. Die grundlegende Idee für dieses Feature ist z.B. das Loggen von Daten am Gerät und die spätere Übermittlung, oder aber auch das ablegen von Grafiken oder Sounds auf dem Gerät. Da der SAMD über einen DAC verfügt, kann er ohne Zusatzhardware Sounds abspielen. Und wenn man sowas wie einen Display-basierten Taster bauen will, finden Grafikdateien für Symbole und dergleichen sicherlich Verwendung. Das Feature macht also durchaus Sinn. Die riesige Anzahl an Dateien hat sich so ergeben. Die wenigsten werden da viele Files auf das Gerät schieben oder runterladen. Denn das KNX Protokoll ist nicht das schnellste.

                      Nun gut. Jetzt geht es an's fertigstellen der Suite. Wie angekündigt erstmal mit den Basis-Features. Da das Protokoll nun fertig ist, können wir für die Suite nach und nach weitere Features ausrollen ohne dass wir Inkompatibilitäten befürchten müssen.

                      In diesem Sinne: Viel Spaß und Freude am heutigen Tag.

                      Stay tuned for more ...

                      Kommentar


                        Hallo zusammen...

                        Neues von der Entwickler-Front:

                        Ich bin gerade dabei die Tickets für die Suite abzuarbeiten. Dachte mir ich macht die kleinen Dinge zuerst. Kann ja nicht so schwer sein... Pustekuchen.
                        Man sollte meinen dass so etwas einfaches wie ein "Spacer" den man in der XML bei den Paramatern angeben kann, und der dann im UI die Parameter ein wenig übersichtlicher macht, kein großes Ding ist. Faaaalsch gedacht. Zum einen ist es ein kleiner Albtraum das in der XML Schema Beschreibung zu modellieren, zum anderen zieht sich das durch das ganze System. Der Aufwand ist doch deutlich größer als ich dachte. Aber gut. Das ist ein Feature das jedem helfen wird. Ergo wird es durchgezogen. ich muss jetzt nur eben schauen, dass es "richtig" implementiert ist und nicht "schnell schnell".

                        In diesem Sinne: Vorweihnachtliche Grüße aus dem Core-Entwickler-Keller ;-)

                        - Alex

                        Kommentar


                          Das Spacer-Thema konnte ich lösen.

                          Bildschirmfoto vom 2019-12-24 10-25-56.png

                          Sieht dann vorerst so aus:

                          Bildschirmfoto vom 2019-12-24 10-24-41.png Ist noch nicht final hübsch, aber es hilft schon ungemein innerhalb einer Parametergruppe die Parameter weiter auseinander zu halten/zu trennen.

                          Stay tuned for more and Merry Christmas to all of you ...

                          Kommentar


                            Es sind einige Wochen ins Land gegangen. Weihnachten und die Feiertage haben viel Zeit gefressen. Und wie jedes Jahr ging auch in der Faschingszeit nicht viel (aktiver Fastnachter und so).

                            Aber es geht wieder voran.
                            In der Suite gibt es erste Änderungen:
                            Bildschirmfoto vom 2020-03-02 22-25-22.png
                            Es wird nur noch drei Programmier-Buttons geben:
                            rot: Komplett (PA + CommObj + Params)
                            orange: Partiell (delta zum letzten Programmiervorgang)
                            gelb: Applikationsdaten (CommObj + Params)

                            Noch 1-2 Abende und ich kann die erste pre-Beta5 mal intern testen lassen...

                            Stay tuned...


                            [4631]

                            Kommentar


                              Zitat von tuxedo Beitrag anzeigen
                              orange: Partiell (delta zum letzten Programmiervorgang)


                              Super für meinen Dimmer mit ~450KO und Parametern. Das dauert immer ewig.
                              OpenKNX www.openknx.de | NanoBCU und OpenKNX-HW verfügbar

                              Kommentar


                                Zitat von SirSydom Beitrag anzeigen


                                Super für meinen Dimmer mit ~450KO und Parametern. Das dauert immer ewig.
                                "zusammen" oder "einzeln" 450?

                                Parameter haben in der XML jetzt einen ID-Datentyp "unsigned short", welcher bis 65536 Einträge ermöglicht. Also rund 65k mögliche Parameter (das sollte reichen bis der RAM Platzt...).

                                KOs sind aber nach wie vor bei "unsigned byte", was bis 256 Einträge darstellt. Wenn ich sparsam mit dem Speicher umgehe, komme ich bei Verdopplung der KOs, GA und Assocs (also 512KOs, 512GA und max. 512 Assoziationen zwischen GA<->KO) auf etwa das 2,8-fache (!!!!) den Speicherbedarfs, nur für diese drei Tabellen.

                                Ändern würde sich die XML-Spezifikation und die Arduino KONNEKTING Library. "Machbar" ist das, Platz wäre im SAMD. Aber der Aufwand wäre ggf. unverhältnismäßig und die Frage würde im Raum stehen: Wer möchte tatsächlich so viele KOs in der Suite verwalten. In einem Gerät ... Und die abschließende Frage wäre dann auch: Kommt die Implementierung damit noch klar? Bei jedem empfangenen Telegramm rund 3,6kbyte RAM nach den richtigen Daten durchforsten (vs. rund 1,3kbyte in beta)

                                Nun ja, jetzt erstmal beta5, und dann sehen wir weiter.

                                Kommentar

                                Lädt...
                                X