Nikita

Nikita

1个粉丝

35

问答

0

专栏

1

资料

Nikita  发布于  2016-09-29 20:25:44
采纳率 0%
35个问答
12112

hi3516d + ar0237

 
Hi!
I have such camera
[img=600,600]https://gd3.alicdn.com/bao/uploaded/i3/23791004/TB2BSFruXXXXXc1XXXXXXXXXXXX_!!23791004.jpg_600x600.jpg[/img]
It is hi3516d + ar0237, seems it is XM company production.

I try to deploy my software, but I can`t get CMOS works, it doesn`t send any frames :(

I use following parameters for init, also I am linking my code with -lsns_ar0237
and it reports me that ar0237 inited ok

[code]combo_dev_attr_t HISPI_4lane_SENSOR_AR0237_12BIT_1080p_NOWDR_ATTR =
{
    /* input mode */
    .input_mode = INPUT_MODE_HISPI,
        
    {
        .lvds_attr = {
            .img_size = {1920, 1080},
            HI_WDR_MODE_NONE,            
            LVDS_SYNC_MODE_SOL,
            RAW_DATA_12BIT,                     
            LVDS_ENDIAN_LITTLE,
            LVDS_ENDIAN_LITTLE,
            .lane_id = {0, 1, 2, 3, -1, -1, -1, -1},
            .sync_code = {                              
                   {{ 0x3, 0x7,   0x1,   0x5  }, //PHY0_lane0
                   {0x043, 0x047, 0x041, 0x045},
                   {0x023, 0x027, 0x021, 0x025},
                   {0x083, 0x087, 0x081, 0x085}},

                   {{ 0x3, 0x7,   0x1,   0x5  }, //PHY0_lane1
                   {0x043, 0x047, 0x041, 0x045},
                   {0x023, 0x027, 0x021, 0x025},
                   {0x083, 0x087, 0x081, 0x085}},

                   {{ 0x3, 0x7,   0x1,   0x5  }, //PHY0_lane2
                   {0x043, 0x047, 0x041, 0x045},
                   {0x023, 0x027, 0x021, 0x025},
                   {0x083, 0x087, 0x081, 0x085}},

                   {{ 0x3, 0x7,   0x1,   0x5  }, //PHY0_lane3
                   {0x043, 0x047, 0x041, 0x045},
                   {0x023, 0x027, 0x021, 0x025},
                   {0x083, 0x087, 0x081, 0x085}},

                   {{ 0x3, 0x7,   0x1,   0x5  }, //PHY0_lane0
                   {0x043, 0x047, 0x041, 0x045},
                   {0x023, 0x027, 0x021, 0x025},
                   {0x083, 0x087, 0x081, 0x085}},

                   {{ 0x3, 0x7,   0x1,   0x5  }, //PHY0_lane1
                   {0x043, 0x047, 0x041, 0x045},
                   {0x023, 0x027, 0x021, 0x025},
                   {0x083, 0x087, 0x081, 0x085}},

                   {{ 0x3, 0x7,   0x1,   0x5  }, //PHY0_lane2
                   {0x043, 0x047, 0x041, 0x045},
                   {0x023, 0x027, 0x021, 0x025},
                   {0x083, 0x087, 0x081, 0x085}},

                   {{ 0x3, 0x7,   0x1,   0x5  }, //PHY0_lane3
                   {0x043, 0x047, 0x041, 0x045},
                   {0x023, 0x027, 0x021, 0x025},
                   {0x083, 0x087, 0x081, 0x085}},

            }        

        }
    }
};



VI_DEV_ATTR_S DEV_ATTR_LVDS_BASE =
{
    /* interface mode */
    VI_MODE_LVDS,
    /* multiplex mode */
    VI_WORK_MODE_1Multiplex,
    /* r_mask    g_mask    b_mask*/
    {0xFFF00000,    0x0},
    /* progessive or interleaving */
    VI_SCAN_PROGRESSIVE,
    /*AdChnId*/
    {-1, -1, -1, -1},
    /*enDataSeq, only support yuv*/
    VI_INPUT_DATA_YUYV,

    /* synchronization information */
    {
    /*port_vsync   port_vsync_neg     port_hsync        port_hsync_neg        */
    VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL,VI_HSYNC_NEG_HIGH,VI_VSYNC_VALID_SINGAL,VI_VSYNC_VALID_NEG_HIGH,
   
    /*hsync_hfb    hsync_act    hsync_hhb*/
    {0,            1280,        0,
    /*vsync0_vhb vsync0_act vsync0_hhb*/
     0,            720,        0,
    /*vsync1_vhb vsync1_act vsync1_hhb*/
     0,            0,            0}
    },
    /* use interior ISP */
    VI_PATH_ISP, //VI_PATH_BYPASS, //VI_PATH_ISP,
    /* input data type */
    VI_DATA_TYPE_RGB,   
    /* bRever */
    HI_FALSE,   
    /* DEV CROP */
    {0, 0, 1920, 1080}
};
[/code]

My rootfs is based on last buildroot and last hi3516a/d SDK (V100R001C01SPC050).
I have downloaded original camera module firmware/software, there is strange init:
loadmod:
[code]cd /usr/lib/modules/
./load3516a -i -sensor ov4689 -osmem 50
. /usr/etc/loadpublic
cd /
[/code]

So, they init modules with sensor ov4689, but camera has ar0237.

Anyway my question is how to get this sensor to send me frames. For example with hi3516a+imx178 everything works ok.
易百纳技术社区文件: rootfs.tar
下载
我来回答
回答23个
时间排序
认可量排序

Nikita

1个粉丝

35

问答

0

专栏

1

资料

Nikita 2016-09-29 20:32:47
认可0
Sorry, wrong picture of camera
Correct is this
[img=800,800]https://img.alicdn.com/imgextra/i4/392470355/TB2a7pHXu2yQeBjSszhXXcgeVXa_!!392470355.jpg[/img]
[img=600,442]https://img.alicdn.com/imgextra/i1/392470355/TB2N40GXBTxQeBjSspkXXXtMpXa_!!392470355.png[/img]
[url]https://world.taobao.com/item/536993031652.htm?spm=a312a.7700714.2014080708.6.XdHWd3[/url]

Nikita

1个粉丝

35

问答

0

专栏

1

资料

Nikita 2016-09-29 22:50:12
认可0
Possibly same question [url]http://ebaina.com/bbs/forum.php?mod=viewthread&tid=12802&highlight=ar0237[/url]

超速蜗牛

0个粉丝

2

问答

0

专栏

0

资料

超速蜗牛 2016-09-30 08:37:15
认可0
hello!I think the interface of the production that is not HISPI。This Possibly is DVP。

llsh

0个粉丝

20

问答

0

专栏

3

资料

llsh 2016-09-30 10:05:07
认可0
Hello!I'm doing Hi3516C+AR0237,the interface of the production that is DVP,not the same as Hi3516D.
So,I  recommend you to check the I2C communication,see if I2c work well.Then check the VI_DEV_ATTR_S struct  and then check the combo_dev_attr_t struct.
You can find the config on "Hi3516A V100R001C01SPC050\02.Only for Reference\04.other\configs_of_Hi3516A_Stream_V1.0.5.0\ar0237_1080p_line.ini".

llsh

0个粉丝

20

问答

0

专栏

3

资料

llsh 2016-09-30 11:26:28
认可0
By the way,AR0237 can use DVP and HiSpi.The Hi3516C can only use DVP , Hi3516A/D can use HiSpi. So the interface is OK,you should find the problem that I say on 5#. Good luck!

Nikita

1个粉丝

35

问答

0

专栏

1

资料

Nikita 2016-09-30 13:21:38
认可0
Thank you for your answers!
What is DVP? Is it BT1120?

What is the best way to check i2c communications? Can I check it by software? Or do I need to connect some external i2c device to the bus pins and listen data?

llsh

0个粉丝

20

问答

0

专栏

3

资料

llsh 2016-09-30 13:54:57
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=38761&ptid=12816]Nikita 发表于 2016-9-30 13:21[/url]
Thank you for your answers!
What is DVP? Is it BT1120?

