bILDA Status

Forum zum Pojekt: bILDA -
"bil"liger "DA"-Wandler mit ILDA ISP Ausgang

Moderator: afrob

lod
Beiträge: 13
Registriert: Di 22 Jun, 2004 9:16 pm
Kontaktdaten:

Beitrag von lod » Di 06 Jul, 2004 6:29 pm

Wie soll ich das verstehen?
War nur so gemeint das sie ja nicht zwingend unter 95 laufen muss ...
Mal so am Rande, hab gestern mein Zeugs zusammengebastelt, und mal getestet (mit den alten Figuren, die ich vorher mit Paralellport gescannt habe). Hat alles Vorteile und nachteile.
eben um die Stehenden Strahlen gets ja wieoft ein bild ausgegeben wird ist doch letztendlich egal mir gings nur darum das man die verbindung pc->microcontroller erheblich entlasten könnte wenn der microcontroller soetwas wie eine kleine bibliothek zum zeichnen von figuren hätte
lienien,kreis,punkte ...
wieoft du dann vom recher aus eine lienie zeichnest um sie hell zu bekommen bleibt pc-seitig.
Es ist dann halt nicht mehr zwingend notwendig in diesem engen Rahmen der z.Z. zur Datenübertragung benutzt wird alle punkte zu schreiben.
dann wäre die gesxchwindigkeit über den aralellport villeicht sogar ausreichend ...
:roll: :roll:

Benutzeravatar
tschosef
Beiträge: 7949
Registriert: Mi 19 Nov, 2003 10:27 am
Do you already have Laser-Equipment?: 7 Projektoren, Tarm Two und DS 2000
7 x ShowNET in einem Gehäuse incl Switch
zwei alte Eigenbaukisten liegen noch im Keller rum.
Wohnort: Steinberg
Kontaktdaten:

Beitrag von tschosef » Mi 07 Jul, 2004 7:31 am

Hai LOD,

also. Was wollen wir denn?
1.
Einigermaßen viele Punkte pro Zeit, weil: wenn scannwinkel kleiner, => kann schneller gescannt werden. Eine "lange" linie (großer Punktabstand) mußt Du langsamer scannen sonst überschwinger. Man kann ein Quadrat aus 4 Punkten min. scannen oder eben auch mit 8, 16, und mehreren....
2.
eine konstante Zeit zwischen 2 Punkten. Denn.... (zumindest bei meine Scanner scheint das so zu sein) Im Prinzip kann ich die Scannertreiber für einen bestimmten Schrittwinkel optimal einstellen. Größere Schritte überschwingen bzw. sind zu kurz, kleinere Schritte haben helleren Fleck am Ende. Es gibt für einen bestimmten Winkel eine optimale Geschwindigkeit mitsamt der dazugehörigen Dämpfung.
3.
Zwei Arten der Wiedergabe gibt es: A) eine kompl. Show, wobei es genügen würde, ein "Figurenfile" komplet synchon zu einer Sounddatei abzuspielen oder B) mehr oder weniger "Live" anwendung, wo man einigermaßen flott zur Musik die Figuren wechselt (endweder per Hand oder per irgendeiner Timeline im PC.
Bei A) bräuchtest Du einen großen Speicher in der Hardware
Bei B) bist mit mehr Speicher weniger flexibel, also eher weniger buffern das stellt aber dann höhere Anforderungen an PC

Kurze Überlegung:
Meine Scanner scannen (meiner Meinung nach einigermaßen vernünftig) höchstens etwa 3000 Punkte / Sekunde. Wenn ich kein all zu krasses Flimmern will bedeutet das etwa 200 Punkte max. pro Bild was dann 15 Hz Bildfrequenz entspicht. Bei 8 Bit für X, Y, R, G und B sind das also 15 Kilobyte Daten für eine Sekunde.
Okay, wenn Du sagst, deine Hardware sei Intelligent, kann die Figuren zB selber drehen, oder sonst was damit machen brauchst trotzdem einiges an Speicher. Ganz davon abgesehen, daß es kleine Animationen geben könnte die noch mehr Speicher brauchen.

