I join the init_webcam_magic struct :
static const unsigned char init_webcam_magic[][4] =
{
    /* [INITCAM] */
/*    {BRIDGE, M5602_XB_MCU_CLK_DIV, 0x02, 0x00},
    {BRIDGE, M5602_XB_MCU_CLK_CTRL, 0xb0, 0x00},
    {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
    {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
    {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00},
    {BRIDGE, M5602_XB_SENSOR_TYPE, 0x0d, 0x00},
    {BRIDGE, M5602_XB_SENSOR_CTRL, 0x00, 0x00}, */

/*    {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00},
    {BRIDGE, M5602_XB_SENSOR_TYPE, 0x09, 0x00},
    {BRIDGE, M5602_XB_GPIO_DIR, 0x1d, 0x00},
    {BRIDGE, M5602_XB_GPIO_DAT, 0x08, 0x00},
    {BRIDGE, M5602_XB_GPIO_EN_H, 0x3f, 0x00},
    {BRIDGE, M5602_XB_GPIO_DIR_H, 0x3f, 0x00},
    {BRIDGE, M5602_XB_GPIO_DAT_H, 0x00, 0x00},
    {BRIDGE, M5602_XB_GPIO_EN_L, 0xff, 0x00},
    {BRIDGE, M5602_XB_GPIO_DIR_L, 0xff, 0x00},
    {BRIDGE, M5602_XB_GPIO_DAT_L, 0x00, 0x00},
    {BRIDGE, M5602_XB_SEN_CLK_DIV, 0xb0, 0x00},
    {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0x80, 0x00},
    {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
    {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
    {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00},
    {BRIDGE, M5602_XB_SENSOR_TYPE, 0x09, 0x00},
    {BRIDGE, M5602_XB_MCU_CLK_DIV, 0x02, 0x00},
    {BRIDGE, M5602_XB_MCU_CLK_CTRL, 0xb0, 0x00},
    {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
    {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xf0, 0x00},
    {BRIDGE, M5602_XB_GPIO_DIR, 0x1d, 0x00},
    {BRIDGE, M5602_XB_GPIO_DAT, 0x1c, 0x00},
    {BRIDGE, M5602_XB_GPIO_EN_H, 0x06, 0x00},
    {BRIDGE, M5602_XB_GPIO_DIR_H, 0x06, 0x00},
    {BRIDGE, M5602_XB_GPIO_DAT_H, 0x00, 0x00},
    {BRIDGE, M5602_XB_GPIO_EN_L, 0x00, 0x00},
    {BRIDGE, M5602_XB_I2C_CLK_DIV, 0x20, 0x00},*/

    {SENSOR, 0xec, 0x04, 0x00},
    {SENSOR, 0xaf, 0x01, 0x00},
    {SENSOR, 0xec, 0x00, 0x00},
    {SENSOR, 0x7b, 0xff, 0x00},
    {SENSOR, 0xec, 0x05, 0x00},
    {SENSOR, 0x01, 0x50, 0x00},
    {SENSOR, 0x12, 0x20, 0x00},
    {SENSOR, 0x17, 0x40, 0x00},
    {SENSOR, 0x1b, 0x0f, 0x00},
    {SENSOR, 0x1c, 0x00, 0x00},
    {SENSOR, 0x02, 0x70, 0x00},
    {SENSOR, 0x03, 0x0b, 0x00},
    {SENSOR, 0x04, 0xf0, 0x00},
    {SENSOR, 0x05, 0x0b, 0x00},
    {SENSOR, 0xec, 0x05, 0x00},

     {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x06, 0x00},
    {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
    {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00},
    {BRIDGE, M5602_XB_SENSOR_TYPE, 0x09, 0x00},
    {BRIDGE, M5602_XB_LINE_OF_FRAME_H, 0x81, 0x00},
    {BRIDGE, M5602_XB_PIX_OF_LINE_H, 0x82, 0x00},
        {BRIDGE, M5602_XB_SIG_INI, 0x01, 0x00},
     {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
     {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
     {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
     {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
     {BRIDGE, M5602_XB_VSYNC_PARA, 0x01, 0x00},
     {BRIDGE, M5602_XB_VSYNC_PARA, 0xe4, 0x00},
     {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
    {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
    {BRIDGE, M5602_XB_SIG_INI, 0x00, 0x00},
    {BRIDGE, M5602_XB_SIG_INI, 0x02, 0x00},
    {BRIDGE, M5602_XB_HSYNC_PARA, 0x00, 0x00},
    {BRIDGE, M5602_XB_HSYNC_PARA, 0x00, 0x00},
     {BRIDGE, M5602_XB_HSYNC_PARA, 0x02, 0x00},
     {BRIDGE, M5602_XB_HSYNC_PARA, 0x87, 0x00},
     {BRIDGE, M5602_XB_SIG_INI, 0x00, 0x00},
     {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
    {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},

    {SENSOR, 0xec, 0x05, 0x00},
    {SENSOR, 0x06, 0x71, 0x00},
    {SENSOR, 0x07, 0xe8, 0x00},
    {SENSOR, 0x08, 0x02, 0x00},
    {SENSOR, 0x09, 0x88, 0x00},
    {SENSOR, 0x14, 0x00, 0x00},
    {SENSOR, 0x15, 0x20, 0x00},
    {SENSOR, 0x19, 0x00, 0x00},
    {SENSOR, 0x1a, 0x98, 0x00},
    {SENSOR, 0x0f, 0x02, 0x00},
    {SENSOR, 0x10, 0xe5, 0x00},
    {SENSOR, 0xec, 0x05, 0x00},
    {SENSOR_ALT_I2C, 0x14, 0x00, 0x20},
    {SENSOR_ALT_I2C, 0x0d, 0x00, 0x7d},
    {SENSOR_ALT_I2C, 0x1b, 0x0d, 0x05},

    {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x06, 0x00},
    {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
    {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00},
    {BRIDGE, M5602_XB_SENSOR_TYPE, 0x09, 0x00},
    {BRIDGE, M5602_XB_LINE_OF_FRAME_H, 0x81, 0x00},
    {BRIDGE, M5602_XB_PIX_OF_LINE_H, 0x82, 0x00},
    {BRIDGE, M5602_XB_SIG_INI, 0x01, 0x00},
    {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
    {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
    {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
    {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
    {BRIDGE, M5602_XB_VSYNC_PARA, 0x01, 0x00},
    {BRIDGE, M5602_XB_VSYNC_PARA, 0xe4, 0x00},
    {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
    {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
    {BRIDGE, M5602_XB_SIG_INI, 0x00, 0x00},
    {BRIDGE, M5602_XB_SIG_INI, 0x02, 0x00},
    {BRIDGE, M5602_XB_HSYNC_PARA, 0x00, 0x00},
    {BRIDGE, M5602_XB_HSYNC_PARA, 0x00, 0x00},
    {BRIDGE, M5602_XB_HSYNC_PARA, 0x02, 0x00},
    {BRIDGE, M5602_XB_HSYNC_PARA, 0x87, 0x00},

    {BRIDGE, M5602_XB_SIG_INI, 0x00, 0x00},
    {BRIDGE, M5602_XB_GPIO_DIR, 0x1d, 0x00},
    {BRIDGE, M5602_XB_GPIO_DAT, 0x08, 0x00},
    {BRIDGE, M5602_XB_GPIO_EN_H, 0x3f, 0x00},
    {BRIDGE, M5602_XB_GPIO_DIR_H, 0x3f, 0x00},
    {BRIDGE, M5602_XB_GPIO_DAT_H, 0x00, 0x00},
    {BRIDGE, M5602_XB_GPIO_EN_L, 0xff, 0x00},
    {BRIDGE, M5602_XB_GPIO_DIR_L, 0xff, 0x00},
    {BRIDGE, M5602_XB_GPIO_DAT_L, 0x00, 0x00},
    {BRIDGE, M5602_XB_SEN_CLK_DIV, 0xb0, 0x00},
    {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0x80, 0x00},
    {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
    {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
    {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00},
    {BRIDGE, M5602_XB_SENSOR_TYPE, 0x09, 0x00},
    {BRIDGE, M5602_XB_MCU_CLK_DIV, 0x02, 0x00},
    {BRIDGE, M5602_XB_MCU_CLK_CTRL, 0xb0, 0x00},
    {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
    {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xf0, 0x00},
    {BRIDGE, M5602_XB_GPIO_DIR, 0x1d, 0x00},
    {BRIDGE, M5602_XB_GPIO_DAT, 0x1c, 0x00},
    {BRIDGE, M5602_XB_GPIO_EN_H, 0x06, 0x00},
    {BRIDGE, M5602_XB_GPIO_DIR_H, 0x06, 0x00},
    {BRIDGE, M5602_XB_GPIO_DAT_H, 0x00, 0x00},
    {BRIDGE, M5602_XB_GPIO_EN_L, 0x00, 0x00},
    {BRIDGE, M5602_XB_I2C_CLK_DIV, 0x20, 0x00},

 //    {SENSOR, 0xec, 0x04, 0x00},
 //    {SENSOR, 0xaf, 0x01, 0x00},
     {SENSOR, 0xec, 0x00, 0x00}, // no
     {SENSOR, 0x7b, 0xf0, 0x00}, // no ( ff ( init value )is very dark) ||
71 and f0 better
     {SENSOR, 0xec, 0x05, 0x00},
     {SENSOR, 0x01, 0x50, 0x00},
    {SENSOR, 0x12, 0x20, 0x00},
    {SENSOR, 0x17, 0x40, 0x00},
    {SENSOR, 0x1b, 0x0f, 0x00}, //(0x0f)
//    {SENSOR, 0x1c, 0x00, 0x00},
 //    {SENSOR, 0x02, 0x70, 0x00},
     {SENSOR, 0x03, 0x20, 0x00}, // 0b ( init value ) | 10-> red 15-> yellow
20 -> better
 //    {SENSOR, 0x04, 0xf0, 0x00},
 //    {SENSOR, 0x05, 0x0b, 0x00},
//     {SENSOR, 0xec, 0x05, 0x00},

/*    {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x06, 0x00},
    {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
    {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00},
    {BRIDGE, M5602_XB_SENSOR_TYPE, 0x09, 0x00},*/

/*    {BRIDGE, M5602_XB_LINE_OF_FRAME_H, 0x81, 0x00},
    {BRIDGE, M5602_XB_PIX_OF_LINE_H, 0x82, 0x00},
    {BRIDGE, M5602_XB_SIG_INI, 0x01, 0x00},
    {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},*/
    {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00}, // no
    {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00}, // no
    {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00}, // no
    {BRIDGE, M5602_XB_VSYNC_PARA, 0x01, 0x00}, // no
/*    {BRIDGE, M5602_XB_VSYNC_PARA, 0xe4, 0x00},
    {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
    {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
    {BRIDGE, M5602_XB_SIG_INI, 0x00, 0x00},
    {BRIDGE, M5602_XB_SIG_INI, 0x02, 0x00}, */
    {BRIDGE, M5602_XB_HSYNC_PARA, 0x00, 0x00}, // no
    {BRIDGE, M5602_XB_HSYNC_PARA, 0x00, 0x00}, // no
    {BRIDGE, M5602_XB_HSYNC_PARA, 0x02, 0x00}, // no
    {BRIDGE, M5602_XB_HSYNC_PARA, 0x7f, 0x00}, // no

/*    {BRIDGE, M5602_XB_SIG_INI, 0x00, 0x00},
    {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
    {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},*/

/*    {SENSOR, 0xec, 0x05, 0x00},
    {SENSOR, 0x06, 0x71, 0x00},
    {SENSOR, 0x07, 0xe8, 0x00},
    {SENSOR, 0x08, 0x02, 0x00},
    {SENSOR, 0x09, 0x88, 0x00},
    {SENSOR, 0x14, 0x00, 0x00},
    {SENSOR, 0x15, 0x20, 0x00},
    {SENSOR, 0x19, 0x00, 0x00},
    {SENSOR, 0x1a, 0x98, 0x00},
    {SENSOR, 0x0f, 0x02, 0x00},
    {SENSOR, 0x10, 0xe5, 0x00},
    {SENSOR, 0xec, 0x05, 0x00},
    {SENSOR_ALT_I2C, 0x14, 0x00, 0x20},
    {SENSOR_ALT_I2C, 0x0d, 0x00, 0x7d},
    {SENSOR_ALT_I2C, 0x1b, 0x0d, 0x05},*/
    {END, 0, 0, 0}
};

#endif /*M5602_H_*/

2008/6/1 Erik Andrén <[EMAIL PROTECTED]>:

> Hi,
>
> Great job in identifying different registers and cleaning up some
> unnecessary stuff, I was planning on doing it more by myself but naturally
> it's much easier when you have the hardware to directly test with.
>
> Could you please post the whole init_webcam_magic struct and I'll try to
> fix it up and commit it for further testing?
>
> Regards,
> Erik
>
> Ps. If you want please join #m560x on irc.freenode.net and we'll discuss
> this some more in real time. ds
>
>
> naudar wrote:
>
>> As I said in previous messages, the last svn is a regress for me, I undo
>> this changes and I try different things
>> I have with this change a better image I still have bad lines but I have
>> some colours now, please someone can try this ?
>>
>>
>> This is the end of my m5602.h file, I put "no" when I can't remove the
>> line.
>>
>>
>>   //    {SENSOR, 0xec, 0x04, 0x00},
>>>  //    {SENSOR, 0xaf, 0x01, 0x00},
>>>     {SENSOR, 0xec, 0x00, 0x00}, // no
>>>     {SENSOR, 0x7b, 0xf0, 0x00}, // no ( ff ( init value )is very dark) ||
>>> 71 and f0 better
>>>     {SENSOR, 0xec, 0x05, 0x00},
>>>     {SENSOR, 0x01, 0x50, 0x00},
>>>    {SENSOR, 0x12, 0x20, 0x00},
>>>    {SENSOR, 0x17, 0x40, 0x00},
>>>    {SENSOR, 0x1b, 0x0f, 0x00},
>>> //    {SENSOR, 0x1c, 0x00, 0x00},
>>>  //    {SENSOR, 0x02, 0x70, 0x00},
>>>     {SENSOR, 0x03, 0x20, 0x00}, // 0b ( init value ) | 10-> red | 15->
>>> yellow | 20 -> better
>>>  //    {SENSOR, 0x04, 0xf0, 0x00},
>>>  //    {SENSOR, 0x05, 0x0b, 0x00},
>>> //     {SENSOR, 0xec, 0x05, 0x00},
>>>
>>> /*    {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x06, 0x00},
>>>    {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
>>>    {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00},
>>>    {BRIDGE, M5602_XB_SENSOR_TYPE, 0x09, 0x00},*/
>>>
>>> /*    {BRIDGE, M5602_XB_LINE_OF_FRAME_H, 0x81, 0x00},
>>>    {BRIDGE, M5602_XB_PIX_OF_LINE_H, 0x82, 0x00},
>>>    {BRIDGE, M5602_XB_SIG_INI, 0x01, 0x00},
>>>    {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},*/
>>>    {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00}, // no
>>>    {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00}, // no
>>>    {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00}, // no
>>>    {BRIDGE, M5602_XB_VSYNC_PARA, 0x01, 0x00}, // no
>>> /*    {BRIDGE, M5602_XB_VSYNC_PARA, 0xe4, 0x00},
>>>    {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
>>>    {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
>>>    {BRIDGE, M5602_XB_SIG_INI, 0x00, 0x00},
>>>    {BRIDGE, M5602_XB_SIG_INI, 0x02, 0x00}, */
>>>    {BRIDGE, M5602_XB_HSYNC_PARA, 0x00, 0x00}, // no
>>>    {BRIDGE, M5602_XB_HSYNC_PARA, 0x00, 0x00}, // no
>>>    {BRIDGE, M5602_XB_HSYNC_PARA, 0x02, 0x00}, // no
>>>    {BRIDGE, M5602_XB_HSYNC_PARA, 0x7f, 0x00}, // no
>>>
>>> /*    {BRIDGE, M5602_XB_SIG_INI, 0x00, 0x00},
>>>    {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
>>>    {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},*/
>>>
>>> /*    {SENSOR, 0xec, 0x05, 0x00},
>>>    {SENSOR, 0x06, 0x71, 0x00},
>>>    {SENSOR, 0x07, 0xe8, 0x00},
>>>    {SENSOR, 0x08, 0x02, 0x00},
>>>    {SENSOR, 0x09, 0x88, 0x00},
>>>    {SENSOR, 0x14, 0x00, 0x00},
>>>    {SENSOR, 0x15, 0x20, 0x00},
>>>    {SENSOR, 0x19, 0x00, 0x00},
>>>    {SENSOR, 0x1a, 0x98, 0x00},
>>>    {SENSOR, 0x0f, 0x02, 0x00},
>>>    {SENSOR, 0x10, 0xe5, 0x00},
>>>    {SENSOR, 0xec, 0x05, 0x00},
>>>    {SENSOR_ALT_I2C, 0x14, 0x00, 0x20},
>>>    {SENSOR_ALT_I2C, 0x0d, 0x00, 0x7d},
>>>    {SENSOR_ALT_I2C, 0x1b, 0x0d, 0x05},*/
>>>    {END, 0, 0, 0}
>>> };
>>>
>>> #endif /*M5602_H_*/
>>>
>>>
>>>
>>
>> ------------------------------------------------------------------------
>>
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by: Microsoft
>> Defy all challenges. Microsoft(R) Visual Studio 2008.
>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> M560x-driver-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/m560x-driver-devel
>>
>
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
M560x-driver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/m560x-driver-devel

Reply via email to