Navigation

    VEYE IMAGING Forum

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Recent
    • Popular
    • Users
    • WIKI
    • veye.cc

    SOLVED MV-MIPI-IMX296M 修改参数,保存重启后参数未改变

    General Discussion
    2
    23
    2596
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • veye_xumm
      veye_xumm @WackyRabbits last edited by

      @wackyrabbits
      你好,请提供一下你使用的模组的版本号——通过脚本读取——我们这边复现,然后修改。

      W 1 Reply Last reply Reply Quote 0
      • W
        WackyRabbits @veye_xumm last edited by

        @veye_xumm
        您好,参数版本如下:
        微信图片_20230321094014(1).jpg

        veye_xumm 1 Reply Last reply Reply Quote 0
        • veye_xumm
          veye_xumm @WackyRabbits last edited by

          @wackyrabbits 好的,大约需要一两天时间。

          veye_xumm 1 Reply Last reply Reply Quote 0
          • veye_xumm
            veye_xumm @veye_xumm last edited by

            @veye_xumm 问题已修正。
            https://github.com/veyeimaging/mvcam_raspberrypi
            请更新工具代码并测试。
            比如:

            ./mv_mipi_i2c.sh -w -f lutenable -p1 1
            ./mv_mipi_i2c.sh -w -f lut -p1 ./lut_samples/lut_gamma0.8_10bitdepth.txt
            
            W 1 Reply Last reply Reply Quote 0
            • W
              WackyRabbits @veye_xumm last edited by WackyRabbits

              @veye_xumm
              【步骤】

              • 将原文件中sources文件及lut_rw文件替换

              • 执行上述命令

              【现象】

              画面显示如下,设置lutenable为1,预览画面仍黑色显示
              使用测试lut文件设置不成功

              微信图片_20230322103052(1).jpg

              veye_xumm 1 Reply Last reply Reply Quote 0
              • veye_xumm
                veye_xumm @WackyRabbits last edited by

                @wackyrabbits 命令搞错了,区分一下lut和lutenable。

                W 1 Reply Last reply Reply Quote 0
                • W
                  WackyRabbits @veye_xumm last edited by WackyRabbits

                  @veye_xumm
                  十分抱歉,犯了一个低级的错误,修改后仍存在以下问题

                  1. 更改参数后,画面显示仍为黑色,修改lut的参数后,预览画面无法显示修改后的效果

                  2.参数设置成功,重启后,lutenable参数设置成功,读取lut的参数并保存在[lutfilename]中,查找文件,未找到保存的[lutfilename]文件,且预览画面仍显示为黑色

                  微信图片_20230322123756(1).jpg 微信图片_20230322123750(1).jpg

                  veye_xumm 1 Reply Last reply Reply Quote 0
                  • veye_xumm
                    veye_xumm @WackyRabbits last edited by

                    @wackyrabbits
                    你用的是jetson平台,但是刚才工具目录我给你的是树莓派的链接。搞错了。
                    到sources目录,执行一下
                    ./make.sh
                    然后再执行。
                    BTW:
                    [lutfilename] 的意思是一个变量,你可以替换成你想要的文件名。

                    W 1 Reply Last reply Reply Quote 0
                    • W
                      WackyRabbits @veye_xumm last edited by WackyRabbits

                      @veye_xumm
                      【操作步骤】

                      • 在sources执行chmod 777 make.sh 命令后返回到i2c_tools目录

                      • 修改lutenable及lut的参数,设置成功

                      • 重启后,查看画面预览模式,图像显示黑色,参数及lut与修改后的参数保持一致

                      【问题】

                      • 修改参数成功,画面并未看出有明显的变化,设备重启后,查看预览画面显示黑色该如何解决?

                      • 修改lutenable及lut的参数前,都要执行一下chmod 777 make.sh 的命令吗?

                      • lut文件的参数是如何修改的呢,可否给出几组8bitdepth(Mono8)的文件或您这边告知一下如何修改?

                      veye_xumm 1 Reply Last reply Reply Quote 0
                      • veye_xumm
                        veye_xumm @WackyRabbits last edited by veye_xumm

                        @wackyrabbits

                        你有没有执行./make.sh脚本?这个就是从源码编译得到可执行文件的文件。用文本文档打开看一眼就知道了。
                        黑屏是因为你的lut写操作一直没有成功过。

                        296的AD是10bit的,用我们现在提供的10bit的几种sample即可。

                        W 1 Reply Last reply Reply Quote 0
                        • W
                          WackyRabbits @veye_xumm last edited by WackyRabbits

                          @veye_xumm
                          执行了./make.sh脚本,未生成可执行文件
                          按照您的说法,再次进行了操作。重启后,查看参数设置成功,预览画面仍是黑屏
                          操作如下:
                          【操作】

                          1. 将目录./mv_tools_jetson/i2c_tools下的sources及lut_rw文件替换为github路径中的文件
                          2. 在路径./mv_tools_jetson/i2c_tools/sources下执行./make.sh
                          3. 在路径./mv_tools_jetson/i2c_tools下执行
                            ./mv_mipi_i2c.sh -w -f lutenable -p1 1
                            ./mv_mipi_i2c.sh -w -f lut -p1 ./lut_samples/lut_gamma1.2_10bitdepth.txt
                            画面显示变化,并保存参数
                          4. 重启机器,查看lutenable及lut文件,修改成功
                          5. 打开预览窗口,画面黑色显示
                            微信图片_20230322154632(1)(1).jpg
                          veye_xumm 1 Reply Last reply Reply Quote 0
                          • veye_xumm
                            veye_xumm @WackyRabbits last edited by

                            @wackyrabbits

                            1. 执行了就生成了,在i2c_tools目录。你认真看看。
                            2. 上午给你的github目录是树莓派平台的,不要用那个目录中的lut_rw文件,两个平台的可执行文件不兼容的。 明白不?

                            建议你的步骤

                            1. 删掉你现在的lut_rw
                            2. 执行./make.sh,会生成一个lut_rw的。

                            然后再执行测试。

                            W 1 Reply Last reply Reply Quote 0
                            • W
                              WackyRabbits @veye_xumm last edited by WackyRabbits

                              @veye_xumm
                              预览画面确实是黑色的。按照您的建议操作,删除lut_rw
                              写入lutenable及lut的数据,重启后,读取的数据也是修改后的,但是预览画面确实是黑色的。
                              难道树莓派平台github目录的sources无法直接与jetson平台中的sources直接替换?
                              1)黑屏若是因为lut写操作一直没有成功过,那为何重启后我读取的lut文件中的数值与我写入的数值是一样的呢?

                              另外我发现存在以下问题

                              • 在没有开启预览画面的情况下,去修改lut文件,在打开预览模式,虽然显示是更新成功的,但是画面显示是黑色的,再次执行修改lut的命令,画面显示才不是黑色的
                              veye_xumm 1 Reply Last reply Reply Quote 0
                              • veye_xumm
                                veye_xumm @WackyRabbits last edited by

                                @wackyrabbits
                                忘掉以前的种种吧。
                                请按照如下步骤,在jetson xavier nx上,一步一步操作:
                                一、视频预览

                                export WIDTH=1440
                                
                                export HEIGHT=1088
                                
                                export FPS=60
                                
                                v4l2-ctl -d /dev/video0 --set-fmt-video=width=$WIDTH,height=$HEIGHT,pixelformat=UYVY
                                
                                v4l2-ctl -d /dev/video0 --set-ctrl frame_rate=$FPS
                                
                                gst-launch-1.0 v4l2src device=/dev/video0 ! "video/x-raw,format=(string)UYVY, width=(int)$WIDTH, height=(int)$HEIGHT, framerate=(fraction)$FPS/1" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420" ! nv3dsink sync=false
                                

                                二、调试lut

                                1. 从这个github上下载最新的mv_tools_jetson
                                 git clone https://github.com/veyeimaging/nvidia_jetson_veye_bsp.git 
                                

                                如果由于某种原因下载不了,换个下载方式。
                                2. 修改lut。

                                cd mv_tools_jetson/i2c_tools/
                                
                                $ ./mv_mipi_i2c.sh -w -f lut -p1 ./lut_samples/lut_gamma1.2_10bitdepth.txt -b 9
                                w lut from file : ./lut_samples/lut_gamma1.2_10bitdepth.txt successs
                                
                                1. 在lut使能和不使能状态切换。
                                 ./mv_mipi_i2c.sh -w -f lutenable -p1 1 -b 9 
                                
                                 ./mv_mipi_i2c.sh -w -f lutenable -p1 0 -b 9 
                                

                                此时可以看到图像明显的变化。
                                4. lut使能时,更换lut

                                 ./mv_mipi_i2c.sh -w -f lutenable -p1 1 -b 9 
                                
                                $ ./mv_mipi_i2c.sh -w -f lut -p1 ./lut_samples/lut_gamma1.2_10bitdepth.txt -b 9
                                w lut from file : ./lut_samples/lut_gamma1.2_10bitdepth.txt successs
                                
                                $ ./mv_mipi_i2c.sh -w -f lut -p1 ./lut_samples/lut_gamma0.8_10bitdepth.txt -b 9
                                w lut from file : ./lut_samples/lut_gamma0.8_10bitdepth.txt successs
                                
                                1. 读出lut曲线
                                ./mv_mipi_i2c.sh -r -f lut -p1 ./readout_lut.txt -b 9 
                                

                                可以对比读出的./readout_lut.txt和上次写入的lut_gamma0.8_10bitdepth.txt文件一致。
                                6. 参数保存功能

                                ./mv_mipi_i2c.sh -w -f paramsave -b 9
                                

                                然后拔下电源重新上电。
                                上电后读取lutenable和lut曲线:

                                $ ./mv_mipi_i2c.sh -r -f lut -p1 new_lut.txt -b 9
                                r lut and save to file : new_lut.txt 
                                xumm@ubuntu:/dbg/mv_tools_jetson/i2c_tools$ ./mv_mipi_i2c.sh -r -f lutenable -b 9                
                                r lut enable is 1 
                                

                                可以看到enable参数保存了,而且对比new_lut.txt 和./readout_lut.txt 完全一致。

                                W 1 Reply Last reply Reply Quote 0
                                • W
                                  WackyRabbits @veye_xumm last edited by

                                  @veye_xumm
                                  现在仍有问题
                                  下载最新的mv_tools_jetson,并执行上述指令,关机重启后,数据虽然保存,但是预览模式画面仍是黑色的,需要再次执行 ./mv_mipi_i2c.sh -w -f lut -p1 ./lut_samples/lut_gamma0.8_10bitdepth.txt -b 9 命令,画面才会显示出来。麻烦您这边复现一下问题,不知道您这边是否查看了预览画面的效果显示,可否给出一个最优的解决方案。十分感谢。

                                  veye_xumm 1 Reply Last reply Reply Quote 0
                                  • veye_xumm
                                    veye_xumm @WackyRabbits last edited by

                                    @wackyrabbits
                                    断电不能生效是个bug,我们已经做了升级包来解决此问题,MV-MIPI-IMX296M_C1.28_L1.33_upgrade_20230328.bin。
                                    请参考这个文章下载升级包,升级。
                                    http://wiki.veye.cc/index.php/Mvcam_firmware_update_manual

                                    W 1 Reply Last reply Reply Quote 0
                                    • W
                                      WackyRabbits @veye_xumm last edited by

                                      @veye_xumm
                                      请问jeston平台的升级工具是不是mv_tools_jeston中的veye_upgrade?

                                      veye_xumm 1 Reply Last reply Reply Quote 0
                                      • veye_xumm
                                        veye_xumm @WackyRabbits last edited by

                                        @wackyrabbits 是的

                                        1 Reply Last reply Reply Quote 0
                                        • W
                                          WackyRabbits last edited by WackyRabbits

                                          @veye_xumm
                                          Step 2
                                          Using v4l2 driver mode, the power up and probe process will be performed during the linux boot process.

                                          请问针对上述语句,我需要在jeston平台如何操作?

                                          veye_xumm 1 Reply Last reply Reply Quote 0
                                          • veye_xumm
                                            veye_xumm @WackyRabbits last edited by

                                            @wackyrabbits said in MV-MIPI-IMX296M 修改参数,保存重启后参数未改变:

                                            Using v4l2 driver mode, the power up and probe process will be performed during the linux boot process.

                                            板子上电即可。

                                            W 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post