合宙Air724UG LuatOS-Air script lib API--nvm

nvm
Table of Contents
nvm
nvm.init(defaultCfgFile, burnSave)
nvm.set(k, v, r, s)
nvm.sett(k, kk, v, r, s)
nvm.flush()
nvm.get(k)
nvm.gett(k, kk)
nvm.restore()
nvm.remove()
nvm
模块功能:参数管理

nvm.init(defaultCfgFile, burnSave)
初始化参数存储管理模块

参数
名称 传入值类型 释义
defaultCfgFile string 默认参数文件名
burnSave bool 本地烧录时是否保留已有参数,true为保留,false或者nil为清除
注意:在同一个项目,不同版本中,此参数必须保持前后版本一致
返回值
nil

例子
– 初始化参数存储管理模块,默认参数文件名为config.lua,本地烧录时清除已有的参数:
nvm.init(“config.lua”)
– 初始化参数存储管理模块,默认参数文件名为config.lua,本地烧录时保留已有的参数:
nvm.init(“config.lua”,true)
详细指南和示例参考:指南 示例

nvm.set(k, v, r, s)
设置某个参数的值

参数
名称 传入值类型 释义
k string 参数名
v param 参数的新值,仅支持number、string、boolean、table类型
r param 设置原因,如果传入了非nil的有效参数,并且v值和旧值相比发生了改变,
会产生一个PARA_CHANGED_IND内部消息,携带 k,v,r 3个参数
s param 是否立即写入到文件系统中,false不写入,其余的都写入
返回值
bool或者nil,成功返回true,失败返回nil

例子
– 参数name赋值为Luat,立即写入文件系统:
nvm.set(“name”,“Luat”)
– 参数age赋值为12,立即写入文件系统:
– 如果旧值不是12,会产生一个PARA_CHANGED_IND消息,携带 “age”,12,“SVR” 3个参数:
nvm.set(“age”,12,“SVR”)
– 参数class赋值为Class2,不写入文件系统:
nvm.set(“class”,“Class2”,nil,false)
– 参数score赋值为{chinese=100,math=99,english=98},立即写入文件系统:
nvm.set(“score”,{chinese=100,math=99,english=98})
– 连续写入4个参数,前3个不保存到文件系统中,写第4个时,一次性全部保存到文件系统中:
nvm.set(“para1”,1,nil,false)
nvm.set(“para2”,2,nil,false)
nvm.set(“para3”,3,nil,false)
nvm.set(“para4”,4)
详细指南和示例参考:指南 示例

nvm.sett(k, kk, v, r, s)
设置某个table类型参数的某一个索引的值

参数
名称 传入值类型 释义
k string table类型的参数名
kk param table类型参数的某一个索引名
v param table类型参数的某一个索引的新值
r param 设置原因,如果传入了非nil的有效参数,并且v值和旧值相比发生了改变,会产生一个TPARA_CHANGED_IND消息,携带k,kk,v,r4个参数
s param 是否立即写入到文件系统中,false不写入,其余的都写入
返回值
bool或者nil,成功返回true,失败返回nil

例子
nvm.sett(“score”,“chinese”,100),参数score[“chinese”]赋值为100,立即写入文件系统
nvm.sett(“score”,“chinese”,100,“SVR”),参数score[“chinese”]赋值为100,立即写入文件系统,
– 如果旧值不是100,会产生一个TPARA_CHANGED_IND消息,携带 “score”,“chinese”,100,“SVR” 4个参数
nvm.sett(“score”,“chinese”,100,nil,false),参数class赋值为Class2,不写入文件系统
详细指南和示例参考:指南 示例

nvm.flush()
所有参数立即写入文件系统

参数

返回值
nil

例子
nvm.flush()
nvm.get(k)
读取某个参数的值

参数
名称 传入值类型 释义
k string 参数名
返回值
参数值

例子
– 读取参数名为name的参数值:
nameValue = nvm.get(“name”)
详细指南和示例参考:指南 示例

