OIS Driver Plugin User Guide
Introduction
The OIS driver plugin is used to control the LC898122AXA OIS module. It provides control for all the features of the OIS module. These features are explained in detail below.
Note: This module has been enabled with the AR2520 and the AR1335 sensors so far. It works with the ICP3 as well. However, the ICP3 connection assumes that you have an AR1335 module connected to it. If your sensor is not supported, this plugin will not show up in the Plug-ins menu. To add new sensors, please contact the dev team.
To Start the OIS Driver plugin:
- Start DevWare/DevWareX application and load the sensor data file for the sensor.
- Load the INI preset required, and get the sensor to stream.
- Then go to Plug-ins->OIS Driver.
The following window comes up.
Figure 1 OIS Driver Plugin Dialog
OIS Driver Features
Initialize OIS Driver Button
Click this to initialize the OIS module. The initialization procedure takes a while with the ICP3 connected. Please be patient. When the initialization is done, you will see a message box saying “Initialization Done!”.
Internally, the OIS plugin initializes the OIS module (IniSet()), the AF module (IniSetAf()), and loads the calibration data (if found on EEPROM addressable at 0xA8, at address 0x00).
Calibration Data
The EEPROM is used to store the Calibration data. The plugin looks for the 4 byte pattern to determine if valid calibration data is present. The plugin assumes that the data is present at address 0x00, and that the EEPROM is addressable at 0xA8. This is true for all the reference modules built internally.
However, the customer modules can potentially store the calibration data at a different location in the EEPROM. However, they will still have to use the format shown in the calibration data table below, for the plugin to work. The 4 byte pattern must be the same as in the table below. Steps to follow to load calibration data:
- Enter the EEPROM slave address. Please note if the slave address is 0xA0, this will not work with Demo3, due to conflicting addresses.
- Enter the start address at which the calibration data is located.
- Click the Load Calibration Data Button.
A message should appear saying calibration data loaded successfully.
Calibration data table
Data Addr | Data | Explanation |
0x00 | 0x4C | Pattern (MSB) |
0x01 | 0x43 | Pattern-2 |
0x02 | 0x38 | Pattern-3 |
0x03 | 0x39 | Pattern (LSB) |
0x04 | 0xCC | Hall offset X (MSB) |
0x05 | 0x3A | Hall offset X (LSB) |
0x06 | 0xE7 | Hall offset Y (MSB) |
0x07 | 0xD6 | Hall offset Y (LSB) |
0x08 | 0xF5 | Hall bias X (MSB) |
0x09 | 0x00 | Hall bias X (LSB) |
0x0A | 0xE0 | Hall bias Y (MSB) |
0x0B | 0x00 | Hall bias Y (LSB) |
0x0C | 0x07 | Hall AD offset X (MSB) |
0x0D | 0xE7 | Hall AD offset X (LSB) |
0x0E | 0x04 | Hall AD offset Y (MSB) |
0x0F | 0xC0 | Hall AD offset Y (LSB) |
0x10 | 0x27 | Loop gain X (MSB) |
0x11 | 0xA2 | Loop gain X (LSB) |
0x12 | 0x26 | Loop gain Y (MSB) |
0x13 | 0x6B | Loop gain Y (LSB) |
0x14 | 0x00 | Optical center X (MSB) |
0x15 | 0x00 | Optical center X (LSB) |
0x16 | 0x00 | Optical center Y (MSB) |
0x17 | 0x00 | Optical center Y (LSB) |
0x18 | 0xFF | Gyro offset X (MSB) |
0x19 | 0xFF | Gyro offset X (LSB) |
0x1A | 0xFF | Gyro offset Y (MSB) |
0x1B | 0xFF | Gyro offset Y (LSB) |
0x1C | 0x4C | OSC value |
0x1D | 0xBF | Gyro gain X [31 : 24] |
0x1E | 0x14 | Gyro gain X [23 : 16] |
0x1F | 0x7B | Gyro gain X [15 : 8] |
0x20 | 0x00 | Gyro gain X [7 : 0] |
0x21 | 0x3F | Gyro gain Y [31 : 24] |
0x22 | 0x14 | Gyro gain Y [23 : 16] |
0x23 | 0x7B | Gyro gain Y [15 : 8] |
0x24 | 0x00 | Gyro gain Y [7 : 0] |
OIS Control
There are two modes of OIS control, automatic and manual.
Manual Control
The default is manual control. It exposes two sliders, one for X direction, and other for Y direction. Slide these to see the lens moving in X and Y direction respectively. The hall sensor values can also be accessed by clicking the "Read values" button. The range for this data is -0.4 to + 0.4.
Auto OIS
This enables the OIS module in the LC898122. User can select movie mode or still mode using the radio buttons.
Focus control
This plugin provides only manual focus control. If you want auto focus, use the “Universal Auto Focus” plugin. There are two types of VCM drive supported with the LC898122 module, i.e. differential and single ended. This depends on how the hardware module is built. For reference modules built internally, modules numbered 1Mxx use differential drive, whereas modules numbered 2Mxx onwards (3Mxx, 4Mxx…) all use the single ended drive. If you are not sure which drive is used in your module, please test both. Either one should work. Select the appropriate option from the drop down box. Please note that this re-initializes the OIS module. You have to reload Calibration data, if you are not using the default values.
After selecting the VCM drive, control the lens position with the slider.
Test Gyro
This plugin also provides a way to test the Gyro. Click this button to run the test. The status will show up below.
Figure 2 Gyro Test Succeeded