To apply for this task please complete one of those mandatory coding challenge together with your application: T1140
Applications without matching coding challenge completed will not be considered.
Read our Google Summer of Code Overview page:
https://wiki.apertus.org/index.php/GSoC_Overview
Control lens systems from various manufacturers (Canon, Nikon, Sony) from the AXIOM Beta hardware.
Implement the different protocols in a way that they can be utilized via AXIOM Beta userspace.
Goals:
- Create a physical/electronic lens mount adapter (a macro extension tube might be a good basis for this device) that can go between lens and existing photo camera to listen to the communication between them. This means you require to have said lens/camera combination (Canon, Sony e-mount or Nikon).
- Analyze the communication, pinout and protocol of the lens system
- Adapt the "sniffing device" (from point 1) to being able to send communication to the lens - basicaly taking the photo camera out of the system
- Establish communication with the Lens System
- Retrieve Information about the Lens System (focal length, aperture range, focus distance etc)
- Control the Lens System (Adjust aperture, focus, etc)
- Create a generic lens control API that should abstract away the differences from different manufacturers if multiple system can be reverse engineered this way.
Prerequisites:
- A test bench for interfacing the lens with a microcontroller
- A working off the shelf camera/lens assembly to listen to lens communications
Required skills:
- Basic hardware skills
- Embedded systems programming (e.g. Arduino or other microcontrollers)
- 3D CAD?
Some lens protocols were already reverse engineered; some good starting points:
- https://nikonhacker.com/wiki/Lens_Serial_Interface
- https://www.magiclantern.fm/forum/index.php?topic=18308
- https://github.com/LexOptical/E-Mount
Difficulty: Hard
Mentor: Alex (main mentor), Bertl (backup/co mentor)
To get in touch with any mentor check the Mentor Contact List.