Hallo zusammen,
ich hänge mich bei diesem Beitrag ein, weil es der aktuelle sein.
damarco hat geschrieben: ↑Di 12. Mär 2024, 18:40
piTelex läuft auf Python das ist einer Interpretersprache die Laufzeiten sind höher, ganz so schlimm wie mit dem damaligen Basic ist es nun auch wieder nicht. Da müsste man schauen wie der Buffer umgesetzt wurde, die Latenz hängt mit der Größe und der Baudrate zusammen, auch kann die Python TCP/IP Implementierung dafür sorgen das kleine Pakete nicht sofort gesendet werden.
Ich bin doch ein Freund von "schlanken Hochsprachen", da diese den Aufgaben die zu erfüllen sind am ehesten nachkommen.
Für eine Anwendung wie i-Telex braucht es keine objektorientierte Sprache, aber es funktioniert auch.
damarco hat geschrieben: ↑Di 12. Mär 2024, 18:40
Es ist schon ein Problem mit dem AVR mehre Verbindungen aufzubauen, es ist ein schlichtes Speicherproblem. Jede TCP/IP Verbindung erfordert Speicher und der ist im Mega328 nicht gerade groß. Der Knackpunkt ist der TCP/IP IC denn jener hat leider die Eigenschaft das der ganze TCP/IP Overhead vom AVR erledigt werden muss. Beim W5500 ist dies anderes, der bringt eignen Speicher mit und die TCP/IP Stack ist im W5500. Per SPI muss man die Daten lediglich holen und die Flusskontrolle erledigt dieser auch noch..
Zuerst eine kleine Berichtigung: Die Ethernet-Software läuft schon auf einem wesentlich "dickeren" Prozessor als dem Mega328.
Daher habe ich im Design der i-Telex Software vorgesehen, dass der Overhead so gering wie möglich ist.
Natürlich kann man jede 5-Bit-Kombination in einem TCP-Frame übertragen.
Aber ich mag solche ineffiziente Lösungen nicht.
Das i-Telex kann auch bis zu 50 x 5 bit in einem Rutsch übertragen, praktiziert wird maximal 16 x 5 bit, das ist klar schnell genug, um ggf. auch noch was "zwischendurch" zu erledigen.
damarco hat geschrieben: ↑Di 12. Mär 2024, 18:40
Genau deswegen dauert der Zugriff auf den Webserver so lange, der AVR hat nur wenig Zeit den Webserver zu bedienen. Große Elemente wie ein javascript usw. sind eine große Belastung und die Rechnenzeit/Speicher reicht nicht aus das Content auch noch von langsamen externen Speicher zu laden.
Richtig. Daher wird SSL beispielsweise Utopie im i-Tekex sein (jedenfalls mit der aktuellen Hardware).
damarco hat geschrieben: ↑Di 12. Mär 2024, 18:40
Eine SD-Card ist schlicht weg nicht möglich da alleine die FAT16 implementieren den Speicher mit dem Projektcode vom AVR sprengt. Man könnte nur RAW reinschreiben oder lesen.
Das stimmt nicht ganz. In der Testphase war ein SD-Speicher implementiert, der viele Aktivitäten mitgeloggt hat.
damarco hat geschrieben: ↑Di 12. Mär 2024, 18:40
Zumal läuft der AVR mit einen niedrigen Takt, bedingt sicherlich für das Timing der Hardware.
Hm, 16 MHz werden genutzt, 20 MHz wären möglich. Aktuellen Software-Design langweilt sich der Prozessor in den meisten Fällen.
Und wenn ich lese, dass das Raspi-System mit x-Facher Taktfreqenz nicht "geschmeidig" läuft, dann sollte man an den passenden Stellschrauben drehen.
damarco hat geschrieben: ↑Di 12. Mär 2024, 18:40
Für zukünftige Erweiterungen ist der AVR ein Problem und somit nicht zukunftssicherer.
Nun ja, es ist eher so dass mit den Möglichkeiten auch die Ansprüche steigen. Und klar ist, auf 8 Bit würde ich auch kein neues Design beginnen.
damarco hat geschrieben: ↑Di 12. Mär 2024, 18:40
Mein Ansatz ist auch jener das wenn Fred oder detlef keine Zeit oder Lust mehr hat das Projekt weitergeführt werden kann.
Ich werde tatsächlich aus persönlichen Gründen fast nichts mehr am Projekt i-Telex machen können.
Das einzige was ich noch tun kann, ist soweit möglich Erläuterungen zum Funktionsprinzip zu geben.
Ich finde allerdings, dass ich die grundsätzliche Funktionsweise schon relativ gut dokumentiert habe, also Protokoll-Spezifikation usw.
Der Code des i-Telex selbst ist grauenvoll.
damarco hat geschrieben: ↑Di 12. Mär 2024, 18:40
Es sollte so sein das sich jemand in den Code einarbeiten kann und auch in der Lage ist Problemen nachzugehen. Mir ist das leider nicht gelungen eine lauffähige Version zu erzeugen, eigentlich kopiert Atmel Studio alles in das Projektverzeichnis ein make im Projektverzeichnis sollte sich das Projekt übersetzen lassen. Nur ich habe keine Quelle gefunden wo nicht Dateien fehlten
.
Wenn du es wirklich möchtest, dann versuche ich mal eine Funktionierende Anleitung zum "Build from scratch" zu schreiben.
Das halte ich aber für ziemlich zwecklos, weil (wie erkannt) Sackgassse...
damarco hat geschrieben: ↑Di 12. Mär 2024, 18:40
Das Projekt ist super und ich respektiere natürlich eure Arbeit, ich bin auch ehrlich eine komplette Lösung werde ich auch nicht liefern können.
Schade. Muss ja nicht heute und nicht morgen sein und vor allem nicht allein...
Es gibt schon Konzepte für mehr oder weniger neue Hardware-Platformen.
Ich habe auch ein "halb-fertiges" Design, um die bestehende Hardware des i-Telex mit einer neuen Hardware für die Ethernet-Kommunikation zu verknüpfen. Das heißt, dass die Bus-Struktur des jetzigen i-Telex und damit die Schnittstellenkarten beibehalten werden können und "nur" was Neues für die Ethernet-Karte gebraucht wird.