nvm.gett(k, kk)
读取某个table类型参数的键名对应的值

参数
名称 传入值类型 释义
k string table类型的参数名
kk param table类型参数的键名
返回值

例子
– 有一个table参数为score,数据如下:
score = {chinese=100, math=100, english=95}
– 读取score中chinese对应的值:
nvm.gett(“score”,“chinese”)
详细指南和示例参考:指南 示例

nvm.restore()
参数恢复出厂设置

参数

返回值
nil

例子
nvm.restore()
详细指南和示例参考:指南 示例

nvm.remove()
请求删除参数文件.

此接口一般用在远程升级时,需要用新的config.lua覆盖原来的参数文件的场景,在此场景下,远程升级包下载成功后,在确定要重启前调用此接口
下次开机执行nvm.init(“config.lua”)时,会用新的config.lua文件自动覆盖参数文件;以后再开机就不会自动覆盖了
也就是说"nvm.remove()->重启->nvm.init(“config.lua”)"是一个仅执行一次的完整操作

参数

返回值
nil

例子
nvm.remove()
详细指南和示例参考:指南 示例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/27095.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IAR开发环境的安装、配置和新建STM32工程模板

IAR到环境配置到新建工程模板-以STM32为例 一、 简单介绍一下IAR软件1. IAR的安装(1) 下载IAR集成开发环境安装文件(2) 安装 2. 软件注册授权 二、IAR上手使用(基于STM32标准库新建工程)1、下载标准库文件2、在IAR新建工程&#x…

ImageNet Classification with Deep Convolutional Neural Networks

(一)Some Words: 这里主要是通过记录一些笔记来阅读这篇 Paper,它的产生跟 ImageNet LSVRC-2010 竞赛有关,通过训练一个大的、深的卷积网络来将 1.2 million 的 HR 图像分成 1000 类 ,这个网络实现了 top-1 37.5% 和 …

GPU显存泄露/显存溢出/显存爆炸 解决方案

问题描述 最近在跑一个基于pytorch的强化学习代码,在训练过程中显存增大非常明显,迭代不到200个iteration就可以占据70G的显存。由于博主是第一次在pytorch实现的强化学习算法上加入自己的实现,很没有应对经验,现将调试过程记录下…

计算机网络(5) --- http协议

计算机网络(4) --- 协议定制_哈里沃克的博客-CSDN博客协议定制https://blog.csdn.net/m0_63488627/article/details/132070683?spm1001.2014.3001.5501 目录 1.http协议介绍 1.协议的延申 2.http协议介绍 3.URL 4.urlencode和urldecode 2.HTTP协…

使用 RKE 方式搭建 K8s 集群并部署 NebulaGraph

本文由社区用户 Albert 贡献,首发于 NebulaGraph 论坛,旨在提供多一种的部署方式使用 NebulaGraph。 在本文,我将会详细地记录下我用 K8s 部署分布式图数据库 NebulaGraph 的过程。下面是本次实践的内容规划: 一到十章节为 K8s 集…

用html+javascript打造公文一键排版系统16:更新单个附件说明排版,实现多个附件说明排版

利用公休的时间继续完善。 一、更新单个附件说明排版 之前实现单个附件说明排版时,我们只考虑了“附件:”中冒号为半角的情况,而没有考虑存在多任余空格的情况,我们今天先针对存在多任余空格的情况进行完善,增加了温…

APP外包开发的开发语言对比

在开发iOS APP时有两种语言可以选择,Swift(Swift Programming Language)和 Objective-C(Objective-C Programming Language),它们是两种不同的编程语言,都被用于iOS和macOS等苹果平台的软件开发…

[国产MCU]-BL602开发实例-定时器

定时器 文章目录 定时器1、BL602定时器介绍2、定时器驱动API介绍3、定时器使用实例3.1 单次计时3.2 持续计时通用定时器,用于定时,当时间到达我们所设置的定时时间会产生定时中断,可以用来完成定时任务。本文将详细介绍如何使用BL602的定时器功能。 1、BL602定时器介绍 BL6…

