Ankündigung

Einklappen
Keine Ankündigung bisher.

Entwicklungsblog Beta5/Final 1.0.0

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

    Zitat von tuxedo Beitrag anzeigen
    "zusammen" oder "einzeln" 450?
    zusammen natürlich, einzeln ginge ja aktuell gar nicht.
    hab mich etwas verschätzt, 214KO und 185 Parameter, wobei noch ein bischen was dazu kommt.

    Gerade bei den Parametern hab ich gespart und z.B. die Einschaltwerte für Tag und Nacht in einem Parameter zusammengelegt z.B. FF7F (100% Tag, 50% Nacht).
    Schöner wäre das natürlich mit Prozentangaben in separaten Felder in der Suite.
    Aber dass kann ich ja zukünfitg dann machen.

    Zitat von tuxedo Beitrag anzeigen
    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
    ich habe überlegt ob ich einen 32kanal 12TE Dimmer mache oder einen 24ch 9TE und aufgrund der KO-Menge mich dann für 24kanäle entschieden.
    KNX Transceiver für Arduino&Co: MicroBCU2 --- NanoBCU aktuell verfügbar

    Kommentar


      Viel Zeit ist ins Land gegangen und Corona hat mittlerweile Deutschland erwischt.

      Bedingt durch das permanente Homeoffice und die vielen 9-10h Tage, hatte ich die vergangenen Wochen recht wenig Lust mich Abends nochmal 4-5h an den Rechner zu setzen.

      Heute bin ich aber ein Stückchen weiter gekommen. Noch nicht fertig, aber mühsam ernährt sich das Eichhörnchen :-)

      Ein weiterer Grund hier weiter zu machen war auf eine Bestellung weiterer DFF Aktoren. Mein Lager ist dann erstmal "leer".
      Wenn wieder jemand Aktoren braucht, brauchen wir eine "Sammelbestellung" :-)

      So, stay tuned ... und danke für die viele Geduld ... und bleibt mir gesund.

      Gruß
      Alex

      Kommentar


        Der Sommer neigt sich dem Ende und es geht weiter. Ich meine - wenn ich nichts übersehen habe - habe ich den "partial programming mode" soweit abgeschlossen.

        Heißt: Man kann wie in der ETS sich aussuchen ob man _alles_ programmiert (GA, KOs und IA und Parameter), oder ob man nur die Änderungen seit dem letzten Programmiervorgang schreibt.
        Ein Beispiel in meinem Demo-Sketch für Beta5-Tests:

        23,9sek für ALLES vs. 4,1sek für PARTIELL wenn man nur mal eben eine GA ändern will.

        Weiter geht's mir der Suite. Stay tuned.


        [4970]

        Kommentar


          Ein weiterer Meilenstein ist erreicht. Der aktuelle Stand der Suite 1.0.0 beta5 (noch nicht released!!) kann durch die Beta-Tester grundlegend getestet werden.
          Noch hapert es hier und da ein wenig und das eine oder andere versprochene Feature ist noch nicht drin. Aber die programmierung geht schon grundlegend mit den drei versprochenen Modis:

          1. Alles --> Benötigt den programmierKnopf am Gerät
          2. Partiell --> Geänderte KOs und Parameter werden programmiert. Aber nur das Delta zur letzten Programmierung.
          3. KO und Params --> _alle_ KOs und Parameter werden aufs Device geschrieben.

          Aktuell braucht man also nur dann den Prog-Button am Device, wenn man eine IA 8Individual Adress = physikalische Adresse) setzen will. Später kann ich dann per Suite-Update noch den Modus nachliefern dass man einem Device das schon eine IA hat, eine neue IA vergibt, ohne den Prog-Button benutzen zu müssen.

          Mehrere GAs pro KO geht auch schon. Und der Import aus einem aus der ETS exportierten KNX Projekt damit man auf die "bekannten" GAs zuzurück greifen kann wenn man die KOs mit GAs versieht ist auch soweit fertig. Was hier nocg ganz nützlich wäre: Das visualisieren der importierten GAs in einer Baumstruktur wie in der ETS. Aber das kann auch später noch kommen (Plugin???).

          Was die Suite _noch_ nicht kann: Firmware-Update des Devices. Das Protokoll kann es schon, getestet ist es auch, hat aber noch keinen Einzug in die Suite gefunden. Wird wohl "nachgeliefert" als Plugin/Addon/... oder so.

          Jetzt muss ich also das erste Feedback der Tester abwarten und noch eine Hand voll Features einbauen...Dann ist die "öffentlichkeit" dran Hand an Beta5 zu legen.

          Der weitere Plan ist dann: Wenn alles wie erwartet läuft: KONNEKTING Version "1.0.0 stable" offiziell releasen.

          Wenn ich dazu komme gibts die nächsten 1-2 Wochen auch noch ein kleines Teaser-Video zur Suite ;-)

          Stay tuned ...

          Kommentar


            Fortschritt an der Suite Beta5:

            Bildschirmfoto vom 2020-09-17 13-30-54.png

            Mehr Details hier: https://gitlab.com/konnekting/Konnek...e=+1.0.0-BETA5

            Kommentar


              Die ersten Tests laufen. Dabei ist leider aufgefallen, dass die Verwendung des SAMD21 internen Flash als "EEPROM" irgend eine Macke hat, die bisher nicht aufgefallen ist.

              Das Phänomen zusammen mit KONNEKTING:
              Man programmiert mit der Suite sein Device. Daraufhin wird es am Ende neu gestartet. Aber die eben programmierte Änderung scheint nicht im Speicher zu liegen.

              Ich hab deshalb ein kleines Test-Programm ohne KONNEKTING geschrieben. Das Ergebnis findet man hier im nun offiziellen Bugticket zur FlashAsEEPROm Library: https://github.com/cmaglie/FlashStorage/issues/44

              Interessanterweise ist das Verhalten im Testprogramm nicht das gleiche, aber dennoch ist es schräg und unbrauchbar.

              Vielleicht findet sich ja ein Experte der hier mit analysieren kann?

              In meinen Tests hatte ich immer mit dem M0dularis+ Controller getestet. Dieser verfügt über eine I2C EEPROM. Damit gab es diese Probleme bisher nicht. Da aber wohl nicht alle Boards mit einem separaten EEPROM ausgestattet sind, sollte das obigen FlashAsEEPROM Problem noch gelöst werden...

              Kommentar


                ich hab mal mit dem ItsyBitsy ein paar Varianten durchgetestet, Ergebnis auf Github
                KNX Transceiver für Arduino&Co: MicroBCU2 --- NanoBCU aktuell verfügbar

                Kommentar


                  Und täglich grüßt das Murmeltier... Naja, nicht täglich, aber hier mal wieder ein Update:

                  BETA5 schreitet weiter voran. Dank SirSydom sind noch einige Bugs augetaucht und hier und da ein wenig "strukturelle Schwäche", welche aber nun angegangen wird:

                  Das neue Protokoll welches die Suite verwendet um den Arduino zu parametrisieren sendet ja nicht nur einfach die ID des KOs, gepaart mit der zugehörigen GA und noch den KO-Flags zum Arduino und überlässt es ihm die Daten an passender Stelle im EEPROM/Flash abzulegen. Das neue Prozedere sieht vor, dass die Suite sich um das notwendige Speicherabbild auf dem Arduino kümmert. D.h. die Suite bastelt den kompletten Speicher lokal schon zusammen und muss nun nur noch (in Blöcken) die vielen Bytes zum Arduino schieben nach dem Motto: "Diese x Bytes bitte an Stelle Y im Speicher schreiben".
                  Das hat den immensen Vorteil, dass wir nicht immer das ganze Speicherabbild schreiben müssen, sondern uns auch auf Deltas beschränken können. Das macht die Programmierung wahnsinnig schnell. Auch haben wir es so einfacher mehrere GAs an ein KO zu hängen.
                  Der Haken: Der Arduino-Code muss sich auf das was er im Speicher vorfindet verlassen können. Steht hier Blödsinn drin, wird er Blödsinn tun.
                  Bisher war das kein Problem. Hat bestens funktioniert. Aber Dank der Tests sind auch Szenarien aufgefallen in denen tatsächlich mal "Blödsinn" entstehen kann.
                  Um das Problem in den Griff zu bekommen werden aktuell noch 5 Prüfsummen erstellt und auch noch geschrieben. Dank des neuen Protokollaufbaus ist das auch keine große Sache.

                  Wenn sich dann eine gewisse Stabilität bei den Tests gezeigt hat, wird der Beta5 Test "public" stattfinden. D.h. ich werde hier alle Infos bereitstellen wie ihr Beta5 testen könnt.

                  Ich bin noch zuversichtlich dass wir dieses Jahr mit Beta5 bzw. der Version 1.0.0 rechnen können...



                  [5392]

                  Kommentar


                    Da war ich wohl etwas optimistisch ;-)

                    Nun ja, wie so oft, erstens kommt es anders und zweites als du denkst (oder so ähnlich).

                    Die Suite macht aber Fortschritte. Aktuell sind noch folgende Themen in der Suite für beta5 offen:

                    Bildschirmfoto vom 2021-02-07 16-49-35.png

                    Ist nicht mehr allzu viel. Auf Arduino Seite sieht es auch gut aus, da sind nur noch Kleinigkeiten offen.

                    Wir kommen dem Ziel näher.

                    Kommentar


                      Super, ich freue mich schon darauf!

                      Kommentar


                        Hab mir die noch offenen Issues angeschaut.

                        "Eigentlich" sind es so jetzt nur noch 2 Issues die offen sind (alles andere sind Features die einzeln released werden können und auch nicht den größten bedarf haben). Und beide betreffen quasi das Thema Parameter-Dependency.
                        hab das schon weitestgehend umgesetzt, muss es aber noch testen. Und wie es so ist: Update der Java Version auf den aktuellen Stand und am anderen Ende der Implementierung kippt eine Library um die jetzt nicht mehr will (Java hat die Sicherheitsmechanismen weiter verschärft).

                        Also neues Issue :-(

                        Wir nähern uns aber definitiv der public-beta-5.
                        Damit findet dann der Feature-Freeze statt und es wird nur noch auf Stabilität geschaut bis es dann zum final release kommt.

                        Stay tuned.

                        Kommentar


                          Sagt mal, ich hab mir gerade mal das Empfangen der Byte vom Serial Interface angeschaut.

                          Ist es wirklich so das maximal 1 Byte pro 400µs gelesen wird?! Egal wieviel Bytes im Buffer stehen?
                          Das ist doch Quatsch, nach jedem Byte 400µs zu warten.


                          das steht im knx.task:
                          Code:
                          // STEP 2 : Get new received KNX messages from the TPUART
                          // The TPUART RX task is executed every 400 us
                          nowTimeMicros = micros();
                          if (TimeDeltaWord(nowTimeMicros, _lastRXTimeMicros) > 400) {
                          _lastRXTimeMicros = nowTimeMicros;
                          _tpuart->rxTask();
                          
                          // TODO: check for rx_state in tpuart and call rxtask repeatedly until telegram is received?!
                          }

                          und das in rxTask:

                          Code:
                          // === STEP 2 : Get New RX Data ===
                          if (_serial.available() > 0) {
                          incomingByte = (byte)(_serial.read());
                          lastByteRxTimeMicrosec = (word)micros();
                          KNX Transceiver für Arduino&Co: MicroBCU2 --- NanoBCU aktuell verfügbar

                          Kommentar


                            naja gewartet wird doch nicht oder? Sondern gekuckt ob nach dem letzten Aufruf mind. 400us vergangen sind

                            Kommentar


                              Doch, natürlich wird gewartet. Halt nicht blockierend, aber es wird erstmal kein Byte von der Serial gelesen.
                              Wenn ich pro Byte mind. 400µs warte, dann hab ich einen maximalen Durchsatz von 2500byte/s.
                              Bei einer Baudrate von 19200 byte/s zum Transceiver bzw 9600byte/s am KNX ist das aus meiner Sicht zu wenig.
                              KNX Transceiver für Arduino&Co: MicroBCU2 --- NanoBCU aktuell verfügbar

                              Kommentar


                                Zitat von SirSydom Beitrag anzeigen
                                bzw 9600byte/s am KNX
                                da sind's aber nur 9.600bits/s
                                ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

                                Kommentar

                                Lädt...
                                X