[/quote]

In Hi3516C is VI_MODE_DIGITAL_CAMERA.
Yes,by the software.You can write a function to write the ar0237 register via I2c,then read the register,see if you write the register sucessfully.
for example,you write register 0x3012 with the value 0x03,then you read the 0x3012 register,see the value is 0x03 or not.

Nikita

1个粉丝

35

问答

0

专栏

1

资料

Nikita 2016-10-01 04:03:30
认可0
By the way, do you have datasheet for ar0237 with information about i2c registers and do you have sources for ar0237 init?
I am using libsns_ar0237 from SDK, but there is only 30fps init, not 60fps and there is no DVP mode, only LVDS.

csuzhsh

1个粉丝

14

问答

0

专栏

0

资料

csuzhsh 2016-10-01 07:50:30
认可0
I have 3516D+AR0237 DVP interface, i think i can try it

csuzhsh

1个粉丝

14

问答

0

专栏

0

资料

csuzhsh 2016-10-01 08:03:29
认可0
You can contact me, QQ is 1315540389

Nikita

1个粉丝

35

问答

0

专栏

1

资料

Nikita 2016-10-01 18:09:52
认可0
csuzhsh, Do you have wechat or email?

Nikita

1个粉丝

35

问答

0

专栏

1

资料

Nikita 2016-10-04 17:45:13
认可0
Now, I have i2c init for  ar0237 in parallel mode (thanks to csuzhsh), but I still have troubles to init VI.

