背景

pqtools调试生成的参数太多,如果直接写到代码里,一来参数需要一个个的修改,非常麻烦,二来容易出现超大函数,魔鬼数字等cleancode报错,三是代码逻辑混乱,条理不清晰。这个pqtools转代码的工具就应运而生了,可以直接将pqtools保存的xml文件生成头文件,只需要在c文件中把参数包含进行即可。

使用方法

安装包:https://github.com/xiaoqinxing/ImageTools/releases/download/V1.3.1/PQtools2Code.exe

设置完毕后,点击生成,当进度条到了100%的时候,就生成完毕。在输出文件的路径下会自动生成头文件,也可以直接复制左侧预览窗口生成的文本。

基础设置

  1. 输入设置:将pqtools调试的参数另存为xml文件。点击打开xml文件按钮,设置成需要转换的pqtools参数文件。
  2. 输出设置:点击输出文件路径,设置转换后的头文件路径

自定义设置(可以用默认的,或者自定义)

  1. 缩进的空格数:可以控制代码的缩进,默认为4个空格
  2. 设置一行最大字符数:到了一定的字数会自动换行,默认是一行120个字符
  3. 产品ID:可以自定义产品名称,该名称会自动加在结构体参数名字中
  4. 需要去除的元素:默认是rb,pqtools生成的文件中有部分元素和代码中的结构体定义对不上,需要去除这部分元素
  5. 需要输出的结构体:pqtools生成的xml文件里包含了所有的参数,参数太多了,其中有很多用不到的,这就需要进行一个删减和过滤,把需要输出的结构体列举出来,一行一个。例如hiISP_SHARPEN_ATTR_S
  6. 需要包含的头文件:自定义该头文件需要包含哪些头文件,一般用默认就好
  7. 自定义结构体:可以用来解决结构体里面含有指针的问题,含有指针的结构体不好直接通过赋值初始化,需要先转换成数组,然后把数组转换成指针。默认提供了3DNR的自定义结构体customNRX_PARAM_AUTO_V1_S
  8. 需要替换的结构体:可以把原生的结构体替换成自定义的结构体,一般与上面联用。由于3DNR的参数带有指针,不能通过赋值直接初始化,默认会把3DNR的参数先替换成自定义的结构体,然后对自定义结构体进行赋值初始化,最后c文件就使用自定义结构体,来代替原来的3DNR结构体。默认:hiNRX_PARAM_AUTO_V1_S:customNRX_PARAM_AUTO_V1_S
  9. 版权声明:定义头文件起始的版权说明,宏定义%AUTHOR%会自动转换成作者名,%NOW_TINE%会自动转换成当前时间
  10. 是否需要加const:可以选择生成的结构体变量前面是否const,如果加了const就是常量了,不能修改其中的值了。