Daher wohl der Ansatz, den PC als "Speicher" zu verwenden der dann die Daten überträgt, und die Hardware "nur" fürs richtige Timig sorgt.

So weit ich weis, gibt es bereits Ansätze für sowas, was Dir vorschwebt. Speicher (Smart Media, oder so ähnliches), DA Wandler mit hoher Auflösung, Schnittstellen wie USB, Netzwerk und ähnliches, ist so ne Art eigener PC der selbstständig läuft. Soetwas wird sich aber wohl im Preis dann mit sicherheit NICHT im 2 Stelligen Bereich bewegen.
Vielleicht schreibt ja mal jemand der an dem Projekt dann ist was dazu.

alles in allem..... alles nicht einfach, oder?

Was meine Frage mit Win98/95 anging.... Ich hatte gedacht, Du meinst die Bilda Hardware mit Win98 laufen zu lassen, so wie es geplant ist. Bis jetzt gibt es für Windows Systeme nix all zu aufregendes, was Bilda bedienen kann. Grund: es stellt sich als schwierig heraus, diesen Isochronen Datentransfer mit Windows hin zu bekommen. Soweit ich weis läuft es mit der Original Firmware bis jetzt nur auf Linux, dort auf Komandozeileninterpreterbasis.... (Tip Tip Tipp).
Bei mir läufts jetzt etwas träge mit Windows und Blocktransfer, weil meine Scanner eh nicht mehr vertragen... Dafür hab ich ne schöne Software, die mit nem Sequenzer "zusammenarbeitet". So kann ich wenigstens schon mal ne Show machen, ohne "tip tip tipp".

Sollte es mal etwas "Brauchbareres" geben, kann ich immernoch auf Linux umsteigen.

gruß
Erich

PS: Wer programmiert eigentlich noch an Bilda rum? Hat jemand Erfolge?

lod
Beiträge: 13
Registriert: Di 22 Jun, 2004 9:16 pm
Kontaktdaten:

Beitrag von lod » Mi 07 Jul, 2004 6:07 pm

ok ich bin ziemlich neu in sachen laser und einiges was du geschrieben hast hab ich nicht ganz mitgeschnitten die grundidee für die reduktion der punkte war wenn z.b. ein quadrat gezeichnet werden soll braucht man dazu z.b. 100 punkte also bei 8 bit und rgb 500 byte die zum controller gesdchossen werden müssen.
wenn ich dem controller nur noch sagen muss welche farge (3 byte), welche form (rechteck) 1 byte und die koordinaten (2x2 byte) bin ich bei 8 byte statt 500 das ist die grundidee dazu braucht der controller auch nur minimal speicher da ich ihm keine vollständige show übergeben muss der pc muss z. gleichen Zeit berechnen wieviel Zeit der Controller für die Ausgabe braucht und stellt erst nach ablauf dieser wieder neue daten bereit es muss also bis auf ein paar variablen zur berechnung der linien nichts gebuffert werden ...
Zum
Die Idee kommt sogar aus den Problemen mit dem Isochronen Datentransfer heraus denn damit könnte man den ganz aussen vor lassen.
Ich hatte gedacht, Du meinst die Bilda Hardware mit Win98 laufen zu lassen, so wie es geplant ist.
hab ich villeicht auch vor wenn es noch irgendwie umsetzbar ist wenn nicht wird bilda unter windows vom Server halt nicht unterstützt ist aber auch net weiter schlimm da es ein client/server system ist wenn jemand unter windows arbeiten möchte kann er sich n kleinen laserrechner mit nem worldspace server drauf hinstellen tcp/ip dran und fertsch :)

Benutzeravatar
afrob
Beiträge: 995
Registriert: Mo 05 Aug, 2002 12:00 pm
Do you already have Laser-Equipment?: RayComposer NET und RayComposer USB
Wohnort: Frankfurt am Main, Germany
Kontaktdaten:

Beitrag von afrob » Do 08 Jul, 2004 1:57 am

lod hat geschrieben:es gibt für 95 einen Kernel Patch und n USB update damit sind die probleme gegessen.
Nein. WDM-Treiber oder Hotplugging unterstützt Windows95 auch mit Patch nicht.
lod hat geschrieben:Und gibt es überhaupt ne "orginal" Linux software ?
Soweit ich weiss is doch nur Hardwareseitig fertig oder ?
Auf linux-laser.org kann man den aktuellen Stand herunterladen. Firmware und Kernelmodul für bILDA sind fertig. Eine komplette Lasershowsoftware gibt es nicht, hatte ich auch nie angekündigt. Lediglich ein kleines Testprogramm liegt bei, mit dem man ILDA-Dateien abspielen kann.
Tschosef hat geschrieben:NACHTEIL1: ich kann zwar schneller scannen, aber da der PC genausolang zum berechnen der Drehungen usw. braucht ist die Helligkeit scheinbar nicht mehr so hoch. Langsam gescanne erscheint es heller da der PC während Bilda ausgiebt schon das nächste Bild berechnet.
Umm, sollte das nicht immer so sein? Das Linux-Kernelmodul für bILDA hat ein Framebasiertes Interface mit doppelter Pufferung, so dass gleichzeitig ein Frame ausgegeben und ein neues Frame berechnet und geschrieben werden kann. Braucht der Rechner mal zu lange, wird das letzte Frame wiederholt.
lod hat geschrieben:eben um die Stehenden Strahlen gets ja wieoft ein bild ausgegeben wird ist doch letztendlich egal mir gings nur darum das man die verbindung pc->microcontroller erheblich entlasten könnte wenn der microcontroller soetwas wie eine kleine bibliothek zum zeichnen von figuren hätte
linien,kreis,punkte ...
Ich glaube du stellst dir die Umwandlung von Grafikprimitiven(Linien, Kreise...) in Ausgabedaten einfacher vor, als es ist. Die Umwandlung braucht schon einiges an Rechenleistung und Speicher und ist daher nicht mit jedem kleinen Mikrocontroller zu erledigen. Es soll da ja einen Hersteller geben, der schnelle 68000 basierte 32-Bit Mikroprozessoren mit mehr als hundert Megabyte RAM auf seiner Ausgabekarte kombiniert, um dieser einfachen Aufgabe Herr zu werden. ;) Also durchaus ein gangbarer Weg, einem extra Prozessor die Ausgabearbeit zu übertragen und nur noch wenige Befehle anstatt die kompletten Ausgabedaten zu senden.

Andererseits sehe ich nicht, was es da auf der PC-Seite zu "entlasten" gäbe. bILDA erzeugt beim wiedergeben einer ILDA-Datei mit höchster Geschwindigkeit (50kpps) auf meinem 2.6GHz Athlon PC weniger als 2% CPU-Last. Bleiben 98% übrig, um Linien, Kreise, etc. in Ausgabedaten umzuwandeln.

Ich bin daher der Meinung, dass ein heutiger PC keine Unterstützung durch einen teuren zusätzlichen Prozessor braucht, um Lasergrafik auszugeben. Daher ist bILDA auch als "Datenschaufel ohne eigene Intelligenz mit exaktem Timing und Sicherheitsfunktion" konzipiert.

Benutzeravatar
tschosef
Beiträge: 7949
Registriert: Mi 19 Nov, 2003 10:27 am
Do you already have Laser-Equipment?: 7 Projektoren, Tarm Two und DS 2000
7 x ShowNET in einem Gehäuse incl Switch
zwei alte Eigenbaukisten liegen noch im Keller rum.
Wohnort: Steinberg
Kontaktdaten:

Beitrag von tschosef » Do 08 Jul, 2004 7:35 am

moing
Umm, sollte das nicht immer so sein? Das Linux-Kernelmodul für bILDA hat ein Framebasiertes Interface mit doppelter Pufferung, so dass gleichzeitig ein Frame ausgegeben und ein neues Frame berechnet und geschrieben werden kann
jou, da ich aber nicht schlau genug bin, mit ISO Transfer zu arbeiten und nur Block transfer verwende sind das bei mir nur 64 Bytes welche im Nu ausgegeben sind, und da ist nu mal mein rechner (1,8GHz) zu langsam. Zumal ich nicht einfach nur eine Datei abspiele, sondern die Daten aus Punkten vorher jedesmal umrechne (Effekte wie drehen usw, die sich LIVE über Midi ändern lassen) und dann erst ausgebe.

