Firmware

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

Moderator: afrob

Gesperrt
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:

Firmware

Beitrag von tschosef » Fr 07 Mai, 2004 7:18 am

Hallo Afrob,

ich hätte noch eine Frage. Es wurde per EQU ein Label definiert mit dem Namen "PPSVAL" (oder so ähnlich, egal).

Wird diese verwendet? Und wenn ja, wie wird sie gesetzt?

Der Grund meiner Frage:
wenn ich es mal hin bekommen sollte, mit meiner Software Bilda zu verwenden, dann könnte es ja rein Theoretisch auch vorkommen, dass die Software zu langsam wird, die Punkte bereit zu stellen.
Dies würde sich dann in Aussetzern äußern, oder? Dann währe es prima, wenn man den Timer2 über die Variable setzen könnte (was Du warscheinlich vor hattest, oder?)

Mercy schonmal. Und schönes Wochenende
erich

yahp
Beiträge: 34
Registriert: Mo 03 Mai, 2004 2:01 pm

Beitrag von yahp » Fr 07 Mai, 2004 10:01 am

Hi,

in dem Code den ich runtergeladen habe, wird sie benutzt -> im Teil Init (search ist dein Frend *eg*). Allerdings wird der Timerinterrupt noch hart kodiert...

Ist wohl noch alles im Wandel.


Grüße

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:

Zusammenfasssung

Beitrag von tschosef » Fr 07 Mai, 2004 3:04 pm

Also:
Fragen und Antworten... oder so

1. Es wird ISO Datentransfer über Endpoint 8OUT verwendet.
2. PPSVAL ist zwar in Firmware vorhanden, wird aber nicht verwendet?
3. Kann ich die Firmware in den EEPROM laden? Schon, oder? wenn ich mit HEXtoBIX umgewandelt habe und das erste Byte 0xB2 ist, oder?????
4. Wie groß ist bei dem EP8OUT dann die MaxPacketSize? Hängt das von der Firmware ab? Habs bis jetzt noch nicht gefunden....

Irgendwann muß es doch mal klappen. Ich hab diese EZ-USB ControlPanel von Cypress runter geladen. Rein Theoretisch kann ich damit eine Datei im HEX format per isochroner Übertagung an einen Endpoint schicken. Dann müsste die Hardware nach dem ich die Firmware in den RAM Downgeloadet habe doch laufen, oder?

Einzustellen ist "nur" noch
Packet
Size
Buffers
und Frames/Buffer

und schon gehts los......
Leider tut sich nix....

Naja... Ich kriegs schon noch raus.

gr´üße
erich

Gast

Beitrag von Gast » Fr 07 Mai, 2004 9:33 pm

Hiho.

> 1. Es wird ISO Datentransfer über Endpoint 8OUT verwendet.

Sieht ganz so aus :-)


> 2. PPSVAL ist zwar in Firmware vorhanden, wird aber nicht verwendet?

Es wird an einer Stelle irgendwohin geschoben, aber IMHO ist in der Ausgaberoutine ein fester Wert eingebaut...


> 4. Wie groß ist bei dem EP8OUT dann die MaxPacketSize? Hängt das von der Firmware ab? Habs bis jetzt noch nicht gefunden....

Soweit ich das verstehe, wird eh nur ein Endpoint (die 8) verwendet, deswegen, werden die Adressen der Fifos der anderen aufs Ende gesetzt. Im Init-Teil die Sachen mit

mov dptr,#OUT8ADR
mov a,#0
movx @dptr,a

mov dptr,#OUT9ADR
mov a,#0xFC
movx @dptr,a

Damit ist die Größe des FIFOs festgelegt. Im Endpoint Descriptor wird dann die PaketSize festgelegt -> wMaxPacketSize -> hier 0x00FA (warum eigentlich so wenig ???)

endpoint_desc_8_OUT: ; USB Endpoint Descriptor
.db 0x07 ; 0 bLength
.db 0x05 ; 1 bDescriptorType
.db 0x08 ; 2 bEndpointAddress
.db 0x01 ; 3 bmAttributes
.db 0xFA,0x00 ; 4 5 wMaxPacketSize
.db 0x01 ; 6 bIntervall




Viele Grüße

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 » Sa 08 Mai, 2004 9:50 am

Hai Gast.....