如何搭建自动化测试框架?资深测试整理的PO模式,一套打通自动化...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 Po模型介绍 1、简…

Redis 报错 RedisConnectionException: Unable to connect to x.x.x.x:6379

文章目录 Redis报错类型可能解决方案 Redis报错类型 org.springframework.data.redis.connection. spingboot调用redis出错 PoolException: Could not get a resource from the pool; 连接池异常:无法从池中获取资源; nested exception is io.lettuce.core. 嵌套异常 RedisConn…

ansible-playbook使用limit限制执行范围

使用ansible-playbook时要限制只在某些主机上执行 常用的方式是增加-l 参数,但这样一个个写ip非常费劲,如下 ansible-playbook -i iplist a.yml -l 192.168.164.20,192.168.164.30,192.168.164.40, 如果我们要限制的ip范围有几十个,那写着…

聊聊JDK动态代理原理

1. 示例 首先,定义一个接口: public interface Staff {void work(); }然后,新增一个类并实现上面的接口: public class Coder implements Staff {Overridepublic void work() {System.out.println("认真写bug……");…

一起学数据结构(3)——万字解析:链表的概念及单链表的实现

上篇文章介绍了数据结构的一些基本概念,以及顺序表的概念和实现,本文来介绍链表的概念和单链表的实现,在此之前,首先来回顾以下顺序表的特点: 1.顺序表特点回顾: 1. 顺序表是一组地址连续的存储单元依次存…

图像提示词攻略--基于 stable diffusion v2

Stable Diffusion 是一种潜在的文本到图像扩散模型,能够在给定任何文本输入(称为提示)的情况下生成逼真的图像。 在本文中,我将讨论和探索一些提高提示有效性的方法。从在提示中添加某些关键字和组合词、从更改单词顺序及其标点符…

24v转3.3v输出3A用什么芯片

问:客户需要一个能够将24V输入电压转换为3.3V输出电压,并且能够提供1-3A的电流输出的芯片。还希望它能够内置MOS管。有什么推荐的型号吗?(vin24v、5v,vout3.3v,Io1-3A) 答:推荐使用…

HCIA---TCP/UDP协议

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 文章目录 一.UDP协议简介 UDP协议的特点: 二.TCP协议简介 TCP协议特点 三.TCP和UDP的区别 思维导图 一.UDP协议简介 UDP(User …

【福建事业单位-推理判断】08逻辑论证-加强-原因解释-日常总结

福建事业单位-推理判断】08逻辑论证-加强 一、加强题1.1 建立联系——搭桥1.2 补充论据必要条件(没它不行)补充论据(解释原因和举例论证) 总结 二、原因解释题三、日常结论复习建议 一、加强题 加强的题型,一般只加强…

替换开源LDAP,某科技企业用宁盾目录统一身份,为业务敏捷提供支撑

客户介绍 某高科技企业成立于2015年,是一家深耕于大物流领域的人工智能公司,迄今为止已为全球16个国家和地区,120余家客户打造智能化升级体验,场景覆盖海陆空铁、工厂等货运物流领域。 该公司使用开源LDAP面临的挑战 挑战1 开源…

详解Kafka分区机制原理|Kafka 系列 二

Kafka 系列第二篇,详解分区机制原理。为了不错过更新,请大家将本号“设为星标”。 点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达 上一篇文章介绍了 Kafka 的基本概念和术语,里面有个概念是 分区(Part…

高翔《自动驾驶中的SLAM技术》代码详解 — 第6章 2D SLAM

目录 6.2 扫描匹配算法 6.2.1 点到点的扫描匹配 6.2 扫描匹配算法 6.2.1 点到点的扫描匹配 // src/ch6/test_2dlidar_io.cc // Created by xiang on 2022/3/15. // #include <gflags/gflags.h> #include <glog/logging.h> #include <opencv2/highgui.hpp>…