Ich hätte natürlich auch gerne Isochronen Datentransfer. Kann das aber mit meinem mageren wissen unter Windows mit Visual Basic nicht ohne was zu blechen (zahlen...DLL) realisieren. Jetzt läuft das mit ner Shareware DLL und selbst geschriebener Firmware. Außerdem unterstützt meine Software noch das Paralell TTL Schwitchbord von Guido für Strahlschalter und Nebelmaschine usw.
Über kurz oder lang noch mein DMX Bord dazu, welches ich gebastelt habe.... prima!

Nochmal... ich (bzw mein Bilda) ist etwas langsam. Locker schnell genug für meine Scanner. 10-15 kpps gehen da auch einigermaßen flott. ABER dafür hab ich ne Software die meiner meinung nach EINIGES bietet, wenn auch nicht Ilda standart. (Eigenlob stinkt, aber ich wasch mich ja regelmäßig).

Ich klicke die Figur einfach in ein Fenster, mit Raster, klicke Bilder ab, schiebe an den RGB Farbreglern, kann mehrere Frames malen, mit Past und Copy, mit Move und Rotate funktionenen, ich kann dann automatisch zwischenpunkte berechnen lassen, kann Dateilisten anlegen, und diese dann best. Midifunktionen und Noten zuordnen, kann per Midi (Sequenzer) die Figuren aufrufen, drehen und verzerren, ein und ausblenden und das mit "Figurwechsel" bis zu 1/16 Noten bei 140 Schlägen pro Minute (Konnte Popelscan 2.8 NICHT! zumindest bei mir nicht) während das Wave abgespielt wird. Kann somit Showteile KOPIEREN, Qantisieren usw... was halt der Sequenzer so kann... und und und.

Und ich glaube, bis ander Software so weit ist, begnüge ich mit mit meiner.
gruß derweil
Erich

gruß
Erich

lod
Beiträge: 13
Registriert: Di 22 Jun, 2004 9:16 pm
Kontaktdaten:

Beitrag von lod » Fr 09 Jul, 2004 8:25 pm

ne lösung für den Isyncronen Datentransfer unter Windows hab ich auch noch nicht gefunden aber ich hab auch noch genug anderes zu tun z.z bin gerade bei der 3d visu und die nimmt mich gerad n bissle in anspruch ich sag mal schlimmstenfalls muss ich nen ring 0 treiber schreiben oder bilda halt nur unter linux betreiben is ja dank c/s auch kein problem

Benutzeravatar
tschosef
Beiträge: 7949
Registriert: Mi 19 Nov, 2003 10:27 am
Do you already have Laser-Equipment?: 7 Projektoren, Tarm Two und DS 2000
7 x ShowNET in einem Gehäuse incl Switch
zwei alte Eigenbaukisten liegen noch im Keller rum.
Wohnort: Steinberg
Kontaktdaten:

aha....

Beitrag von tschosef » Mo 12 Jul, 2004 7:23 am

moig moing



****muss ich nen ring 0 treiber schreiben oder bilda halt nur unter linux betreiben is ja dank c/s auch kein problem ****
äh..... aha??
wad versteh ich unter ring 0 treiber und wer ist bitte c/s?? (bin ich wirklich so doof????)

bitte mal etwas für dumme eindeutschen.

gruß derweil
Erich

lod
Beiträge: 13
Registriert: Di 22 Jun, 2004 9:16 pm
Kontaktdaten:

Beitrag von lod » Do 15 Jul, 2004 4:54 pm

n ring 0 treiber is ne vxd :) ab 386 gibt es 3 modi für den betrieb der schutzmechanismen des prozessors ring 0-2 ring 0 hat alle privilegien kann also wild auf alle speicherbereiche und io adressen zugreifen ring 3 kann dann nur noch auf seinen eigenen speicherbereich zugreifen
treiber laufen auf ring 0 anwendungen auf ring 2 n paar system und diagnoseprogramme dazwischen :)#
c/s ist client/server

