@Pigmon
2021-08-09T08:37:46.000000Z
字数 4819
阅读 1362
NOX
| 版本 | 日期 | 修改人 | 修改内容 |
|---|---|---|---|
| V 0.8 | 2020年2月17日 | 袁胜 | 全部命令内容,待重新定义帮助格式,部分命令待详细验证参数用法 |
| V 0.81 | 2020年2月24日 | 袁胜 | 增加 noxrun 遗漏的 -list 和 -root 说明 |
将整个NOX工作空间打包,方便异地部署工程。
| 参数 | 描述 | 用法 | 执行目录 |
|---|---|---|---|
| create | 为NOX工作空间创建APK包 | ||
| -output | 指定apk的存放目录 | create -output [output directory] | [workspace_root] |
| -min | 打包最小集,只包括启动工作空间的必要文件 | create -output [output directory] -min | [workspace_root] |
| -all | 打包最大集,包括所有文件 | create -output [output directory] -all | [workspace_root] |
| -full | 开发中的选项,包括必要文件和源文件 | create -output [output directory] -full | [workspace_root] |
| -f | 即使Make出错也强制打包 | create -output [output directory] -[min/all/full] -f | [workspace_root] |
| install | 将APK安装到NOX工作空间 | ||
| -none | 保留旧文件且不更新 | noxapk install [apk_name] [installed directory] -none | [workspace_root] |
| -soft | 只更新重叠文件 | noxapk install [apk_name] [installed directory] -soft | [workspace_root] |
| -cover | 用新文件覆盖旧文件 | noxapk install [apk_name] [installed directory] -cover | [workspace_root] |
| -keep | 保留被覆盖的旧文件 | noxapk install [apk_name] [installed directory] -keep | [workspace_root] |
| -hard | 删除旧文件并更新 | noxapk install [apk_name] [installed directory] -hard | [workspace_root] |
| -exclude | 只保留重叠文件 | noxapk install [apk_name] [installed directory] -exclude | [workspace_root] |
| -not-make | 安装完成后不设置工作空间 | noxapk install [apk_name] [installed directory] -[none/soft/cover/keep/hard/exclude] -not-make | [workspace_root] |
TODO
用于 NOX 工程的创建,NOX 工程的创建、更新和删除等操作。
| 参数 | 描述 | 用法 | 执行目录 |
|---|---|---|---|
| setup | 在一个空目录创建NOX工作区 | noxcreate setup | 空目录[workspace_root] |
| project | 创建一个NOX项目 | noxcreate project [project_name] | [workspace_root] |
| project -delete | 删除一个NOX项目 | noxcreate project [project_name] -delete | [workspace_root] |
| refresh | 在更新了.pos文件后刷新项目 | noxcreate refresh | [workspace_root] |
| param | 创建参数文件 | noxcreate param [yaml_file] | [workspace_root] |
TODO
编译NOX工作区,作用相当于catkin_make。
| 命令 | 描述 | 用法 | 执行目录 |
|---|---|---|---|
| nox_make | 编译NOX工作区 | noxmake | [workspace_root] |
| 命令 | 描述 | 用法 | 执行目录 |
|---|---|---|---|
| noxmonitor | 用于查看当前运行的NOX工程的状态 | noxmonitor | 任意目录 |
详细信息在其他文档中给出。
NOX工程中参数模块的操作接口。
| 参数 | 描述 | 用法 | 执行目录 |
|---|---|---|---|
| add | 创建一个由[id_name]管理的参数配置文件的副本 | noxparam add [id_name] [new_value] | |
| delete | 删除[id_name]的值为[id_value]的参数配置文件副本 | noxparam delete [id_name] [new_value] | |
| edit | 编辑值为[id_value]的[id_name]参数配置文件副本,可以用-use指定编辑工具 | noxparam edit [id_name] [id_value] -use [editor_name] | |
| list | 列出所有参数配置文件,可选用-id-only来只列出名字 | list (-id_only) | |
| list [id_name] | 列出所有[id_name]的参数配置文件 | list [id_name] (-id_only) | |
| set | 设置[workspace_root]/.nox/enviroment/目录下的配置文件,给[id_name]的值写入为[new_value] | noxparam set [id_name] [new_value] | |
| get | 扫描[workspace_root]/.nox/enviroment/目录下的参数文件,得到[id_name]对应的所有的值 | noxparam get [id_name] | |
| root | 额外参数,设置参数文件根目录。如不使用本参数,则将当前目录作为参数文件根目录 |
TODO
运行nox项目。
| 参数 | 描述 | 用法 | 执行目录 |
|---|---|---|---|
| noxrun | 运行工作区内所有项目 | noxrun | [workspace_root] |
| noxrun [project_name] | 运行单个项目 | noxrun [project_name] | [workspace_root] |
| -root | 指定运行node的工作区根目录 | noxrun [project_name] -root [workspace_root] | 任意目录 |
| -list | 列出当前工作区的可执行文件 | noxrun -list | [workspace_root] |
TODO
根据xml配置文件生成批量启动可执行程序的bash脚本。
| 参数 | 描述 | 用法 | 执行目录 |
|---|---|---|---|
| nox-sh-gen | 根据[xml_file]生成脚本[out_bash] | nox-sh-gen [xml_file] ([out_bash]) | 任意目录 |
第二个参数[out_bash]可选,缺省为[xml_file].bash
xml配置文件说明:
<!-- [meta] allows you to set a super user password andwill sudo the script if <sudo> set. --><meta sudo="you su pwd">your first commands</meta><!-- Every group will open a terminal.There are two option:1. geometry: specify size and position of the terminal.(COLSxROWS+X+Y, or COLSxROWS);2. hide-menu: turn off the terminal's menubar. --><group geometry="80x24+0+0" hide-menu><!-- Every executable will open a tab --><!-- [program] requires to set <exe>, which is a executable.[program] allows you to set <name>, which is the name of the tab. --><program name="xxx" exe="yyy" /><!-- [rosprogram] is very like [program], but it will append a'source devel/setup.sh' before your <exe> commands. --><rosprogram name="xxx" exe="yyy" /><!-- [path] will append a 'cd' command before your commands.<dir> is needed. --><path dir="directory to cd at this stage"><program name="xxx" exe="rosrun xxx yyy" /></path></group>
根据yaml格式的配置文件,生成CAN分析程序。
| 参数 | 描述 | 用法 | 执行目录 |
|---|---|---|---|
| [yaml_file] | yaml配置文件名 | nox-can-driver-gen [yaml_file] (output [out_path]) | 任意目录 |
output [out_path] 为可选输入,缺省在当前目录。
yaml文件格式说明:
devices:- name: device_nameinterface: can_name | [can0, can1, ...] # nullable, will not filter interfaceframes:- name: frame_name# id to receive or send, could be a number or a number array.# expression is not supported, please use [id-recv] and [id-send] instead.id: 123 | [123, 124, ...]# id to receive, could be a number or a boolean expression.# array is also supported.id-recv: 123 | [123, 124, 'id > 0', ...] | '(id - 738) % 3 == 0'# id to send, could be a number or a computational expression.# nullable, default is same as <id>'s first number(or zero).id-send: 123 | 123 + id# nullable, default is standardtype: standard | extended | remote | errorfields:- name: field_nametype: float | double | int | unsigned | ...start: 12 # data segment's start bitlength: 5 # number of data segment's bitsformat: intel | motorolaresolution: 1.0 # nullable, default is 1.0offset: 13.0 # data offset(unit: same as data's), nullable, default is 0min: -5.0 # data minimal value, nullable, default is 0max: 10.0 # data maximal value, nullable, default is the maximal hexsigned: true # signed or unsigned, nullable, default is false
启动CAN接口node。
| 命令 | 描述 | 用法 | 执行目录 |
|---|---|---|---|
| noxdriver | 启动CAN接口node | noxdriver [project] [node] --socketcan [can_port] | [workspace_root] |
TODO