Archive for the ‘Entwicklung’ Category.

Datagramme

Hauke hat in den Datagrammen der Busprotokolle einige kleine Fehler gefunden und gleich korrigiert. Zudem hat er die Darstellung mit passenden Impulsflanken aufgehübscht und einiges übersichtlicher gestaltet. Wer also am Bus schrauben möchte, sollte die Tabellen updaten.

Dank an Hauke für die Mühe.

Tabellen (6680 Downloads )

Experimentelle IO-Karte

plexus-0-1 plexus-0-2 plexus-0-3 plexus-0-4

Schon einige Zeit hatte ich den Wunsch ein Board für Experimente mit dem Propeller zu haben. Zwar gibt es diverse fertige Platinen, aber irgendwie hat immer etwas gefehlt. So möchte ich das Board gern auch als Erweiterung am Hive verwenden, sowohl am parallelen Bus, wie  auch über den PlexBus an Administra. Unabhängig davon soll es aber möglich sein, völlig autark zu experimentieren, wie zum Beispiel mit dem Demoboard von Parallax. Ach ja: Da es flexibel sein soll, muss auch die Verwendung von Shields wie beim Arduino möglich sein – ich kann ja heut noch nicht sagen was ich morgen für Ideen habe. Also eine Menge Ideen die in der Sache zusammenfließen.

Weiter nach dem Knick… 🙂

Continue reading ‘Experimentelle IO-Karte’ »

Testprogramm für Grafikmodus 0

Momentan werkle ich am Grafikmodus 0 für den Hive. Kurz die Eckdaten:

  • TV-Modus 256 x 192 Pixel
  • Farben: Tile (16×16 Pixel) sind 4 aus 64 Farbe wählbar
  • Einbindung des Graphics-Objektes für schnelle Vektorgrafik
  • Animation: zwei Screens für flickerfreie Darstellung von Animationen
  • Einbindung der Grafikfunktionen per IOS
  • Keyboard ODER Maus verfügbar (beides geht nicht)

Bei der Darstellung von Vektorobjekten spielt der Hive so richtig seine Muskeln aus: über den Bus werden dabei nur Metadaten übertragen und die komplexen Anweisungen werden lokal in Bellatrix verarbeitet. So kann mit einem Befehl von Regnatix ein Vektorobjekt mit beliebigem Drehwinkel und Skalierung gezeichnet werden. Für meine Tests verwende ich ja gern das Vektorobjekt eines sechseckigen Sterns. Der Hive kann dabei ~1500 Sterne pro Sekunde zeichnen. Jeder Stern besteht aus 12 Linien, was eine Zeichenleistung von ~18000 Linien pro Sekunde macht! Na wenn das nicht geil ist, weiss ich auch nicht…

Alle Grafikoperationen sind nun im IOS direkt für die Anwendung verfügbar. Das nicht optimierte Testprogramm im folgenden Video ist nur 5,5 KByte groß und nutzt nur eine einzige COG in Regnatix – es sind also noch sehr viele Ressourcen frei! Zu sehen sind der Reihe nach alle grundlegenden verfügbaren Grafikoperationen und ein paar Gimmicks. Wie gesagt, handelt es sich nur um ein Testprogramm, welches ich bei der Enwicklung verwendet habe, um die Funktionen zu prüfen, weshalb es sicher keinen Schönheitswettbewerb gewinnt, aber es zeigt vielleicht ein wenig, in welche Richtung es geht.

TriOS – Bibliotheken


Neuigkeiten von TriOS: Nach einiger Zeit der Arbeit am System erschien mir die allgemeine Struktur der Quelltexte zu unübersichtlich und zu aufgebläht. Viele Fragmente und Programme die eigentlich nichts mit dem System zu tun hatten, haben sich heimlich bei den Experimenten eingeschlichen. Dazu wollte ich endlich ein Bibliothekskonzept für die Quelltexte realisieren, da Brad’s Spin Tool ja nun die entsprechenden Möglichkeiten bietet. Also war eine umfangreiche Aufräumarbeit nötig, um dem Ganzen wieder die nötige Struktur und Klarheit zu geben. Zeit den Softwarebastelkeller aufzuräumen! 🙂 Was wollte ich also?
Continue reading ‘TriOS – Bibliotheken’ »

Für das kleine Experiment zwischendurch…

…ist Debug-Lite von Parallax eine praktische Sache. Mit wenigen Anweisungen kann man im angeschlossenen Terminal auf dem Host-PC Variablen, Rückgabewerte und die Pegel an den Portpins anzeigen lassen oder einen Haltepunkt setzen. Aber bei Experimenten am Hive ist es natürlich noch schöner, wenn die Portanzeige gleich die richtigen Signalbezeichner bekommt. Ich hab das mal gleich genau so in drei Dateien für Administra, Bellatrix und Regnatix eingearbeitet. Eine kleine Beispieldatei ist auch enthalten, welche in Regnatix auf dem Datenbus fortlaufend Werte ausgibt.

Die Einbindung ist schnell erledigt und völlig unkompliziert. Als Terminal eignet sich hervorragend das PST (Parallax Serial Terminal), welches im Paket vom Propeller Tool enthalten ist.

