@Pigmon
2021-08-09T16:37:46.000000Z
字数 4819
阅读 1014
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 and
will 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_name
interface: can_name | [can0, can1, ...] # nullable, will not filter interface
frames:
- 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 standard
type: standard | extended | remote | error
fields:
- name: field_name
type: float | double | int | unsigned | ...
start: 12 # data segment's start bit
length: 5 # number of data segment's bits
format: intel | motorola
resolution: 1.0 # nullable, default is 1.0
offset: 13.0 # data offset(unit: same as data's), nullable, default is 0
min: -5.0 # data minimal value, nullable, default is 0
max: 10.0 # data maximal value, nullable, default is the maximal hex
signed: true # signed or unsigned, nullable, default is false
启动CAN接口node。
命令 | 描述 | 用法 | 执行目录 |
---|---|---|---|
noxdriver | 启动CAN接口node | noxdriver [project] [node] --socketcan [can_port] | [workspace_root] |
TODO