eben, warum eigentlich so wenig. Das hab ich mich auch gefragt. Dies ergebnis bekomm ich ja dann auch, wenn ich "Get Pipe Desc." aufrufe, nachdem die Firmware geladen wurde.

hmmm...

Ich dachte ich könnt eifach die Firmware laden, und mit diesem EZ USB Monitor dann ein Hexfile per iso Transfer zum EP8OUT schicken, und dann müsste "irgendwass" am Port B rauskommen. tut es aber nicht...

Nicht aufgeben....

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 » Sa 08 Mai, 2004 11:38 am

Tschosef hat geschrieben:ich hätte noch eine Frage. Es wurde per EQU ein Label definiert mit dem Namen "PPSVAL" (oder so ähnlich, egal).
Yahp hat geschrieben:in dem Code den ich runtergeladen habe, wird sie benutzt -> im Teil Init (search ist dein Frend *eg*). Allerdings wird der Timerinterrupt noch hart kodiert...

Ist wohl noch alles im Wandel.
Richtig. Ich hatte bisher die Ausgabegeschwindigkeit der Einfachheit halber fest kodiert und die dann durch verdoppeln, verdreifachen, ... der Punkte geregelt. Das wird sich aber noch ändern.
Tschosef hat geschrieben:Der Grund meiner Frage: wenn ich es mal hin bekommen sollte, mit meiner Software Bilda zu verwenden, dann könnte es ja rein Theoretisch auch vorkommen, dass die Software zu langsam wird, die Punkte bereit zu stellen.
Es ist Sache des Treibers die Punkte zu senden. Der Treiber kann dann das letzte Frame noch einmal senden, den letzten Punkt geblankt wiederholen, etc. Funktioniert der Treiber (=Ring0 Code) nicht mehr ist der Rechner abgestürzt. Pech gehabt. ;) (bILDA merkt dann das keine Punkte mehr kommen und macht den Shutter zu.)
Tschosef hat geschrieben:3. Kann ich die Firmware in den EEPROM laden? Schon, oder? wenn ich mit HEXtoBIX umgewandelt habe und das erste Byte 0xB2 ist, oder?????
Die Firmware bekommt in kürze eigene Routinen zum lesen und schreiben des EEPROM spendiert.
Anonymous hat geschrieben:Soweit ich das verstehe, wird eh nur ein Endpoint (die 8) verwendet, deswegen, werden die Adressen der Fifos der anderen aufs Ende gesetzt. Im Init-Teil die Sachen mit

Damit ist die Größe des FIFOs festgelegt. Im Endpoint Descriptor wird dann die PaketSize festgelegt -> wMaxPacketSize -> hier 0x00FA (warum eigentlich so wenig ???)
Tschosef hat geschrieben:eben, warum eigentlich so wenig. Das hab ich mich auch gefragt.
Umm, 50 * 5 Bytes = 250 Bytes = 0xFA. Die 50kpps sind keine harte Grenze, aber bei mehr PPS wird das Timing ziemlich hakelig. Mehr vom USB Frame für bILDA zu reservieren, als man braucht, bringt keinen Vorteil. Die dort eingestellte Paketgrösse wird in jedem Frame reserviert, egal ob Bedarf ist oder nicht.
Tschosef hat geschrieben:Ich dachte ich könnt eifach die Firmware laden, und mit diesem EZ USB Monitor dann ein Hexfile per iso Transfer zum EP8OUT schicken, und dann müsste "irgendwass" am Port B rauskommen. tut es aber nicht...
Hast du versucht das alternate Setting 1 des Interface zu aktivieren?

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 » Sa 08 Mai, 2004 12:02 pm

>>>
Hast du versucht das alternate Setting 1 des Interface zu aktivieren?<<

jop, hab ich versucht. Vielleicht liegts ja an was anderem. Ich komm schon noch drauf.

Trotzdem.... immer schön weiter diskutieren und schreiben. Das hilft einem ungemein weiter, weil man doch das eine oder andere dann besser versteht oder auch nur "glaubt".

grüße
Erich

yahp
Beiträge: 34
Registriert: Mo 03 Mai, 2004 2:01 pm

Beitrag von yahp » Mo 10 Mai, 2004 9:11 am

Hiho!

> Umm, 50 * 5 Bytes = 250 Bytes = 0xFA. Die 50kpps sind keine harte Grenze, aber bei mehr PPS wird das Timing ziemlich hakelig. Mehr vom USB Frame für bILDA zu reservieren, als man braucht, bringt keinen Vorteil. Die dort eingestellte Paketgrösse wird in jedem Frame reserviert, egal ob Bedarf ist oder nicht.