Benutzeravatar
tschosef
Beiträge: 7949
Registriert: Mi 19 Nov, 2003 10:27 am
Do you already have Laser-Equipment?: 7 Projektoren, Tarm Two und DS 2000
7 x ShowNET in einem Gehäuse incl Switch
zwei alte Eigenbaukisten liegen noch im Keller rum.
Wohnort: Steinberg
Kontaktdaten:

Beitrag von tschosef » Mo 19 Jul, 2004 7:38 am

Ahaaaa.a...

scheinst sehr gut Ahnung zu haben. Könntest Du so einen Treiber dann schreiben, und wie währ der dann anzusprechen?
Es gibt ja im Prinzip schon einen Treiber (EZusb) aber was mir fehlt ist halt eine geeignete dll.
Mit dem Usb-Monitor kann ich auch mit der original Bilda Firmware (zumindest mit der vorverwion) Files abspielen. Aber das hilft meiner Software eigentlich garnix.

Auch hab ich ne DLL von Braintechnology, die unterstützt iso Datentransfer. Aber dazu kann man leider keine Adressierung von Port C senden. auch das verwenden anderer Firmware ist da nicht möglich.

naja, wie gesagt, bei mir werkelt die Bilda Hardware mit Blocktransfer. Besser als Paralell, schlechter als Isochron. Was solls..... zumindest gehts

andere Frage:

WARUM ist das so, daß der Shutter wenn er zu ist ein High Signal ausgibt? Hat das einen bestimmten Grund? Ich dache eigentlich es währe klug, wenn Bilda streikt, (zB Stromausfall) daß dann der Shutter bei fehlender Spannung zu ist. (Bei mir steigt ab und zu Bilda aus, wenn ich Nebelmaschine betätige, was äußerst unangenehm ist)

gruß derweil
Erich

lod
Beiträge: 13
Registriert: Di 22 Jun, 2004 9:16 pm
Kontaktdaten:

Beitrag von lod » Do 22 Jul, 2004 7:10 pm

Naja es geht so :)

Anzusprechen wäre der Treiber genau wie jeder andere Treiber (CreateFile ...)
Aber warum noch schreiben wenn schon einer existiert ?
Ich schau mit die EZusb ma an

Benutzeravatar
Hatschi
Beiträge: 3531
Registriert: Mi 13 Mär, 2002 12:00 pm
Wohnort: Kaernten/Austria
Kontaktdaten:

Beitrag von Hatschi » Do 22 Jul, 2004 7:33 pm

Halli Hallo

Der Shutter MUSS im stromlosen Zustand den Strahl sperren.

Hatschi

Benutzeravatar
tschosef
Beiträge: 7949
Registriert: Mi 19 Nov, 2003 10:27 am
Do you already have Laser-Equipment?: 7 Projektoren, Tarm Two und DS 2000
7 x ShowNET in einem Gehäuse incl Switch
zwei alte Eigenbaukisten liegen noch im Keller rum.
Wohnort: Steinberg
Kontaktdaten:

Beitrag von tschosef » Do 22 Jul, 2004 8:48 pm

tach tach,

also, das mit dem treiber währ sehr fein! Mittlerweile hab ich nen etwas neueren PC, nicht mehr den 500Mhz. Nu flitzt das richtig schön. Ich bin echt begeistert, so gut liefen die Scanner bei mir noch nie, keine pausen. Das einzige was man eben sieht, ist ein etwas helleres Eck an dem Punkt, wenn grad ein block des USB transfers aus ist, und auf den nächsten gewartet wird... glaube aber das kann ich noch ändern (mit der firmware die ich geschrieben habe)
Und das mit dem Sequenzer läuft nu auch richtig gut, verwende dazu ne virtuelle Midischnittstelle... meine soft startet, man wählt die schnittstelle aus, und sagt dem Sequenzer daß er eben auf dieser die Midibefehle senden soll....
der Systemmonitor meldet mit laufender Software (Scanningsoft die USB übertragung macht und dateien berechnet, sowie Midi empfängt) und Sequenzer der Midi sendet und Wav abspielt etwa 20-30% Auslastung.
Mir taugst. Sollt mal ein Treffen demnächst sein, dann bring ich das mal mit.