Here is part of my code, that inits VI, but I think there is error in VI_DEV_ATTR_S

Could somebody experienced check it.

[code]VI_DEV_ATTR_S DEV_ATTR_BT1120_1080P_BASE =
{
    /* interface mode */
    VI_MODE_DIGITAL_CAMERA, //VI_MODE_BT1120_STANDARD,
    /* multiplex mode */
    VI_WORK_MODE_1Multiplex,
    /* r_mask    g_mask    b_mask*/
    {0xFFF00000,    0}, //0xFF0000},
    /* progessive or interleaving */
    VI_SCAN_PROGRESSIVE,
    /*AdChnId*/
    { -1, -1, -1, -1},
    /*enDataSeq, only support yuv*/
    VI_INPUT_DATA_YUYV, //VI_INPUT_DATA_UVUV,

    /* synchronization information */
    {
        /*port_vsync   port_vsync_neg     port_hsync        port_hsync_neg        */
        VI_VSYNC_PULSE,
        VI_VSYNC_NEG_HIGH,
        VI_HSYNC_VALID_SINGNAL,
        VI_HSYNC_NEG_HIGH,
        VI_VSYNC_NORM_PULSE, //VI_VSYNC_VALID_SINGAL,
        VI_VSYNC_VALID_NEG_HIGH,

        /*hsync_hfb    hsync_act    hsync_hhb*/
        {
            0,            1920,        0,
            /*vsync0_vhb vsync0_act vsync0_hhb*/
            0,            1080,        0,
            /*vsync1_vhb vsync1_act vsync1_hhb*/
            0,            0,            0
        }
    },
    /* ISP bypass */
    VI_PATH_ISP,//VI_PATH_BYPASS, //VI_PATH_RAW, //VI_PATH_ISP,//VI_PATH_BYPASS,
    /* input data type */
    VI_DATA_TYPE_RGB,//VI_DATA_TYPE_YUV,
    /* bReverse */
    HI_FALSE,
    /* DEV CROP */
    {0, 0, 1920, 1080}
};

  memset(&stViDevAttr,0,sizeof(stViDevAttr));

        printf("Sar0237 2\n");
        memcpy(&stViDevAttr,&DEV_ATTR_BT1120_1080P_BASE,sizeof(stViDevAttr));

            stViDevAttr.stDevRect.s32X = 0;
            stViDevAttr.stDevRect.s32Y = 0;//20;
            stViDevAttr.stDevRect.u32Width  = 1920;
            stViDevAttr.stDevRect.u32Height = 1080;//1944;
      

    s32Ret = HI_MPI_VI_SetDevAttr(0, &stViDevAttr);
    if (s32Ret != HI_SUCCESS)
    {
        printf("HI_MPI_VI_SetDevAttr failed with %#x!\n", s32Ret);
        return HI_FAILURE;
    }

  s32Ret = HI_MPI_VI_EnableDev(0);
    if (s32Ret != HI_SUCCESS)
    {
        printf("HI_MPI_VI_EnableDev failed with %#x!\n", s32Ret);
        return HI_FAILURE;
    }

    RECT_S stCapRect;
    SIZE_S stTargetSize;

     stCapRect.s32X = 0;
     stCapRect.s32Y = 0;
     stCapRect.u32Width  = 1920;
     stCapRect.u32Height = 1080;
     stTargetSize.u32Width = stCapRect.u32Width;
     stTargetSize.u32Height = stCapRect.u32Height;


    VI_CHN_ATTR_S stChnAttr;

        memcpy(&stChnAttr.stCapRect, &stCapRect, sizeof(RECT_S));
    stChnAttr.enCapSel = VI_CAPSEL_BOTH;
    stChnAttr.stDestSize.u32Width = stTargetSize.u32Width ;
    stChnAttr.stDestSize.u32Height =  stTargetSize.u32Height ;
    stChnAttr.enPixFormat = PIXEL_FORMAT_YUV_SEMIPLANAR_420;   /* sp420 or sp422 */

    stChnAttr.bMirror = HI_FALSE;
    stChnAttr.bFlip = HI_FALSE;

    stChnAttr.s32SrcFrameRate = 30;
    stChnAttr.s32DstFrameRate = 30;
    stChnAttr.enCompressMode = COMPRESS_MODE_NONE;//COMPRESS_MODE_SEG;//COMPRESS_MODE_NONE;

    s32Ret = HI_MPI_VI_SetChnAttr(0, &stChnAttr);
    if (s32Ret != HI_SUCCESS)
    {
        printf("HI_MPI_VI_SetChnAttr failed with %#x!\n", s32Ret);
        return HI_FAILURE;
    }

    s32Ret = HI_MPI_VI_EnableChn(0);
    if (s32Ret != HI_SUCCESS)
    {
        printf(" HI_MPI_VI_EnableChn failed with %#x!\n", s32Ret);
        return HI_FAILURE;
    }
