• Herzlich willkommen im "neuen" DSLR-Forum!

    Wir hoffen, dass Euch das neue Design und die neuen Features gefallen und Ihr Euch schnell zurechtfindet.
    Wir werden wohl alle etwas Zeit brauchen, um uns in die neue Umgebung einzuleben. Auch für uns ist das alles neu.

    Euer DSLR-Forum-Team

  • In eigener Sache!

    Liebe Mitglieder, liebe Besucher und Gäste
    ich weiß, es ist ein leidiges Thema, aber ich muss es ansprechen: Werbung, Werbeblocker und Finanzierung des Forums.
    Bitte hier weiterlesen ...

  • DSLR-Forum Fotowettbewerb neu erfunden!
    Nach wochenlanger intensiver Arbeit an der Erneuerung des Formates unseres internen Fotowettbewerbes ist es Frosty als Moderator
    und au lait als Programmierer gelungen, unseren Wettbewerb auf ein völlig neues Level zu heben!
    Lest hier alle Infos zum DSLR-Forum Fotowettbewerb 2.0
    Einen voll funktionsfähigen Demowettbewerb kannst du dir hier ansehen.
  • Neuer Partner: AkkuShop.de
    Akkus, Ladegeräte und mehr (nicht nur) für Digitalkameras und Drohnen
  • Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2024
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien der Eigenmarken "Upscreen", "Brotec", "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Stimmt ab über die Sieger des DSLR-Forum Fotowettbewerbs März 2024.
    Thema: "Arbeitsmittel"

    Nur noch bis zum 31.03.2024 23:59!
    Jeder darf abstimmen!
    Zur Abstimmung und Bewertung hier lang
  • Frohe Ostern!

    Wir wünschen allen DSLR-Forum Nutzern, ihren Familien und Freunden sowie unseren Sponsoren und Partnern und deren Familien und Freunden ein frohes Osterfest.

    Euer DSLR-Forum Team!
WERBUNG

Canon-EOS-Protokoll

Da es sich um die Umrechnung des Phasenunterschieds in Motorsteps handelt (?) müsste doch ein entscheidener Parameter in der Berechnung vorkommen, der die Steigung der Kennlinie vorgibt, oder etwa nicht?
Momentan würde tatsächlich eine Funktion f(x) =2^((16900-x)/1000) bzw. f(x)=122294*2^(-x/1000) die Kennline ziemlich exakt berechnen.
 
Zuletzt bearbeitet:
Da es sich um die Umrechnung des Phasenunterschieds in Motorsteps handelt (?) müsste doch ein entscheidener Parameter in der Berechnung vorkommen, der die Steigung der Kennlinie vorgibt, oder etwa nicht?
Momentan würde tatsächlich eine Funktion f(x) =2^((16900-x)/1000) die Kennline ziemlich exakt berechnen.

und diese Steigung müsste von Linse zu Linse verschieden sein und abgefragt werden können ?
 
x ist der Lens Extension Wert [228] und bestimmt in der Tat die Umrechnung der Motorschritte. Die Phasendifferenz auf dem AF Modul ist bei diesem Test konstant geblieben, ich hab nur den x Wert den das Objektiv sendet verändert und y ist die Anzahl der Motorschritte die die Kamera berechnet.

Die Steigung die man in der log Auftragung erhält ist bei jedem Objektiv im Rahmen der Messgenauigkeit gleich, von Linse zu Linse verändert sich ja der übertragene x Wert. In dem Graphen sieht man also das Ergebnis aller möglichen Objektive bei gleicher Phasendifferenz.

Was noch nicht berücksichtigt wurde ist, wie die Phasendifferenz in dieser Formel auftaucht. Nach bisherigem Kenntnisstand ist "Motorschritte = konst * Phasendifferenz" und die Konstante wäre dann f(x).
 
So, nachdem ich mich durch alle bisher 23 Seiten "durchgefressen" habe möchte ich mich erstmal in die Respektsbekundigungen an Nightshot einreihen. Mir fehlt es zwar voll und ganz an dem technischen Hintergrundverständnis die Details nachzuvollziehen, aber die Mühe die Du Dir machst ist unverkennbar.

R*E*S*P*E*C*T!

Aufgrund meines techniachen Laienstatus stellt sich mir natürlich die Frage, wie viel Erfahrung oder wie viel technischer Aufwand schlussendlich tatsächlich nötig sein werden, um in Eigenregie alte Sigma's an aktuellen Canons DSLR zum Laufen zu bringen? Oder könnte man das gegen entsprechende Vergütung bedarfsweise bei Dir in Auftrag geben?