Was den Shutter betrifft.
Ja, wenn der Shutter stromlos ist, dann ist er zu. ABER Bilda macht im frisch eingeschalteten Zustand (ohne Firmware) auf HIGH, weil da ne invertierende Transistorstufe drinn ist. ALSO muß ich dieses Signal nochmal invertieren.
Stürtzt nu Bilda ab, oder wird die Bilda Hardware stromlos oder so, dann ist logischerweise der ausgang ohne spannung ==> durch invertierung ist dann Spannung am Shutter und dieser offen.... is blöde. Soll das so sein? (frage an Afrob gerichtet).

gruß derweil
Erich

Benutzeravatar
afrob
Beiträge: 995
Registriert: Mo 05 Aug, 2002 12:00 pm
Do you already have Laser-Equipment?: RayComposer NET und RayComposer USB
Wohnort: Frankfurt am Main, Germany
Kontaktdaten:

Beitrag von afrob » Mi 28 Jul, 2004 9:14 pm

Tschosef hat geschrieben:Was den Shutter betrifft.
Ja, wenn der Shutter stromlos ist, dann ist er zu. ABER Bilda macht im frisch eingeschalteten Zustand (ohne Firmware) auf HIGH, weil da ne invertierende Transistorstufe drinn ist. ALSO muß ich dieses Signal nochmal invertieren.
Stürtzt nu Bilda ab, oder wird die Bilda Hardware stromlos oder so, dann ist logischerweise der ausgang ohne spannung ==> durch invertierung ist dann Spannung am Shutter und dieser offen.... is blöde. Soll das so sein? (frage an Afrob gerichtet).
Danke, Erich, das Du mich da nochmal drauf aufmerksam gemacht hast.

Ich hatte beim Design die 8051-typischen Pullups erwartet, die beim EZUSB nicht vorhanden sind. Dadurch ist bei meiner Firmware, die als erstes nach dem Start den Shutter und die DACs initialisiert, für ca. 100ms nach dem Einschalten der Shutter offen. Das fällt kaum auf, im normalen Betrieb funktioniert der Shutter ordnungsgemäß.

100ms sind für meinen Geschmack aber immer noch 100ms zu lang, daher habe ich die Schaltung um einen passenden pullup Widerstand erweitert und die Schaltpläne auf linux-laser.org angepasst; so ist der Shutter im uninitialisierten Zustand auch immer geschlossen.

Der Widerstand lässt sich leicht nachrüsten:
Bild

Benutzeravatar
tschosef
Beiträge: 7949
Registriert: Mi 19 Nov, 2003 10:27 am
Do you already have Laser-Equipment?: 7 Projektoren, Tarm Two und DS 2000
7 x ShowNET in einem Gehäuse incl Switch
zwei alte Eigenbaukisten liegen noch im Keller rum.
Wohnort: Steinberg
Kontaktdaten:

ah, danke....

Beitrag von tschosef » Do 29 Jul, 2004 7:24 am

Mong moing,

ah, das klingt einleuchtend. Werde ich auch machen. Einem Kollegen ist noch was eingefallen, was ich evtl noch machen werde. Ist kein echtes Safety, aber immernoch besser als nix.

eine Art "monoflop" Schaltung die zurückgesetzt werden kann. Also: ich nehm den WR2 Puls und leg den auf die Schaltung, welche damit auf HIGH geht nach zB. 50 ms wieder abfällt. Kommen dann die Werte (innerhalb der 50ms) für die DA Wandler, wird immer wieder dafür gesorgt, dass die Schaltung HIGH bleibt. Daran möcht ich den Shutter (oder die Blankingeingänge) mit anschließen. Stürtzt der Rechner oder sonst was ab, dann fällt der Shutter zu.

Das ist evtl. bei Bilda im ISO Betrib nicht notwendig (Weis ich nicht) aber im Blocktransfer könnte es rein theoretisch sein, daß ein Block übertragen wird dessen Letzter Punkt LASER AN ausgibt. Stürtzt jetzt der Rechner ab, dann bleibt der Strahl stehen. Die Schaltung würde das verhindern.

währ das was?
Gruß
Erich

Gesperrt

Zurück zu „OpenProject: bILDA“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast