• Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2025
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien und Schutzgläser der Eigenmarken
    "Upscreen", "Screenleaf", BROTECT" und "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Stimmt ab über die Sieger des DSLR-Forum Fotowettbewerbs September 2025.
    Thema: "Straßenfotografie s/w"

    Nur noch bis zum 30.09.2025 23:59!
    Jeder darf abstimmen!
    Zur Abstimmung und Bewertung hier lang
  • Ich freue mich bekannt geben zu können, dass das DSLR-Forum einen neuen Aktionspartner gewinnen konnte.

    Saal Digital bietet Fotoprodukte in HighEnd-Qualität.
    Alle Informationen dazu gibt es demnächst hier.
  • 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 ...

  • Nicht erreichbare Adressen im Benutzerkonto
    Wir bekommen zurzeit eine große Anzahl an E-Mails, die das System zum Beispiel als Benachrichtigungen an Nutzer verschickt,
    als unzustellbar zurück, weil z.B. die Adressen nicht erreichbar sind oder das Postfach gar nicht existiert.
    Stellt doch bitte sicher, dass die Benachrichtigungen, die ihr vom System erwartet, auch zugestellt werden können.
    Nicht erreichbare E-Mail-Adressen sind dazu wenig hilfreich.
    Danke!
WERBUNG

Canon-EOS-Protokoll

Byte transfer method is SPI like, but without a CS (chip select) signal. When examining only the byte transfers, an acknowledge scheme can be seen - either to indicate reception or busy signal (idea from internet, not tested if it is ack or busy, can be both too).

TODO:
Describe RESET and WAKE conditions.

DATA:
I have tried to interpret data both ways, but the MSB first gives some understandable results (lens identification).

Samples:
As the communication is full duplex synchronized, usually the response for a command comes at least a byte later. I have tried to group the stream into blocks, but some values might be parameters, not commands. Some commands, however, show a distinctive pattern (marked bold), which is repeated every time those commands appear.

Timing:
The first 16 bytes are read in burst, then cca 24+24 by small sized blocks (could be that the camera is multitasking to other things so it is not burst like). Later, some 24 byte burst appear each 50ms (20Hz). Each other of these burst is same, therefore both samples given only once, but they are repeated like 74 times. The next different communication appears when the camera is switched (immediatly) off, or no action is taken and the system goes to low-power mode - again indicated by different samples.

LENS ID:
Identification codes easily available in internet, the map of apertures is in Magic Lantern's lens.h file. Zoom range given directly, probably 16bit integers.
 
Hello, I have been attempting to understand the EOS protocol as well and I was curious if anyone has understood how the instructions which control the autofocus work?
 
There is, right here, close to 70% of the protocol, just search.

AF details are missing, and i still didn't search how to activate stabilization.

I made a PIC converter for sigma APO MACRO HSM lenses that work quite fine (pic12f683 as a lonely component, and some wires).

I bought a Sony Nex 3, so next step will be to decodate that protocol (opened by Sony, but only for lens and adaptor manufacturers, not for individuals), and try to build a Nex to Canon EF converter.
 
Habe noch nicht die diskussion gelesen, aber wollte trozdem gerne einen "link" nennen den ich hoffe helfen könnte. Verleicht bringt es nichts neues, aber kann ja nicht schaden.

http://kzar.net/wiki/Photo/CanonEFProtocol

Könnte das hilfreich sein?
-------------------------
Haven't read this discusion yeat, but wanted to share a link anyhow. I think it might be helpful, and in any case can't hurt.

http://kzar.net/wiki/Photo/CanonEFProtocol

Could this be helpfull?

Best Regards Nic
 
spannender Thread (und tolle Leistung), den sollte man verfilmen :-).
Es fehlt mir aber noch das happy end einer kommerziellen Lösung für die armen "Sigma-geschädigten"
oder die Nachricht, dass Nightshot von Canon aus dem Verkehr gezogen wurde
oder und :D
 
Mit der gleichen Technik müsste sich doch auf folgendes realisieren lassen: Zwischenring zwischen Bajonett und Objektiv und daran eine Einstellmöglichkeit für die Focusgeschwindigkeit? Ans gleiche Bajonett dann noch Justierschrauben für die AF-Korrekturparameter.

Ich glaube gerade wenn die Kameras immer bessere Focussiermöglichkeiten im LiveView bekommen, wäre das fürs Filmen ne nette Geschichte.
 
Der Zwischenring wäre dann halt ein Zwischenring, mit den entsprechenden Auswirkungen auf die Fokusdistanz. Und die AF-Parameter bräuchten recht viele Steller, deren Bedeutung man dem Anwender mal näherbringen muss. Wenn die so einfach wären, dann hätte Sigma das ja korrekt implementiert.

Eher ein Firmware-Hack, so man sich den Verzicht auf MF wirklich antun möchte.
 
Der Zwischenring wäre dann halt ein Zwischenring, mit den entsprechenden Auswirkungen auf die Fokusdistanz. Und die AF-Parameter bräuchten recht viele Steller, deren Bedeutung man dem Anwender mal näherbringen muss.
Ich dachte das Objektiv übermittelt nur 4 Korrekturparameter (jeweils einmal für Blende 2.8 und 5.6, und dann nochmal für beide Blendenwerte die Korrektur im Infrarotbereich?).

Man muss die Formel ja gar nicht verstehen, nach die Kamera dann die Motorschritte rechnet, sondern es reicht sich die Parameter irgendwo anzeigen zu lassen.

Dann gehste hin und focussierst im Liveview auf eine klare Kante. Jetzt schalteste den LV aus, und focussierst nochmal mit dem Phasen-AF. Wenn das nicht übereinstimmt, kannste z.B. an den 5.6er-Blendenwerten anfangen rumspielen, und dir dann einfach für das jeweilige Objektiv aufschreiben, welche Werte zu einem guten Ergebnis führen. Bei welchen Werten Live-View und Phasen-Autofocus übereinstimmen.

Das hätte auch folgenden Vorteil: man könnte die Focuskorrektur an Zoomlinsen je nach Brennweite anpassen.

Dann brauchst noch ne Speicherlogik in dem Ring, und du kannst Brennweite-abhängige Korrekturparameter für jede Linse hinterlegen. Damit hätte man eine bessere Focus-korrektur-Funktion als ursprünglich im EOS-Protokoll vorgesehen.

Die Adapterringe für M42-Linsen mit Chip für AF-Confirm können doch teilweise auch AF-Justage machen, zumindest dachte ich sowas gelesen zu haben?
Und die sind ja ziemlich flach. Wenn das Auflagemaß das problem ist, muss man halt die Justier-drehschalter per Kabel nach aussen führen, und z.B. selbst irgendwo an ne passende Stelle des Bodys platzieren. Z.B. über kleine Klett-Punkt.
 
Zuletzt bearbeitet:
die Nachricht, dass Nightshot von Canon aus dem Verkehr gezogen wurde
Canon hat damit gar nichts zu tun. Es musste erst mal eine Plattform geschaffen werden und mit nur kleinen Änderungen lassen sich nun eine ganze Reihe an interessanten Produkten anbieten.

Ich dachte das Objektiv übermittelt nur 4 Korrekturparameter (jeweils einmal für Blende 2.8 und 5.6, und dann nochmal für beide Blendenwerte die Korrektur im Infrarotbereich?).
Mit so einem Adapter öffnest du die Büchse der Pandora. Du musst so viele Parameter on the fly mit ändern, dass das nichts vernünftiges werden kann. Man kann das viel eleganter mit einem Speicherchip am Bajonett lösen, nur leider braucht es dazu einen externen Programmieradapter und der bereitet mir noch Kopfzerbrechen.
 
Mit so einem Adapter öffnest du die Büchse der Pandora.
Oh, das war nicht meine Absicht ^^.
Du musst so viele Parameter on the fly mit ändern, dass das nichts vernünftiges werden kann.
Versteh ich nicht. Sind für die Focuskorrektur nicht nur die 4 Korrekturparameter verantwortlich? Inwiefern beeinflusst das denn andere Parameter, ich dachte die werden nur zur Umrechnung Phasendifferenz-Motorschritte genutzt?

Und die Focusgeschwindigkeit ist doch nur ein einzelner Wert?
 
Versteh ich nicht. Sind für die Focuskorrektur nicht nur die 4 Korrekturparameter verantwortlich? Inwiefern beeinflusst das denn andere Parameter, ich dachte die werden nur zur Umrechnung Phasendifferenz-Motorschritte genutzt?
Das schon, aber mit dem Adapter veränderst du den AF Strahlengang durch die Optik. Die so ermittelten Korrekturwerte müssen nicht zu einer Optik ohne Zwischenring passen. Gleichzeitig ist das eine optische Nachvergrößerung. Weil die anderen Parameter nicht passen hast du einen ständigen Overshot über das eigentliche Ziel hinaus.
 
Mit der Nachvergrößerung und der zu großen AF-Geschwindigkeit versteh ich noch nicht. Das liegt am Zwischenring-Charakter?

Würde man den Chip wie du planst direkt ins Bajonett stecken, würde sich am Strahlengang nichts ändern, aber wenn man meine gewünschten Justierschalter per Kabel nach draussen führt, könnte man meine gewünschte Funktionalität erreichen?

Mir gehts darum, dass ich meine Linsen über den ständigen Vergleich Live-View/Phasen-Autofocus selbst justieren könnte, bei Zoom-Linsen mir ne kleine Tabelle für jede Brennweite anfertigen könnte (und laminiert aufs Objektiv kleben).
Würde ich als Anwender keine solchen Einstellmöglichkeiten bekommen, hättest du als Hersteller natürlich das Monopol für alle meine Linsen ein Korrekturprofil in deinen Chip zu programmieren.
Als Hersteller würde ich es so machen, als Anwender fände ich mehr Eingriffsmöglichkeiten gut.
 
thank you for writing in english, is here any wiki which summarizes what has been discovered on this protocol ?
if not, Magic Lantern wiki would be a good place for that...
http://magiclantern.wikia.com/wiki/Magic_Lantern_Firmware_Wiki

Lorenzo

Byte transfer method is SPI like, but without a CS (chip select) signal. When examining only the byte transfers, an acknowledge scheme can be seen - either to indicate reception or busy signal (idea from internet, not tested if it is ack or busy, can be both too).

TODO:
Describe RESET and WAKE conditions.

DATA:
I have tried to interpret data both ways, but the MSB first gives some understandable results (lens identification).

Samples:
As the communication is full duplex synchronized, usually the response for a command comes at least a byte later. I have tried to group the stream into blocks, but some values might be parameters, not commands. Some commands, however, show a distinctive pattern (marked bold), which is repeated every time those commands appear.

Timing:
The first 16 bytes are read in burst, then cca 24+24 by small sized blocks (could be that the camera is multitasking to other things so it is not burst like). Later, some 24 byte burst appear each 50ms (20Hz). Each other of these burst is same, therefore both samples given only once, but they are repeated like 74 times. The next different communication appears when the camera is switched (immediatly) off, or no action is taken and the system goes to low-power mode - again indicated by different samples.

LENS ID:
Identification codes easily available in internet, the map of apertures is in Magic Lantern's lens.h file. Zoom range given directly, probably 16bit integers.
 
ALLE ACHTUNG! Das ist ja wirklich ein sensationelles Projekt

Bei mir zu Haus liegt ein altes Sigma, dass ich mit dem Umbau wieder zum Leben erwecken könnte.

Dazu noch ein paar Fragen:
  • sollte das auch auf meinem Sigma Aspherical IF Zoom 28 - 300 möglich sein
  • ist im Code ein objektivspezifischer Teil (Sorry - bin eine Assember Analphabet!)
  • gibt es eine Skizze der Schaltung (welche Leitungen aufgetrennt, wo die Widerstände, ...)
  • ist das die aktuelle Version ? Post # 309

Vorab DANKE für die Info!

Gerhard
 
ALLE ACHTUNG! Das ist ja wirklich ein sensationelles Projekt
Bei mir zu Haus liegt ein altes Sigma, dass ich mit dem Umbau wieder zum Leben erwecken könnte.
Dazu noch ein paar Fragen:
  • sollte das auch auf meinem Sigma Aspherical IF Zoom 28 - 300 möglich sein
  • ist im Code ein objektivspezifischer Teil (Sorry - bin eine Assember Analphabet!)
  • gibt es eine Skizze der Schaltung (welche Leitungen aufgetrennt, wo die Widerstände, ...)
  • ist das die aktuelle Version ? Post # 309
Vorab DANKE für die Info!
Gerhard

https://www.dslr-forum.de/showpost.php?p=7922587&postcount=383
https://www.dslr-forum.de/showpost.php?p=7973499&postcount=384


da 2 Leute umgebaut haben tippe ich auf keinen objektivspezifischen Teil, weiss es aber nicht, eigendlich kann man den Datenverkehr so lassen wie er ist, nur an der richtigen Stelle die 19 zu 18 tauschen(oder umgekehrt-vergessen- genauergesagt 1 Bit raus oder reinfummlen, ausmaskieren), ich denke nicht das die beiden irgendwas anpassen mussten, smd ist auch viel leichter einzufummeln als der DIL, frag mal bei sleim an ob der Code aktuell ist
 
Hello,
Sorry I can not write in German but I think most of you read English. I found this forum recently and very impressed by the detective work. This also inspired me to do the conversion on my Sigma lenses. I use a PIC12F629 @20MHz for the CPU since I am more familiar with it. Compared to Slein's implementation, I don't have "pin change int routine" and it works fine. Also, I added a long counter to force the CPU to sleep if no DCLK transition for more than 30 seconds. My camera supplies power to the lens even when the camera is off, so the SLEEP mode is necessary to prevent battery drain. I just finished the work on a 2X teleconverter as a test and debug platform. The result is surprisingly good.

My next step is to fit the processor into a Sigma 28mm f/1.8 lens. The challenge will be to solder the processor, crystal, and some capacitors in
a very small space in side the lens.

Attached are some pictures of what I did with the 2X coverter.

Thanks, and keep up the good work!
 
Nice job Lejaune :top:

Switching to SMD devices (see post # 383) might help to solve your space issues.

I have 2 questions about your post:
  • why did you remove the "pin change int routine"?
  • how much does the SLEEP mode reduce the power requirements? Is the constant power a common feature with Canon DSLR - I'v never checked with my 550D.

Right now I'm modding my Sigma DL Aspherical IF 28-300; hope to post here some success soon.

kind regards
Gerhard
 
WERBUNG
Zurück
Oben Unten