外贸网站 设计,wordpress下载后放哪,小说搜索风云榜,成都定制公交apprk_param_init函数
这个函数是用来读取配置文件进行参数配置 这个函数在 luckfox-pico/project/app/rk_smart_door/smart_door/common/uvc/param/param.c 中
这个函数在main函数中被调用
//通过-c 配置文件路径 把配置文件传进来
case c:rkipc_ini_path_ optarg;//调用c:rkipc_ini_path_ optarg;//调用根据文件中的配置项配置参数
rk_param_init(rkipc_ini_path_);### 函数分析c
int rk_param_init(char *ini_path) {LOG_INFO(%s\n, __func__);//加锁pthread_mutex_lock(g_param_mutex);g_ini_d_ NULL;//存在配置文件读路径进g_ini_path_if (ini_path)memcpy(g_ini_path_, ini_path, strlen(ini_path));//不存在则读缺省的elsememcpy(g_ini_path_, /usr/share/rkuvc.ini, strlen(/usr/share/rkuvc.ini));LOG_INFO(g_ini_path_ is %s\n, g_ini_path_);//解析出所有的参数放在g_ini_d_ 中g_ini_d_ iniparser_load(g_ini_path_);if (g_ini_d_ NULL) {LOG_ERROR(iniparser_load error!\n);return -1;}//打印参数名称和值rk_param_dump();//开锁pthread_mutex_unlock(g_param_mutex);return 0;
}调用
g_ini_d_ 保存了所有的参数要查看某一项的值可以根据param.h里面的函数调用
extern dictionary *g_ini_d_;//获取名为entry整型参数
int rk_param_get_int(const char *entry, int default_val);
//设置名为entry整型参数
int rk_param_set_int(const char *entry, int val);//获取名为entry双精型参数
int rk_param_get_double(const char *entry, double default_val);//获取名为entry字符型参数
const char *rk_param_get_string(const char *entry, const char *default_val);//设置名为entry字符型参数
int rk_param_set_string(const char *entry, const char *val);//将当前参数保存为文件
int rk_param_save();//从指定ini文件初始化
int rk_param_init(char *ini_path);//反初始化
int rk_param_deinit();//rk_param_reload
int rk_param_reload();例如 ini文件中
[video.source]
enable_aiq 1
enable_vo 0
vo_dev_id 3 ; 0 is hdmi, 3 is mipi
enable_ivs 1
enable_jpeg 1
enable_venc_0 1
enable_venc_1 1
enable_venc_2 0
enable_npu 0
npu_fps 10
enable_rtsp 1
enable_rtmp 0
rotation 0 ; available value:0 90 180 270可以通过
rk_param_get_int(video.source:enable_npu, 0)获得 enable_npu 的值得用来控制npu开关。
关于iniparser_load函数
这个函数位于 luckfox-pico/project/app/component/rkadk/rkadk/src/third-party/iniparser/iniparser.c 中用来分析ini文件
/*-------------------------------------------------------------------------*/
/**brief Parse an ini file and return an allocated dictionary objectparam ininame Name of the ini file to read.return Pointer to newly allocated dictionaryThis is the parser for ini files. This function is called, providingthe name of the file to be read. It returns a dictionary object thatshould not be accessed directly, but through accessor functionsinstead.The returned dictionary must be freed using iniparser_freedict().*/
/*--------------------------------------------------------------------------*/deepseek翻译为
/--------------------------------------------------------------------------/
/**
brief 解析一个ini文件并返回一个已分配的字典对象
param ininame 要读取的ini文件的名称。
return 指向新分配的字典的指针这是ini文件的解析器。调用此函数时需提供要读取的文件名。它会返回一个字典对象
该对象不应直接访问而应通过访问器函数进行操作。必须使用iniparser_freedict()来释放返回的字典。
/
/--------------------------------------------------------------------------*/