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.
    • W
      WackyRabbits last edited by WackyRabbits

      【现象】
      MV-MIPI-IMX296M 修改lutenable及修改lut文件参数,保存重启后参数未改变
      【操作】
      1.使用命令./mv_mipi_i2c.sh -r -f lutenable 读取当前lutenable 的值,当前值为0
      2.使用命令./mv_mipi_i2c.sh -w -f lutenable -p1 1 ,开启lut功能
      3. 将修改后的lutfile文件使用./mv_mipi_i2c.sh -w -f lut -p1 lutfile,写入数据
      4. 此时画面显示全黑色,提示写入lutfile文件成功
      5. 使用命令./mv_mipi_i2c.sh -w -f paramsave,将数据保存
      6. 重启设备,并查看当前lutenable的值,lutenable显示参数为0,并读取修改后的lutfile文件,显示修改前的数据信息
      【问题】

      1. 修改lutenable的值为1,为何预览画面显示为黑色?
      2. 修改lutfile文件的内容,为何预览画面显示无变化?
      3. 重启设备后,执行了保存命令,设备重启后,为何参数却没有保存下来?
      veye_xumm 1 Reply Last reply Reply Quote 0
      • 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
                                            • First post
                                              Last post