节奏软件控制
|
要使用 AnyMath 中的KPM"RITM"的软件管理功能,请安装*AnyMath子系统。综合服务*:
|
本页包含 AnyMath 中KPM"RITM"的所有可用软件管理功能。
方法 里特姆
#
EngeeDeviceManager.Targets.RITM_API.buildModel — Function
buildModel(ritm, model, is_interactive_mode::Bool=false)::Nothing
构建并准备模型,以便在 RITM 上运行。
参数
-
ritm::Any:RITM 目标平台对象。 -
model::Any:模型结构。 -
is_interactive_mode::Bool:指示模型执行模式的标志:true— 模型以交互模式执行;false(默认)-- 模型以独立模式执行。
示例
# 在RITM上获取并在RITM上运行在画布上打开的standalone 模型:
model = engee.gcm()
RITM_API.buildModel(ritm, model, false)
RITM_API.runModel(ritm, model, false)
#
EngeeDeviceManager.Targets.RITM_API.disableAutostart — Method
RITM_API.disableAutostart(ritm)::Dict{String, Union{String, Int64, Bool, Nothing}}
从自动启动中删除模型。
参数
-
ritm::Any: 目标平台的 RITM 对象。
示例
RITM_API.disableAutostart(ritm)
#
EngeeDeviceManager.Targets.RITM_API.getAutostart — Method
RITM_API.getAutostart(ritm)::Union{Dict{String, Union{String, Int64, Bool, Nothing}}, Nothing}
获取位于自动启动列表中的模型。
参数
-
ritm::Any: 目标平台的 RITM 对象。
示例
RITM_API.getAutostart(ritm)
#
EngeeDeviceManager.Targets.RITM_API.getData — Method
RITM_API.getData(ritm::Any, model_name::String, file_path::String, in_file::Bool = false)
返回在RITM上对模型进行性能分析的结果。根据in_file 的值,结果可以以字符串形式返回,或保存到指定路径的文件中。
参数
-
ritm::Any:RITM目标平台对象。 -
model_name::String:需要获取性能分析数据的模型名称。 -
file_path::String:保存结果的路径(若in_file = true)。若in_file = false,则忽略该值。 -
in_file::Bool = false:指定结果的返回方式。 若true,数据将按file_path保存至文件。若false,则返回包含结果的字符串。
示例
# 将性能分析数据作为字符串获取
result = RITM_API.getData(ritm, "newmodel_1", "", false)
# 将数据保存到RITM上的文件中
RITM_API.getData(ritm, "newmodel_1", "/user/profile.txt", true)
#
EngeeDeviceManager.Targets.RITM_API.getDiagnostic — Method
getDiagnostic(ritm)::Nothing
将诊断存档ritm_diagnostic.zip下载到当前AnyMath目录中。
参数
-
ritm::Any: RITM目标平台对象。
示例
RITM_API.getDiagnostic(ritm)
#
EngeeDeviceManager.Targets.RITM_API.getFile — Method
RITM_API.getFile(ritm::Any, file_name::String; from=/mydir::String, to=::String)
从目录/mydir 中获取指定的文件file_name 。
参数
-
ritm::Any: RITM目标平台对象。 -
file_name::String:目标文件的名称。 -
from=/mydir::String:目标目录的路径(默认为/home/ritm/)。 -
to=::String:在 AnyMath 中用于保存文件的目录路径(默认为当前目录)。
示例
# 将文件install_manifesttxt 从目录 /home/ritm/build/newmodel_1/build 复制到当前目录Engee :
RITM_API.getFile(ritm, "install_manifest.txt"; from="/home/ritm/build/newmodel_1/build/", to="")
#
EngeeDeviceManager.Targets.RITM_API.getLog — Method
RITM_API.getLog(ritm::Any, num::Int64)
返回指定数量的在 RITM 上运行模型的日志行。
参数
-
ritm::Any:RITM 目标平台对象。 -
num::Int64:要输出的日志行数。
示例
RITM_API.getLog(ritm, 10)
#
EngeeDeviceManager.Targets.RITM_API.getPtpSettings — Method
getPtpSettings(ritm) -> Vector{String}
获取已保存的 PTP 配置。返回 PTP 配置----一个字符串向量,其中包含所选接口、延迟机制、网络传输层、角色以及 PTP 时钟的属性。
示例
getPtpSettings(ritm)
#
EngeeDeviceManager.Targets.RITM_API.getPtpState — Method
getPtpState(ritm) -> Vector{String}
获取 PTP 状态----一个字符串数组,通常包含接口、角色和状态。返回当前 PTP 状态:已启动或已停止;如果 PTP 已启动,则还会返回接口和角色。
示例
getPtpState(ritm)
#
EngeeDeviceManager.Targets.RITM_API.getScreenshot — Method
RITM_API.getScreenshot(ritm::Any, filename::String = "screenshot.png")
在目标 RITM 平台上创建屏幕截图,并返回已保存图像的路径。屏幕截图将保存在 RITM 机器上的临时目录中。 可以显式指定输出文件名;默认使用"screenshot.png" 。
参数
-
ritm::Any: 目标 RITM 平台对象。 -
filename::String = "screenshot.png": 将截图保存到的文件名(在 RITM 端)。
示例
# 生成屏幕截图并获取其路径
path = RITM_API.getScreenshot(ritm, "example.png")
#
EngeeDeviceManager.Targets.RITM_API.isConnected — Method
RITM_API.isConnected(ritm::Any)
检查 RITM 的可用性。
参数
ritm::Any :RITM 目标平台对象。
示例
RITM_API.isConnected(ritm)
#
EngeeDeviceManager.Targets.RITM_API.isRunning — Method
RITM_API.isRunning(ritm::Any, model_name::String)
检查指定模型是否在目标 RITM 平台上运行。如果指定名称的模型当前正在 RITM 机器上运行,则返回 ;如果未运行,则返回 false ``。
参数
-
ritm::Any:目标 RITM 平台对象。 -
model_name::String:需要检查其状态的模型名称。
示例
# 检查模型 "newmodel_1" 是否已运行
is_active = RITM_API.isRunning(ritm, "newmodel_1")
#
EngeeDeviceManager.Targets.RITM_API.listFiles — Method
RITM_API.listFiles(ritm::Any, path::String)
输出指定目录中的文件列表。
参数
-
ritm::Any:RITM目标平台对象。 -
path::String:目标目录的路径。
示例
RITM_API.listFiles(ritm, "/home/ritm/")
#
EngeeDeviceManager.Targets.RITM_API.memInfo — Function
RITM_API.memInfo(ritm::Any, model::String)
输出模型内存消耗信息。
参数
-
ritm::Any:RITM 目标平台对象。 -
model::String:模型名称。若留空"",则返回系统性能分析结果,格式为[total, used, free]。若指定模型名称,则返回该模型占用的内存字节数。
示例
RITM_API.memInfo(ritm, "newmodel_1")
#
EngeeDeviceManager.Targets.RITM_API.poweroff — Method
RITM_API.poweroff(ritm)::Dict{String, Union{String, Int64, Bool, Nothing}}
关闭机器。
参数
-
ritm::Any: RITM目标平台对象。
示例
RITM_API.poweroff(ritm)
#
EngeeDeviceManager.Targets.RITM_API.readFile — Method
RITM_API.readFile(ritm::Any, file_name::String; path=/mydir::String)
输出/home/ritm/build/model_name/build/ 目录下指定文件file_name 的内容,其中model_name 是AnyMath中的模型名称。
参数
-
ritm::Any:RITM目标平台对象。 -
file_name::String:目标文件的名称。 -
path=/mydir::String:包含目标文件的目录路径(默认路径为/home/ritm/build/model_name/build/)。
示例
# 输出文件install_manifest 的内容。txt 位于目录 /home/ritm/build/newmodel_1/build 中:
RITM_API.readFile(ritm, "install_manifest.txt"; path="/home/ritm/build/newmodel_1/build/")
#
EngeeDeviceManager.Targets.RITM_API.reboot — Method
RITM_API.reboot(ritm)::Dict{String, Union{String, Int64, Bool, Nothing}}
重启机器。
参数
-
ritm::Any: 目标 RITM 平台的对象。
示例
RITM_API.reboot(ritm)
#
EngeeDeviceManager.Targets.RITM_API.removeFile — Method
RITM_API.removeFile(ritm::Any, path::String)::String
删除目标 RITM 平台指定路径下的文件。返回从 RITM 删除文件的状态。
参数
-
ritm::Any: 目标 RITM 平台对象。 -
path::String: 要从 RITM 删除的文件的路径。
示例
# 删除 RITM 中的文件newmodel_1 :
RITM_API.removeFile(ritm, "/home/ritm/newmodel_1.engee")
#
EngeeDeviceManager.Targets.RITM_API.resetPtpSettings — Method
resetPtpSettings(ritm) -> Dict{String, Union{String, Int64, Bool, Nothing}}
清除 RITM 上保存的 PTP 设置。返回包含操作结果的字典:状态和错误消息(如有)。
重置后,在启动 PTP 之前,需通过 setupEthPtp 重新配置所需接口。
#
EngeeDeviceManager.Targets.RITM_API.runModel — Function
RITM_API.runModel(
ritm,
model,
is_interactive_mode::Bool=false;
simulation_uuid=string(uuid4()),
status_callback=(args...) -> nothing,
termination_callback=(args...) -> nothing,
) -> Union{Channel{TargetSimulationStatus}, Nothing}
在 RITM 上运行先前构建的模型。
参数
-
ritm::Any: RITM目标平台对象。 -
model::Any: 模型结构。 -
is_interactive_mode::Bool: 指示模型执行模式的标志:true— 模型以交互模式执行;false(默认)-- 模型以独立模式执行。 -
simulation_uuid::String:交互式模式的启动标识符。 -
status_callback:该函数会在接收到每个执行状态时被调用。 -
termination_callback:该函数在交互式执行完成后被调用。
nothing 的值用于独立执行或交互式执行的状态通道。
示例
RITM_API.runModel(ritm, model)
#
EngeeDeviceManager.Targets.RITM_API.setAutostart — Method
RITM_API.setAutostart(ritm, model_name::String)::Dict{String, Union{String, Int64, Bool, Nothing}}
将模型设置为自动运行。
参数
-
ritm::Any: RITM目标平台对象。 -
model_name::String: 模型名称。
示例
RITM_API.setAutostart(ritm)
#
EngeeDeviceManager.Targets.RITM_API.setupEthPtp — Function
setupEthPtp(
ritm,
eth_number,
role;
delay_mech="E2E",
network_tr="UDPv4",
priority1=128,
priority2=128,
clock_class=248,
clock_accuracy=254,
) -> Dict{String, String}
在选定的 RITM 以太网接口上配置 PTP。返回包含操作结果的字典:状态和错误信息(如有)。
参数
-
eth_number:RITM的以太网接口编号,例如1表示以太网1。 -
role:指定PTP本地时钟的角色:"Master"或"Slave"。 -
delay_mech:PTP的工作模式。可能的值包括"E2E"、"P2P"或"Auto"。默认值为"E2E"。 -
network_tr:网络协议。 可能的取值为"UDPv4"、"UDPv6"和"L2"。默认值为"UDPv4"。 -
priority1:本地时钟属性"Приоритет 1"。取值范围为0到255。默认值为128。 -
priority2:本地时钟属性"Приоритет 2"。取值范围为0到255。默认值为128。 -
clock_class:本地时钟属性"Класс"。有效范围为0至255。默认值为248。 -
clock_accuracy:本地时钟属性"Точность"。有效范围为0至255。默认值为254。
#
EngeeDeviceManager.Targets.RITM_API.setupEthernet — Method
RITM_API.setupEthernet(ritm, interface_id::Int64, ip::String, mask::Int64)::Dict{String, Union{String, Int64, Bool, Nothing}}
配置机器的以太网接口。
参数
-
ritm::Any: RITM目标平台对象。 -
interface_id::Int64: 以太网接口标识符。 -
ip::String: 接口的IP地址。 -
mask::Int64: 子网掩码。
示例
RITM_API.setupEthernet(ritm, 0, "192.168.0.10", 24)
#
EngeeDeviceManager.Targets.RITM_API.startPtp — Method
startPtp(ritm, eth_number) -> Dict{String, Union{String, Int64, Bool, Nothing}}
在 RITM 选定的以太网接口上启动 PTP。返回包含操作结果的字典:状态和错误信息(如有)。
在启动 PTP 之前,必须通过 setupEthPtp 配置接口。
参数
-
eth_number: 以太网接口编号。可能的取值为"HostTarget"或"1"--"max ethernet number"。
示例
startPtp(ritm, 1)
#
EngeeDeviceManager.Targets.RITM_API.stopModel — Method
RITM_API.stopModel(ritm)::Nothing
停止 RITM 上的模型。
参数
-
ritm::Any: 目标 RITM 平台对象。
示例
RITM_API.stopModel(ritm)
#
EngeeDeviceManager.Targets.RITM_API.stopPtp — Method
stopPtp(ritm, eth_number) -> Dict{String, Union{String, Int64, Bool, Nothing}}
停止 RITM 上所选以太网接口上的 PTP。返回包含操作结果的字典:状态和错误消息(如有)。
参数
-
eth_number: 以太网接口编号。可能的取值包括"HostTarget"或"1"--"max ethernet number"。
示例
stopPtp(ritm, 1)
#
EngeeDeviceManager.Targets.RITM_API.updateFirmware — Function
RITM_API.updateFirmware(
ritm,
firmware_path::String="",
checksum_path::String="";
reboot::Bool=true,
show_progress=false,
)::Nothing
更新 RITM 固件。
参数
-
ritm::Any: 目标 RITM 平台的对象。 -
firmware_path::String: 固件文件的本地路径。 -
checksum_path::String: 校验和文件的本地路径。 -
reboot::Bool:更新成功后重启 RITM 设备。默认值为true。 -
show_progress::Bool:将更新进度信息输出到日志中。
示例
RITM_API.updateFirmware(ritm; show_progress=true)
RITM_API.updateFirmware(ritm, "/user/firmware.raucb", "/user/firmware.raucb.checksum")
#
EngeeDeviceManager.Targets.RITM_API.updateSupportPackage — Function
RITM_API.updateSupportPackage(ritm, support_package_path::String=""; show_progress=false)::Nothing
更新 RITM 支持包。
如果未指定参数support_package_path ,则安装与当前 AnyMath 版本对应的包。如果指定了参数support_package_path ,则从指定的本地文件中安装包。
参数
-
ritm::Any: RITM 目标平台对象。 -
support_package_path::String:支持包的本地路径。 -
show_progress::Bool:将更新执行过程的信息输出到日志中。
示例
RITM_API.updateSupportPackage(ritm)
RITM_API.updateSupportPackage(ritm, "/user/ritm_support_package.tar.gz"; show_progress=true)
#
EngeeDeviceManager.Targets.RITM_API.uploadFile — Method
RITM_API.uploadFile(ritm::Any, filename::AbstractString; from::AbstractString=pwd(), to::AbstractString="/home/ritm")::String
将文件从 AnyMath 下载到目标 RITM 平台。
参数
-
ritm::Any: 目标 RITM 平台的对象。 -
filename::AbstractString: 要上传到 RITM 的文件名。 -
from::AbstractString = pwd(): AnyMath 中包含待上传文件的目录路径(默认值为当前目录)。 -
to::AbstractString = "/home/ritm":文件在RITM上的上传路径(默认值为/home/ritm)。
示例
using EngeeDeviceManager.Targets
using EngeeDeviceManager.Targets.RITM.RITM_API
# 创建 RITM 对象并设置地址
ritm = Targets.RITM_API.Ritm("http://192.168.56.3:8000/")
# 将文件test.bin 从当前目录Engee (pwd()) 上传至 RITM 上的 /home/ritm
res = RITM_API.uploadFile(ritm, "test.bin")
# 将文件从指定目录Engee (/user/...) 上传至 RITM 上的指定目录
res = RITM_API.uploadFile(ritm, "install_manifest.txt"; from="/user/project/", to="/home/ritm/data/")
#
EngeeDeviceManager.Targets.RITM_API.version — Method
RITM_API.version(ritm)::Dict{String, String}
RITM固件及支持包的版本。 返回包含以下键的字典:
-
"firmware"— 固件版本。 -
"support_package"— 支持包(sysimage)版本。
参数
-
ritm::Any: RITM目标平台对象。
示例
RITM_API.version(ritm)