Archive for the ‘Entwicklung’ Category.

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)’ »

Brad’s Spin Tool

bst1 Hmm, das ist jetzt zwar etwas spät, da es das BST ja schon fast “ewig” gibt, aber ich hab es hier halt noch nicht explizit empfohlen. Und ich fange gerade an mich an dieses Tool zu gewöhnen; sogar in einer Weise, dass ich es wahrscheinlich auch unter XP verwenden würde…

Aber mal schön langsam: Am Anfang war das Propeller-Tool von Parallax. Stabil, schnell und mit vielen nützlichen Funktionen. Aber was tun, wenn man dem wiederkehrenden Bastelwahn nachgibt und XP von den Platten verbannt um Linux (Ubuntu) zu installieren? Ja klar, es gab da doch dieses Tool für alle Plattformen von Brad. Den letzten Versuch (ein Jahr vorher ;) hatte ich abgebrochen, da das Tool doch noch etwas langsam war. Doch die neue Version überrascht, wie auch jedes Jahr die Fortschritte von Ubuntu überraschen. Continue reading ‘Brad’s Spin Tool’ »

SIDCog im TriOS

Da dank Frida nun die Bootoption von Administra bestens funktioniert, habe ich eine erste Arbeitsversion für einen Administra-Code mit integriertem SIDCog-Soundsystem erstellt. Geplant sind zwei getrennte SIDCogs, welche man in verschiedener Weise verwenden kann:

SID1 SID2
SFX DMP-Player Game/Demo
SFX Tracker Game/Demo
DMP-Player DMP-Player Stereo-SID-Player
SFX SFX 6 x Soundkanäle

Continue reading ‘SIDCog im TriOS’ »

Venatrix Plexus 000 – Magic Eye

Stand vom Projekt “Magisches Auge”, dem ersten externen Plexus des Hive: Einige Grundfunktionen sind schon realisiert, so die Motor- und LED-Steuerung, die Soundausgabe, Tasten an der Oberseite des Gehäuses, SD-Cardlaufwerk und Hostschnittstelle für die Programmierung. Was momentan noch fehlt ist der RTC-Chip mit Batteriepufferung und der I2C-Bus zum Hive.

Continue reading ‘Venatrix Plexus 000 – Magic Eye’ »

Pläne für TriOS

Irgendwann nach dem KC-Treffen möchte ich beginnen, dass bestehende Betriebssystem neu zu überarbeiten und eine erste Version des TriOS zusammenzustellen. Im folgenden meine groben Vorstellungen. Wie weit ich dabei komme und was letztlich dabei herauskommt, muß ich mal schauen. Ich wollte mal die grobe Struktur zur Diskussion stellen, velleicht gibt es ja noch interessante Ideen dazu. Wer Lust hat kann natürlich mitarbeiten, dann geht das Ganze schneller. Und frühzeitige Mitarbeit sichert auch die Möglichkeit der Einflußnahme, denn spätere Programme werden wohl auf dieser Version aufbauen.

Continue reading ‘Pläne für TriOS’ »

Test Prototyp 2 abgeschlossen

Der NIC läuft und der Webserver einer modifizierten Version von PropIRC meldet sich in meinem Browser! Wie erwartet verbraucht der ENC-Chip eine ganze Menge Strom und so spendiere ich den Reglern zur Sicherheit einen kleinen Kühlkörper. Wer seinen Hive nicht mit dem Netzwerkteil bestückt, wird diesen nicht benötigen. Einige Bilder dazu wie üblich in der Galerie zum Test.
img_0553.jpg img_0554.jpg img_0545.jpg img_0547.jpgimg_0220.jpg
Ich habe dem Testpaket ein SPIN-Programm zur Überprüfung der Ethernet-Schnittstelle hinzugefügt, welches im LAN auf dem Hive einen Mini-Webserver als Dienst zur Verfügung stellt. Mit der nun vollständigen Platine konnte ich auch etwas genauer die Stromaufnahme des Hive messen, und bin zu folgenden Ergebnissen gekommen :

  • Hive ohne SD-Card und gezogenem Ethernet-Chip, quasi im Leerlauf: 70 mA
  • Hive gestartet von SD-Card, aber ohne Ethernet-Chip: 140 mA
  • Hive + SD-Card + Ethernet (nicht initialisiert): 300 mA
  • Hive + SD-Card + Ethernet (initialisiert mit Demo-Code): 240 mA

Diese Werte bergen auch die Möglichkeit den Hive im Batteriebetrieb zu betreiben, eventuell mit abgeschaltetem NIC. Einzig ein kleines, stromsparendes und preiswertes Display fehlt noch für ein solches Design.

Fazit: Der Prototyp war bis auf wenige kleine Fehler voll funktionstüchtig und eine industriell gefertigte Platine mit Lötstopplack macht wirklich viel Spaß beim Aufbau. Der “Hive-Zyklus” von Aufbau-Test-Experiment verkürzt sich dabei noch mehr, oder verschiebt sich zugunsten der experimentellen Spielereien. Alle Korrekturen sind schon in der neuen Revision 13 der Platine eingearbeitet, inklusive einem jetzt kompletten Erweiterungsbus. Damit tritt das Projekt in eine neue Phase: Wir können die erste kleine Serie Leiterplatten/Bausätze in Auftrag geben.  [drohne235]


Ethernet im Anmarsch

Heute sind die letzten fehlenden Bauelemente für den Ethernet-Part des HIVE eingetroffen. Mal schaun ob auch dieser Teil ebenso problemlos funktioniert wie die Vorhergehenden.

img_0534.jpg img_0535.jpg

Prototyp im Test

Nachdem Ingo unter Verwendung eines erheblichen Anteils seiner Freizeit, sein HIVE-Design nochmals überarbeitet und kontrolliert hat, haben wir bei PCB-Pool einen Prototypen der Platine beauftragt.

Dieser ist inzwischen eingetroffen und Ingo ist fleissig am aufbauen und testen.

img_0432.jpg img_0436.jpg

Faszination Retrocomputer

Der HiveWir bauen uns einen Computer. Nein, nicht so eine schnöde Kiste mit Standardkomponenten aus dem Handel, mit Gigabytes und Gigaherz, mit verkrusteten Monsterbetriebssystemen und gigantischen Verteidigungslinien wie Firewall und Antivirus – die sind einfach nur langweilig, unkreativ und die Ursache für einen nahen Hirntod… Nein, wir bauen uns einen niedlichen kleinen Minicomputer, eine komplette Eigenentwicklung: Eine handvoll Schaltkreise sollten genügen. Und natürlich ein nettes und schlankes Betriebssystem. Frei nach dem alten Motto: Genial einfach, einfach genial. [mehr...]