Beste Grüße & weiterhin gutes Gelingen,
Spacehead
 
Momentan würde tatsächlich eine Funktion f(x) =2^((16900-x)/1000) bzw. f(x)=122294*2^(-x/1000) die Kennline ziemlich exakt berechnen.
Vergesst den 16900 Wert, in den geht natürlich direkt die eingestellte Phasendifferenz ein. Ich hab jetzt einen neuen berechnet, der von der Phasendifferenz bereinigt ist, bin jetzt aber erst mal vorsichtig geworden, der Wert muss ein paar Gegenprüfungen stand halten.


Aufgrund meines techniachen Laienstatus stellt sich mir natürlich die Frage, wie viel Erfahrung oder wie viel technischer Aufwand schlussendlich tatsächlich nötig sein werden, um in Eigenregie alte Sigma's an aktuellen Canons DSLR zum Laufen zu bringen?
Ich hab die Technik zum mitschreiben vom Protokoll nur noch für etwa 2 Wochen, dann wird sie für ein anderes Projekt gebraucht. So lange möchte ich die AF Funktionen untersuchen. Danach werde ich das Programm für die Sigma Chips schreiben. Da ich schon genau weiß wie das aussehen soll wird es hoffentlich nicht zu lange dauern und dann kann es in Serie gehen.
 
Da ich schon genau weiß wie das aussehen soll wird es hoffentlich nicht zu lange dauern und dann kann es in Serie gehen.

Geil! - Wirst Du auch einen "Umbauservice" anbieten? - Zumindest so forenintern? - Darf ja auch ruhig eine Kleinigkeit kosten, Du sollst ja auch was von deiner ganzen Arbeit haben. :)
 
Nachdem er hier kurz Thema war und ich nun zufällig die Chance hatte, einen der neuen Kenko 1.4x DGX auszuprobieren, muss ich meine eigene Erfahrung mit TKs revidieren. Das Teil ist in der Tat erstaunlich.

1) An einem Makro 100/2.8L IS, das ja keine TK Kontakte besitzt, wird trotzdem in der Kamera alles richtig angezeigt (in den EXIFs natürlich auch). Die Anfangsblende beträgt 4.0 und die BW in den EXIFs wird mit 140mm angegeben. Gleichzeitig aber steht als Objektiv richtigerweise das 100/2.8 drin. In Lightroom z.B. ist so ein Bild mit dem Text "140mm (EF100mm f/2.8L Macro IS USM) beschriftet. Man weiß also genau, dass ein TK dran war und welcher. Der AF geht bei f4.0 Anfangsblende natürlich erwartungsgemäß.

2) An einem 100-400 sieht es ähnlich aus, wenngleich das ja TK Kontakte hätte. Trotzdem vollbringt der Kenko da das Kunststück, dass der AF einwandfrei funktioniert, OBWOHL die 5DII als Anfangsblende f8.0 anzeigt. EXIFs sehen also so aus "560mm (EF100-400mm f/4.5-5.6L IS USM). Dass der AF sogar recht gut funktioniert hat mich schon verblüfft und ist ein echter Kaufanreiz! Was immer Kenko in dem TK treibt, es ist deutlich 'intelligenter', als ein paar Pins am geeigneten Objektiv kurzschließen :).
 
f(x)=122294*2^(-x/1000) die Kennline ziemlich exakt berechnen.

ich hätte noch einen anderen Vorschlag für die funktion f(x), und zwar f(x) = 3.2677/float16(x)

hierbei ist float16(x) die Funktion welche die 16 bits der integer zahl x gemäß der definition auf http://en.wikipedia.org/wiki/Half_precision_floating-point_format in eine floating point zahl umwandelt. Die Berechnung findet ja in der Kamera statt und ich halte es durchaus für realistisch, dass da bereits bei den anfängen des EOS systems vor über 20 Jahren floating point zahlen verwendet wurden. Ich habe einen Plot angehängt in dem die funktion von masterFX und die "floating point" funktion aufgetragen sind. (es ist f(x)/y geplottet, ein Wert von 1 überall entspräche also der idealen Übereinstimmung)

Interessanterweise verschwinden im falle von float16 die fluktuierenden abweichungen der anderen funktion und anstelle dessen entsteht ein kontinuierlichen drift zu höheren Werten hin. Die durchschnittliche Abweichung vom Idealwert ist aber in beiden Varianten etwa gleich!

Systematischen Abweichungen lassen sich eher durch die Variationen der Messbedingungen erklären (wenn sich beispielsweise im Messverlauf die Beleuchtungsbedingungen etc. und somit der Phasenwinkel verändert haben).

Viele Grüße
 