Ja, gut, sehe ich ein ;-)
In dem Fall hättest du allerdings auch einfach Alternate Setting 2 nehmen können und es wäre dir erspart geblieben, die ganzen Descriptoren und handlich routinen neu zu schreiben...



Viele Grüße

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:

"Fehlersuche" Timer????

Beitrag von tschosef » Mo 10 Mai, 2004 9:26 am

Guten Morgen allerseits,

also. Ich habs heut nochmal probiert. Es geht nicht. Nun mach ich eine Fehlersuche. Weis ja nicht wo der Hacken ist, also test ich so aus:

Ich setze in der Schleife "Hauptprogramm" wo eigentlich nur 2 NOP drinn stehen alle LED`s aus. Also Pin 7 auf High die anderen auf low.==> alle aus.

Und nu hab ich in den diversen Interuptroutienen einzelne LED`s angeschaltet, so dass ich mit Oszi gucken kann, welche Routiene überhaupt aufgerufen wird.

SOF wird aufgerufen. Diese Soll ja den Timer neu starten.==> okay

POINT OUT ISR welche ja durch den Timer aufgerufen werden soll wird NICHT aufgerufen.

Genauso wenig NO OUT DATA.... logisch, weil ja POINT OUT ISR nicht aufgerufen wird.

Afrob, könntest Du mal testen, ob diese Firmwareversion welche vom CVS Server zum Download bereit steht bei Dir läuft? Hab ich heute früh nochmal runter geladen.

Weis jemand einen Grund, warum es bei mir nicht laufen könnte? Könnte das an einem Lötfehler liegen??? Glaube ich aber selber weniger.

Ich werd, soweit ich bis heut nachmittag nix weiter höre mal die Enable Bits für den Timer und dessen Interrupt nochmal überprüfen.

Währ aber schön, wenn ich mir die Arbeit sparen könnte.

Grüße 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 » Mo 10 Mai, 2004 9:33 am

Zeile 215: ; setb IE.5
Zeile 216: clr IE.5

Vertausche da mal die Semikolons, dann geht es. (Das Problem ist mir am Wochenende auch gerade aufgefallen. :) Ich hatte die Ausgabe zum Testen der Standard Device Requests testweise ausgeschaltet.)

Gast

Ich glaubs ja nicht....

Beitrag von Gast » Mo 10 Mai, 2004 11:33 am

Ja vieeeeeeeeeleeeeeen Dank!

Ich glaub ja nicht. Wisst ihr überhaupt, wieviel Ärger mich das gekostet hat?
Nochmals Dankeschön!!!!

gruß
Erich

yahp
Beiträge: 34
Registriert: Mo 03 Mai, 2004 2:01 pm

Beitrag von yahp » Mi 12 Mai, 2004 6:46 pm

Hi Tschosef,

ich habe mich gestern auch lange mit den Interrupts, die nicht so wollten, rumgeärgert...

Ich versteh bis jetzt nicht, warum

mov CKCON, #00100000b

den Timer 2 nicht in den schnellen Modus schaltet. Es soll BIT 5 sein - isses doch auch?!

Mittlerweile glaub ich, ich hatte mich da doch verzählt :roll:


Grüße

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 13 Mai, 2004 7:37 am

Hmmm....

Moint Yap,
also, was du da geschrieben hast ist wohl das bit 5. Welches Bit genau gesetzt werden muß, weis ich grad nicht, müsste ich nachschaun.

Geht der Timer nicht? oder nicht richtig? Is mir noch garnicht aufgefallen.
Muß mal messen oder so.

gruß
Erich

yahp
Beiträge: 34
Registriert: Mo 03 Mai, 2004 2:01 pm

Beitrag von yahp » Do 13 Mai, 2004 8:44 am

Hiho,

geht schon :-)
Man muss halt richtig zählen können ...

Grüße

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:

Firmware Update

Beitrag von tschosef » Di 18 Mai, 2004 5:55 pm

Halli hallo,

mal ne Frage. Hat jemand in irgendeiner weise mit der neuen Firmware (Downloadbar seit gestern bei linux-laser.org) schon mal analoge Signale aus Bilda bekommen?

ich noch nicht..... schnief

Erich

Gesperrt

Zurück zu „OpenProject: bILDA“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast