Lens adjust setting in Eosutility - DSLR Hack development - CHDK Forum
supplierdeeply

Lens adjust setting in Eosutility

  • 1 Replies
  • 3796 Views
Lens adjust setting in Eosutility
« on: 05 / May / 2010, 11:05:26 »
Advertisements
I decompiled EOSUTILITY, and check a file named LensAdjustSetting.cs, In this file we can see this class:

private void updateValue(object sender, EOSUtility.PropertyChangedEventArgs e)
        {
            if (e.PropertyID == 0x40d)
            {
                if (base.InvokeRequired)
                {
                    base.BeginInvoke(new EOSUtility.PropertyChangedEventHandler(this.updateValue), new object[] { sender, e });
                    return;
                }
                this.detectLens((string) e.Data);
            }
            if (e.PropertyID == 0x1000211)
            {
                if (base.InvokeRequired)
                {
                    base.BeginInvoke(new EOSUtility.PropertyChangedEventHandler(this.updateValue), new object[] { sender, e });
                    return;
                }
                if (((uint) e.Data) == 0x27)
                {
                    this.detectLens("EF75-300mm f/4-5.6 II,III");
                }
            }
            if (e.PropertyID == 0x100041d)
            {
                if (base.InvokeRequired)
                {
                    base.BeginInvoke(new EOSUtility.PropertyChangedEventHandler(this.updateValue), new object[] { sender, e });
                    return;
                }
                byte[] data = (byte[]) e.Data;
                if (this.parser != null)
                {
                    uint num = 0;
                    if (this.parser.SetProperty(0x100041d, 0, data) == 0)
                    {
                        uint num3;
                        for (int i = 0; i < this.lensItems.Length; i++)
                        {
                            this.lensItems.Checked = false;
                        }
                        num = this.parser.GetProperty(0x1002, 0, out num3);
                        for (int j = 0; j < num3; j++)
                        {
                            string str;
                            if ((this.parser.GetProperty(0x40d, j, out str) == 0) && !string.IsNullOrEmpty(str))
                            {
                                this.addLens(str);
                            }
                        }
                    }
                    else
                    {
                        this.lensListView1.Enabled = false;
                        this.bitmapButton2.Enabled = false;
                        this.labelMessage.Text = StringTable.MSG_LENS_ERROR;
                    }
                }
                this.updateList();
                this.cameraController.actionPerformed("getproperty", new EOSUtility.PropertyChangedEventArgs(0x40d, 0));
                this.cameraController.actionPerformed("getproperty", new EOSUtility.PropertyChangedEventArgs(0x1000211, 0));
            }
            if (e.PropertyID == 0x500)
            {
                if (base.InvokeRequired)
                {
                    base.BeginInvoke(new EOSUtility.PropertyChangedEventHandler(this.updateValue), new object[] { sender, e });
                }
                else if (((uint) e.Data) != 0)
                {
                    base.Close();
                }
            }
        }

In this class, we find some propertyID, 0x40d,0x1000211 and 0x100041d.these propertyID we can find in EDSDK.cs

public const uint PropID_LensAdjustParams = 0x100041d;
public const uint PropID_LensID = 0x1000211;
public const uint PropID_LensName = 0x40d;

so, i guess we can program some function, change PropID 100041d,and get this work.

In EDSDK 2.6,we also can find 0X40D,and can't find LensID and LensAdjustParams.

Maybe we can archieve AFmicroadjust in 40D,450D.

*

Offline PhyrePhoX

  • *****
  • 2254
  • make RAW not WAR
    • PhyreWorX
Re: Lens adjust setting in Eosutility
« Reply #1 on: 08 / May / 2010, 19:01:36 »
that indeed, would be great!

 

Related Topics