To break a little bit af aquations, lens status for IS lenses is 145, and answer now in 3 bytes.
Second byte for focus, as 144, and 3rd for IS. 0x04 for IS on, and 0x00 for is off. 0x0E or 0x0C for stabilisation in progress ? Don't know...

Just after 145, body sends something, but unclear for me, not always the same...

I still haven't IS drive from body...
 
To break a little bit af aquations, lens status for IS lenses is 145, and answer now in 3 bytes.
I think the first byte is a dummy byte == 0.
Second byte for focus, as 144
Don't forget the aperture status.

0x04 for IS on, and 0x00 for is off. 0x0E or 0x0C for stabilisation in progress ? Don't know...
You have to read it by bit:
Bit0: Never seen, perhaps error flag.
Bit1: IS is running properly.
Bit2: IS switch is ON
Bit3: IS group is uncaged.

Just after 145, body sends something, but unclear for me, not always the same...
I guess camera status.

I still haven't IS drive from body...
What are you searching for?
 
Don't forget the aperture status.
Ooops.... i maybe missed it..... i didn't see it... for me, aperture is busy when the lens sends 0 (as busy status) after 8 bits (aperture control command).
There is another aperture status ?

What are you searching for?

I'm looking for how the body engage stabilization, and how it cut it....

Next step will be controling lenses with an HP95LX via serial port and PIC microcontroller... As i don't programm PC and others (only my PICs...), this will be a funny challenge for me... ;)
 
There is another aperture status ?
2nd byte, Bit 0 and 1 are high if aperture is closed.

I'm looking for how the body engage stabilization, and how it cut it....
Try 15 7 7 14 10 or 12 10. IS stopps when clock is missing for some time.

Yes, first byte is 0 after several exchanges between body and lens. But on my PIC, when i send 10 , 0 then 145 directly, lens gives an other value for that first byte...
I guess 145 is content sensitive. It seems the lens waits for the second byte from the camera and then sends the answer. If the camera is in LiveView the camera sends even a third byte. Lens answer still starts after the second one.
 
Hi, will euch nicht demoralisieren, aber ich hatte ein altes Sigma zum Umbau eingeschickt, und es mit "keine Ersatzteile mehr verfügbar" zurückbekommen. Wenn nur 1 Bit anders könnte das ja kein Ersatzteilproblem sein.
Das ist kein Ersatzteilproblem, denn Ersatzteile können nachproduziert werden.
Meiner Meinung nach ist es der Wille Sigmas alte Linsen nicht mehr zu unterstützen!

So wie auch mein älteres Sigma 2.8/50 SNo. 3..... rechipped für EOS nach Herstellerauskunft nicht in der Fokuslage justierbar wäre. In Kenntnis der hier aufgeführten Grundlagen zum EF 1.8/50 (Phasenlage über Lötbrücken beeinflußbar) oder auch EF 2.8/100 ohne USM (jeweils mit diversen Unterlagscheiben in verschiedenen Abmassen für die Abstimmung der Baugruppen) erscheint mir eine Objektivkonstruktion ohne AF-Justagemöglichkeit abwegig.
 
Zuletzt bearbeitet:
Hi, will euch nicht demoralisieren, aber ich hatte ein altes Sigma zum Umbau eingeschickt, und es mit "keine Ersatzteile mehr verfügbar" zurückbekommen. Wenn nur 1 Bit anders könnte das ja kein Ersatzteilproblem sein.

klaro ist das ein Problem, wenn der Chip "hard" verdrahtet ist, im ROM ändert man halt kein Bit und den "alten" Chip neu auflegen damit er zur Platine passt ist wohl auch nicht wirtschaftlich, genausowenig wie für alte Linsen eine passende Platine zu machen, da spielen so viele Faktoren rein und Sigma will eben nicht, ist ja auch gemein von Canon das Protokoll flexibel zu halten :rolleyes: (es soll auch alte Canon Linsen geben von 1987 die nicht mehr mitspielen, aber billige, meine L haben alle Cam Umstiege mitgemacht 2x analog, 2x digital)
 
Äh ... wie soll das gehen, wenn die entsprechenden Produktionsstätten weg sind? Wir backen und einen alten Chip selbst, oder wie?

Fremdvergabe, wird außer Haus in Auftrag gegeben. Wo ein Wille is, is auch ein Weg.
Ich kann mich aber auch in Sigmas Lage versetzen das sie alte Objektive nicht updaten wollen, damit verdient man kein Geld. Der Kunde soll gefälligst neue kaufen. Schön is das für den Kunden aber nicht.
 
WERBUNG
Zurück
Oben Unten