[/code]

Nikita

1个粉丝

35

问答

0

专栏

1

资料

Nikita 2016-10-07 05:14:01
认可0
Problem is solved.

daygang

1个粉丝

12

问答

0

专栏

0

资料

daygang 2016-10-10 09:38:03
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=38870&ptid=12816]Nikita 发表于 2016-10-7 05:14[/url]
Problem is solved.[/quote]

what‘s the problem?

wayen_yan

0个粉丝

1

问答

0

专栏

0

资料

wayen_yan 2016-10-12 11:03:03
认可0
hello Nikita,I have the same problem with you, hi3516d+ar0237, Vi has no interrupt , Do you have wechat or email?

Nikita

1个粉丝

35

问答

0

专栏

1

资料

Nikita 2016-10-14 13:30:35
认可0
Hi wayen_yan! Pls check private message.

Nikita

1个粉丝

35

问答

0

专栏

1

资料

Nikita 2016-10-14 17:58:13
认可0
I have attached logic analyzer for i2c bus, record original negotiation and write my own func for libsns_ar0237

[code]void sensor_linear_1080p30_init()
{
sensor_write_register(0x301A, 0x0001);
delay_ms(200);
sensor_write_register(0x301A, 0x10D8);

sensor_write_register(0x3088, 0x8000);
sensor_write_register(0x3086, 0x4558);
sensor_write_register(0x3086, 0x72A6);
sensor_write_register(0x3086, 0x4A31);
sensor_write_register(0x3086, 0x4342);
sensor_write_register(0x3086, 0x8E03);
sensor_write_register(0x3086, 0x2A14);
sensor_write_register(0x3086, 0x4578);
sensor_write_register(0x3086, 0x7B3D);
sensor_write_register(0x3086, 0xFF3D);
sensor_write_register(0x3086, 0xFF3D);
sensor_write_register(0x3086, 0xEA2A);
sensor_write_register(0x3086, 0x043D);
sensor_write_register(0x3086, 0x102A);
sensor_write_register(0x3086, 0x052A);
sensor_write_register(0x3086, 0x1535);
sensor_write_register(0x3086, 0x2A05);
sensor_write_register(0x3086, 0x3D10);
sensor_write_register(0x3086, 0x4558);
sensor_write_register(0x3086, 0x2A04);
sensor_write_register(0x3086, 0x2A14);
sensor_write_register(0x3086, 0x3DFF);
sensor_write_register(0x3086, 0x3DFF);
sensor_write_register(0x3086, 0x3DEA);
sensor_write_register(0x3086, 0x2A04);
sensor_write_register(0x3086, 0x622A);
sensor_write_register(0x3086, 0x288E);
sensor_write_register(0x3086, 0x0036);
sensor_write_register(0x3086, 0x2A08);
sensor_write_register(0x3086, 0x3D64);
sensor_write_register(0x3086, 0x7A3D);
sensor_write_register(0x3086, 0x0444);
sensor_write_register(0x3086, 0x2C4B);
sensor_write_register(0x3086, 0xA403);
sensor_write_register(0x3086, 0x430D);
sensor_write_register(0x3086, 0x2D46);
sensor_write_register(0x3086, 0x4316);
sensor_write_register(0x3086, 0x2A90);
sensor_write_register(0x3086, 0x3E06);
sensor_write_register(0x3086, 0x2A98);
sensor_write_register(0x3086, 0x5F16);
sensor_write_register(0x3086, 0x530D);
sensor_write_register(0x3086, 0x1660);
sensor_write_register(0x3086, 0x3E4C);
sensor_write_register(0x3086, 0x2904);
sensor_write_register(0x3086, 0x2984);
sensor_write_register(0x3086, 0x8E03);
sensor_write_register(0x3086, 0x2AFC);
sensor_write_register(0x3086, 0x5C1D);
sensor_write_register(0x3086, 0x5754);
sensor_write_register(0x3086, 0x495F);
sensor_write_register(0x3086, 0x5305);
sensor_write_register(0x3086, 0x5307);
sensor_write_register(0x3086, 0x4D2B);
sensor_write_register(0x3086, 0xF810);
sensor_write_register(0x3086, 0x164C);
sensor_write_register(0x3086, 0x0955);
sensor_write_register(0x3086, 0x562B);
sensor_write_register(0x3086, 0xB82B);
sensor_write_register(0x3086, 0x984E);
sensor_write_register(0x3086, 0x1129);
sensor_write_register(0x3086, 0x9460);
sensor_write_register(0x3086, 0x5C19);
sensor_write_register(0x3086, 0x5C1B);
sensor_write_register(0x3086, 0x4548);
sensor_write_register(0x3086, 0x4508);
sensor_write_register(0x3086, 0x4588);
sensor_write_register(0x3086, 0x29B6);
sensor_write_register(0x3086, 0x8E01);
sensor_write_register(0x3086, 0x2AF8);
sensor_write_register(0x3086, 0x3E02);
sensor_write_register(0x3086, 0x2AFA);
sensor_write_register(0x3086, 0x3F09);
sensor_write_register(0x3086, 0x5C1B);
sensor_write_register(0x3086, 0x29B2);
sensor_write_register(0x3086, 0x3F0C);
sensor_write_register(0x3086, 0x3E03);
sensor_write_register(0x3086, 0x3E15);
sensor_write_register(0x3086, 0x5C13);
sensor_write_register(0x3086, 0x3F11);
sensor_write_register(0x3086, 0x3E0F);
sensor_write_register(0x3086, 0x5F2B);
sensor_write_register(0x3086, 0x902B);
sensor_write_register(0x3086, 0x803E);
sensor_write_register(0x3086, 0x062A);
sensor_write_register(0x3086, 0xF23F);
sensor_write_register(0x3086, 0x103E);
sensor_write_register(0x3086, 0x0160);
sensor_write_register(0x3086, 0x29A2);
sensor_write_register(0x3086, 0x29A3);
sensor_write_register(0x3086, 0x5F4D);
sensor_write_register(0x3086, 0x1C2A);
sensor_write_register(0x3086, 0xFA29);
sensor_write_register(0x3086, 0x8345);
sensor_write_register(0x3086, 0xA83E);
sensor_write_register(0x3086, 0x072A);
sensor_write_register(0x3086, 0xFB3E);
sensor_write_register(0x3086, 0x6745);
sensor_write_register(0x3086, 0x8824);
sensor_write_register(0x3086, 0x3E08);
sensor_write_register(0x3086, 0x2AFA);
sensor_write_register(0x3086, 0x5D29);
sensor_write_register(0x3086, 0x9288);
sensor_write_register(0x3086, 0x102B);
sensor_write_register(0x3086, 0x048B);
sensor_write_register(0x3086, 0x1686);
sensor_write_register(0x3086, 0x8D48);
sensor_write_register(0x3086, 0x4D4E);
sensor_write_register(0x3086, 0x2B80);
sensor_write_register(0x3086, 0x4C0B);
sensor_write_register(0x3086, 0x3F36);
sensor_write_register(0x3086, 0x2AF2);
sensor_write_register(0x3086, 0x3F10);
sensor_write_register(0x3086, 0x3E01);
sensor_write_register(0x3086, 0x6029);
sensor_write_register(0x3086, 0x8229);
sensor_write_register(0x3086, 0x8329);
sensor_write_register(0x3086, 0x435C);
sensor_write_register(0x3086, 0x155F);
sensor_write_register(0x3086, 0x4D1C);
sensor_write_register(0x3086, 0x2AFA);
sensor_write_register(0x3086, 0x4558);
sensor_write_register(0x3086, 0x8E00);
sensor_write_register(0x3086, 0x2A98);
sensor_write_register(0x3086, 0x3F0A);
sensor_write_register(0x3086, 0x4A0A);
sensor_write_register(0x3086, 0x4316);
sensor_write_register(0x3086, 0x0B43);
sensor_write_register(0x3086, 0x168E);
sensor_write_register(0x3086, 0x032A);
sensor_write_register(0x3086, 0x9C45);
sensor_write_register(0x3086, 0x783F);
sensor_write_register(0x3086, 0x072A);
sensor_write_register(0x3086, 0x9D3E);
sensor_write_register(0x3086, 0x305D);
sensor_write_register(0x3086, 0x2944);
sensor_write_register(0x3086, 0x8810);
sensor_write_register(0x3086, 0x2B04);
sensor_write_register(0x3086, 0x530D);
sensor_write_register(0x3086, 0x4558);
sensor_write_register(0x3086, 0x3E08);
sensor_write_register(0x3086, 0x8E01);
sensor_write_register(0x3086, 0x2A98);
sensor_write_register(0x3086, 0x8E00);
sensor_write_register(0x3086, 0x76A7);
sensor_write_register(0x3086, 0x77A7);
sensor_write_register(0x3086, 0x4644);
sensor_write_register(0x3086, 0x1616);
sensor_write_register(0x3086, 0xA57A);
sensor_write_register(0x3086, 0x1244);
sensor_write_register(0x3086, 0x4B18);
sensor_write_register(0x3086, 0x4A04);
sensor_write_register(0x3086, 0x4316);
sensor_write_register(0x3086, 0x0643);
sensor_write_register(0x3086, 0x1605);
sensor_write_register(0x3086, 0x4316);
sensor_write_register(0x3086, 0x0743);
sensor_write_register(0x3086, 0x1658);
sensor_write_register(0x3086, 0x4316);
sensor_write_register(0x3086, 0x5A43);
sensor_write_register(0x3086, 0x1645);
sensor_write_register(0x3086, 0x588E);
sensor_write_register(0x3086, 0x032A);
sensor_write_register(0x3086, 0x9C45);
sensor_write_register(0x3086, 0x787B);
sensor_write_register(0x3086, 0x3F07);
sensor_write_register(0x3086, 0x2A9D);
sensor_write_register(0x3086, 0x530D);
sensor_write_register(0x3086, 0x8B16);
sensor_write_register(0x3086, 0x863E);
sensor_write_register(0x3086, 0x2345);
sensor_write_register(0x3086, 0x5825);
sensor_write_register(0x3086, 0x3E10);
sensor_write_register(0x3086, 0x8E01);
sensor_write_register(0x3086, 0x2A98);
sensor_write_register(0x3086, 0x8E00);
sensor_write_register(0x3086, 0x3E10);
sensor_write_register(0x3086, 0x8D60);
sensor_write_register(0x3086, 0x1244);
sensor_write_register(0x3086, 0x4BB9);
sensor_write_register(0x3086, 0x2C2C);
sensor_write_register(0x3086, 0x2C2C);

sensor_write_register(0x3064, 0x1802);
sensor_write_register(0x3EEE, 0xA0AA);
sensor_write_register(0x30BA, 0x762C);
sensor_write_register(0x3F4A, 0x0F70);
sensor_write_register(0x309E, 0x016C);
sensor_write_register(0x3092, 0x006F);
sensor_write_register(0x3EE4, 0x9937);
sensor_write_register(0x3EE6, 0x3863);
sensor_write_register(0x3EEC, 0x3B0C);
sensor_write_register(0x3EEA, 0x2838);
sensor_write_register(0x3ECC, 0x4E2D);
sensor_write_register(0x3ED2, 0xFEA6);
sensor_write_register(0x3ED6, 0x2CB3);
sensor_write_register(0x3EEA, 0x2819);

sensor_write_register(0x301A, 0x10D8);
sensor_write_register(0x30B0, 0x1A38);
sensor_write_register(0x31AC, 0x0C0C);
sensor_write_register(0x302A, 0x0008);
sensor_write_register(0x302C, 0x0001);
sensor_write_register(0x302E, 0x0002);
sensor_write_register(0x3030, 0x002C);
sensor_write_register(0x3036, 0x000C);
sensor_write_register(0x3038, 0x0001);
sensor_write_register(0x3002, 0x0000);
sensor_write_register(0x3004, 0x0000);
sensor_write_register(0x3006, 0x0437);
sensor_write_register(0x3008, 0x077F);
sensor_write_register(0x300A, 0x0465);
sensor_write_register(0x300C, 0x044C);
sensor_write_register(0x3012, 0x0416);
sensor_write_register(0x30A2, 0x0001);
sensor_write_register(0x30A6, 0x0001);
sensor_write_register(0x30AE, 0x0001);
sensor_write_register(0x30A8, 0x0001);
sensor_write_register(0x3040, 0x0000);
sensor_write_register(0x31AE, 0x0301);
sensor_write_register(0x3082, 0x0009);
sensor_write_register(0x30BA, 0x762C);
sensor_write_register(0x3060, 0x000B);
sensor_write_register(0x3100, 0x0000);
sensor_write_register(0x31D0, 0x0000);
sensor_write_register(0x3064, 0x1802);
sensor_write_register(0x301A, 0x10DC);

sensor_write_register(0x3028, 0x0020);
sensor_write_register(0x3100, 0x0004);
sensor_write_register(0x30B4, 0x0091);

    delay_ms(33);

sensor_write_register(0x300A, 0x0546);
sensor_write_register(0x3212, 0x0000);
sensor_write_register(0x3012, 0x0002);
sensor_write_register(0x3060, 0x000B);
sensor_write_register(0x305E, 0x0080);
sensor_write_register(0x3100, 0x0000);


    printf("Aptina AR0237 sensor linear PARALLEL 2M-1080p 30fps init success!\n");
   
    return ;
}[/code]

Nikita

1个粉丝

35

问答

0

专栏

1

资料

Nikita 2016-10-14 20:01:49
认可0
But with this code fps is a bit unstable, for example for 30fps, I have sometimes 32ms between frames.
For IMX178 and hi3516a I have stable time between frames.

cathy82008

0个粉丝

5

问答

0

专栏

0

资料

cathy82008 2017-09-19 19:40:12
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=38870&ptid=12816]Nikita 发表于 2016-10-7 05:14[/url]
Problem is solved.[/quote]

Hi,Nikita
        Now im facing the same probmle,no vi data,could u pls tell how did u fix the problem?Thx

Nikita

1个粉丝

35

问答

0

专栏

1

资料

Nikita 2017-09-20 18:34:01
认可0
Hi cathy82008!
Pls check my message from 2016-10-14 17:58:13 in this thread.
You have to change source of  libsns_ar0237, replace sensor_linear_1080p30_init() function code.
I have used XM camera module, that I have bought on HuaQiangBei security market.
加载中···
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区