Introduction
The EF-Mount Lens to TFL-Mount Birger Adapter (ADA-TFL-EF-US/ADA-TFL-EF-EU) and EF-Mount Lens to TFL-II Mount Birger Adapter (ADA-TFL2-EF-US/ADA-TFL2-EF-EU) with M8 GPIO camera connection and power supply provides the ability to use any Canon EF lens on the LUCID’s TFL-mount models and TFL-II mount models (Specific Atlas 5GigE models and Atlas10 10GigE models). The M8 connections allows the users to electronically focus the lens through serial commands. The following KB article will describe how to issue commands to control and focus an EF lens through the Birger adapter.
Function Summary
Using LUCID’s serial implementation, the non-opto isolated pins (Line 2 and Line 3 on Atlas) can be used to send commands to an EF lens controller to focus an EF lens.
Wiring Diagram
Equipment Used
- ATL314S-CT 31MP IMX342 color (P/N: ATL314S-CT), contact Support for firmware
- Birger TFL to EF mount adapter with GPIO adapter cable for Atlas (P/N: ADA-TFL-EF)
The steps in this KB are also applicable to the Birger TFL-II to EF mount adatper with GPIO adapter cable - Arena SDK v1.0.28.3 or newer (Includes ArenaView)
- Canon EF-S 18-55mm f/3.5-5.6 IS II or Canon EF-S 35mm f/2.8 Macro IS STM
Hardware Installation Instructions
- Connect Birger TFL to EF adapter to Atlas Camera
- Attach EF lens to Adapter
- Attach M12 cable to camera and PC
- Attach M8 cable from Birger to Atlas GPIO M8 port
- Plug in Birger power cord to power supply / outlet
Table of Contents
Introduction
Function Summary
Equipment Used
Hardware Installation Instructions
Initial Camera Setup Using ArenaView
Focusing the Lens with Serial Write Commands
Learn Absolute Focus Range: la
Move Focus to Zero Position: mz
Set Current Focus Counter Position to Zero: sf0
Move Focus to Infinity Position: mi
Additional Commands
Reading the Serial Buffer
Arena SDK Example
Initial Camera Setup Using ArenaView
Download and install Arena SDK on the host PC.
After the Atlas camera, Birger adapter, and EF lens are put together and connected to the host PC, launch ArenaView. We will set the following Atlas parameters in ArenaView:
Step 1: Set Serial Baud Rate to Baud 115200.
Step 2: Set Serial Receive Source to Line 3.
Step 3: Set Line Selector to Line2.
Step 4: Set Line 2’s Line Mode to Output.
Step 5: Set Line 2’s Line Source to Serial Transmit.
Step 6: Set Line Selector to Line4.
Step 7: Set Line 4’s Voltage External Enable to True.
Focusing the Lens with Serial Write Commands
In this section we will be sending serial commands from the camera to the adapter to focus the lens. We can also read the response sent to the camera. This can be done by using Write and Read serial commands on the camera.
In ArenaView, press to capture continuous images.
Learn Absolute Focus Range: la
This command learns the focus range of the lens in a single step. No other lens movement commands can be issued while this command is in progress:
la <CR>
We will need to translate this command from ASCII to hex:
ASCII | l | a | <CR> | |
Hex 0x | 6C | 61 | 20 | 2D |
The above command is 4 bytes.
Transmitting the ‘la’ Command with a serial write command
Step 1: Reset the Serial Access Buffer.
- Set Serial Operation Selector to Reset
- Click the Serial Operation Execute command
Step 2: Prepare the command to be transmitted.
- Set Serial Operation Selector to Write
- Enter 0x6C61202D in Serial Access Buffer
- Set Serial Access Length to 4 to transmit 4 bytes
Step 3: Transmit the serial command.
- Click the Serial Operation Execute command
Move Focus to Zero Position: mz
This command moves the lens focus to the zero position.
mz <CR>
We will need to translate this command from ASCII to hex:
ASCII | m | z | <CR> | |
Hex 0x | 6D | 7A | 20 | 2D |
The above command is 4 bytes.
Transmitting the ‘mz’ Command with a serial write command
Step 1: Reset the Serial Access Buffer.
- Set Serial Operation Selector to Reset
- Click the Serial Operation Execute command
Step 2: Prepare the command to be transmitted.
- Set Serial Operation Selector to Write
- Enter 0x6D7A200D in Serial Access Buffer
- Set Serial Access Length to 4 to transmit 4 bytes
Step 3: Transmit the serial command.
- Click the Serial Operation Execute command
Set Current Focus Counter Position to Zero: sf0
The sf command sets the current lens focus position with the value specified. When sending the mz command to move the focus to the zero position, the lens encoder position will typically be a non-zero value. Setting sf0 after moving the focus to the zero position allows you to mark this position as zero, which can then be used with the focus absolute command to return to the same zero position (fa 0).
sf0 <CR>
We will need to translate this command from ASCII to hex:
ASCII | s | f | 0 | <CR> | |
Hex 0x | 73 | 66 | 30 | 20 | 2D |
The above command is 5 bytes.
Transmitting the ‘sf0’ Command with a serial write command
Step 1: Reset the Serial Access Buffer.
- Set Serial Operation Selector to Reset
- Click the Serial Operation Execute command
Step 2: Prepare the command to be transmitted.
- Set Serial Operation Selector to Write
- Enter 0x736630200D in Serial Access Buffer
- Set Serial Access Length to 5 to transmit 5 bytes
Step 3: Transmit the serial command.
- Click the Serial Operation Execute command
Move Focus to Infinity Position: mi
This command moves the lens focus to the infinity position.
mi <CR>
We will need to translate this command from ASCII to hex:
ASCII | m | i | <CR> | |
Hex 0x | 6D | 69 | 20 | 2D |
The above command is 4 bytes.
Transmitting the ‘mi’ Command with a serial write command
Step 1: Reset the Serial Access Buffer.
- Set Serial Operation Selector to Reset
- Click the Serial Operation Execute command
Step 2: Prepare the command to be transmitted.
- Set Serial Operation Selector to Write
- Enter 0x6D69200D in Serial Access Buffer
- Set Serial Access Length to 4 to transmit 4 bytes
Step 3: Transmit the serial command.
- Click the Serial Operation Execute command
Additional Commands
Command | Description | Hex Value | Command Length |
mf50 | Move focus +50 counts | 0x6D663530200D | 6 bytes |
mf-50 | Move focus -50 counts | 0x6D662D3530200D | 7 bytes |
fa2000 | Move absolute focus to position 2000 | 0x666132303030200D | 8 bytes |
Reading the Serial Buffer
After transmitting a serial command to the adapter, it will send a response that can be read from the Serial Access Buffer.
Reading the Adapter Response in the Serial Access Buffer
Step 1: Verify Serial Operation Result = Success.
Step 2: Note the value in Serial Received Size.
Step 3: Set Serial Access Length to the value in Serial Received Size.
Step 4: Set Serial Operation Selector to Read.
Step 5: Click the Serial Operation Execute command.
The Serial Access Buffer will be filled with a value that can be translated from hex to ASCII.
0x6661313030200D4F4B0D444F4E453130302C300D
Translated:
Hex 0x | 66 | 61 | 31 | 30 | 30 | 20 | 0D |
ASCII | f | a | 1 | 0 | 0 | <CR> |
Hex 0x | 4F | 4B | 0D |
ASCII | O | K | <CR> |
Hex 0x | 44 | 4F | 4E | 45 | 31 | 30 | 30 | 2C | 30 | 0D |
ASCII | D | O | N | E | 1 | 0 | 0 | , | 0 | <CR> |
66 61 31 30 30 20 0D 4F 4B 0D 44 4F 4E 45 31 30 30 2C 30 0D
Translated Response:
fa100 <CR> OK<CR> DONE100,0<CR>
Arena SDK Example
LUCID currently offers an SDK example to provide basic focus functionality for the adapter. To download this example please contact support@dev.thinklucid.com.