Praktisch ist das Tool für Experimente unter Spin mit dem Bus vom Hive, vielleicht auch in Verbindung mit dem Tutorial „Regnatix-Code“. Zur Fehlersuche von PASM-Code ist es aber ungeeignet, da der Spincode nicht auf COG-interne Werte zugreifen kann. Dafür ist bestens PASD geeignet.

Debug Lite ist zwar schon uralt, aber da ich es hier noch nicht erwähnt hatte, ist die Info ja doch ganz nützlich.

 

 

Bilder vom aktuellen Hive-Board R14

Für alle Neugierigen, Neuankömmlinge und Jungdrohnen hier einige Bilder zum aktuellen Hive-Board R14. Informationen zu den technischen Details und Änderungen zum Vorgängerboard finden sich hier: Continue reading ‘Bilder vom aktuellen Hive-Board R14’ »

TriOS = Regime + Forth

Ein kleiner Etappensieg auf dem Weg zur Weltherrschaft: Ich habe PropForth in TriOS integriert. Klingt nicht sehr spektakulär, ist aber eine ziemlich coole Sache. Das Forth residiert dabei zusammen mit dem Loader im unteren EEPROM und ist somit sofort nach dem Einschalten des Gerätes nutzbar. Für die Nutzung von Forth ist es also nicht mehr nötig, einen ROM mit 64K zu verwenden.

Continue reading ‘TriOS = Regime + Forth’ »

So einfach kann es sein…

…komplexere Funktionen in PropForth zu realisieren:

: ls dir 0 begin .entry lscnt 0= until drop padbl cr ;

Und was machts? Klar, ein ls-Kommando, um das Verzeichnis auf SD-Card im Spaltenformat anzuzeigen. Ist ja wohl der Hammer! Am Anfang war die Funktion natürlich nicht so einfach, sondern eher unübersichtlich, verschachtelt und erstreckte sich über mehrere Zeilen. Aber nach einem zweiten Anlauf wurde es dann dieser Einzeiler.Keine Ahnung ob das jetzt vernünftiger Code ist, aber mir gefällt es enorm. Ich muss sagen, ich verliebe mich gerade wieder neu über beide Ohren in Forth… 🙂 Continue reading ‘So einfach kann es sein…’ »

Multitasking

Kurzer Zwischenbericht zum PropForth: Da die momentane Version ja bestehenden Spin-Code in Administra und Bellatrix nutzt, geht es ziemlich flott vorwärts. Ich habe eine erste Version eines Satzes von Worten erstellt, um das Businterface zu steuern:

Continue reading ‘Multitasking’ »

RTC-Branch eingerichtet

Pünktlich vor dem ersten Glas Bowle zum Jahreswechsel habe ich mein R14-Board fertig bestückt und getestet.  Nun tickt auch bei mir endlich eine Uhr im Hive. Um die Software von Stephan zu testen, habe ich gleich noch einen neuen Zweig zur Integration des RTC im TriOS im Repository eingerichtet. Und es funktioniert prima. 🙂 Fehlt jetzt nur noch eine Anzeige von Datum und Zeit in der Kopfzeile von Regime.

Eine funktionierende Version kann jetzt also unter branches/trios-rtc ausgecheckt werden.

Versionsverwaltung TriOS

Da ich beim programmieren mehr so ein einsamer Wolf bin, hab ich in Bezug auf eine Versionsverwaltung immer etwas mächtig geschludert. Hab mir aber vorgenommen mich zu bessern und will ja auch was dabei lernen… Also habe ich die Projektseite auf google-code auf den aktuellen Stand gebracht und mir vorgenommen, nur noch sauber mit dem SVN zu arbeiten. Macht natürlich nur Sinn, wenn noch mehr mitarbeiten, denn sonst bin ich einfach schneller so wie ich es lokal organisiere.

Auf google-code gibt es zusätzlich ein Wiki, welches sich gut für die TriOS-Dokumentation eignet. Außerdem findet sich dort ein Issue-Bereich, in welchem Fehler , Probleme, Ideen oder einfach nur Fragen verwaltet werden können.

Für die Einsteiger mit neuem Board: In der Sektion „Download“ auf der google-code-Seite finden sich immer aktuelle Archive mit den Installationsdateien. Wer TriOS nur installieren möchte, verwendet das BIN-Archiv ohne Quelltexte: dort enthalten sind die Binarys zum flashen in die drei EEPROMS und der Inhalt einer bootfähigen SD-Card. Aber ich glaub mal, das die meisten eh mehr in den Quelltexten wühlen wollen… 😉 Wer also selbst mit Hand anlegen möchte am TriOS, sollte sich eine aktuelle Quelltextversion auschecken. Ich hab zum einlesen mal ein paar Links dazu zusammengestellt – muss mich ja selbst erstmal ein wenig dazu belesen.

Sammelbestellung Hive-Boards (Update 3)

img_0495.jpgMomentan formiert sich wahrscheinlich eine neue Sammelbestellung für Hive-Boards, da die 125 Boards der letzten Aktion restlos aufgebraucht sind. Wer Interesse hat, bitte im Forum melden.

Continue reading ‘Sammelbestellung Hive-Boards (Update 3)’ »