节奏软件控制
|
要使用 AnyMath 中的KPM"RITM"的软件管理功能,请安装*AnyMath子系统。综合服务*:
|
本页包含 AnyMath 中KPM"RITM"的所有可用软件管理功能。
方法 里特姆
#
EngeeDeviceManager.Targets.RITM_API.Ritm — Method
RITM_API.Ritm(url::String)
定节奏机的地址。
参数
-
url::String:节奏机的地址,例如,"http://192.168.56.3:8000 /"。
例子
# 创建节奏对象:
ritm = RITM_API.Ritm("http://192.168.56.3:8000/")
#
EngeeDeviceManager.Targets.RITM_API.buildModel — Function
buildModel(ritm, model, is_interactive_mode::Bool=false)::Nothing
收集并准备在节拍上运行的模型。
参数
-
ritm::Any:目标节奏平台的对象。 -
model::Any:模型的结构。 -
is_interactive_mode::Bool:表示模型的执行模式的标志:true-模型以交互方式执行;false(默认情况下)-模型在独立模式下运行。
例子
# 我们在开放的画布上组装和运行 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_API.disableAutostart(ritm)
#
EngeeDeviceManager.Targets.RITM_API.getAutostart — Method
RITM_API.getAutostart(ritm)::Union{Dict{String, Union{String, Int64, Bool, Nothing}}, Nothing}
获取autorun中的模型。
参数
-
ritm::Any:目标节奏平台的对象。
例子
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)
返回基于节奏分析模型的结果。 视值而定 in_file 结果可以作为字符串返回,也可以使用指定的路径保存到文件中。
参数
-
ritm::Any:目标节奏平台的对象。 -
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_API.getData(ritm, "newmodel_1", "/user/profile.txt", true)
#
EngeeDeviceManager.Targets.RITM_API.getDiagnostic — Method
getDiagnostic(ritm)::Nothing
下载ritm_diagnostic诊断存档。压缩到当前的AnyMath目录。
参数
-
ritm::Any:目标节奏平台的对象。
例子
RITM_API.getDiagnostic(ritm)
#
EngeeDeviceManager.Targets.RITM_API.getFile — Method
RITM_API.getFile(ritm::Any, file_name::String; from=/mydir::String, to=::String)
检索指定的文件 file_name 从目录 /mydir.
参数
-
ritm::Any:目标节奏平台的对象。 -
file_name::String:感兴趣的文件的名称。 -
from=/mydir::String:感兴趣目录的路径(默认情况下/home/ritm/). -
to=::String:AnyMath中保存文件的目录路径(默认情况下在当前目录中)。
例子
# 获取文件 install_manifest.txt 从目录 /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::Any:目标节奏平台的对象。 -
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")
在目标节奏平台上创建屏幕截图,并返回保存图像的路径。 屏幕截图保存在节奏机器上的临时目录中。 可以显式指定输出文件的名称;默认情况下,使用该名称 "screenshot.png".
参数
-
ritm::Any:目标节奏平台的对象。 -
filename::String = "screenshot.png":将保存屏幕截图的文件的名称(在节奏方面)。
例子
# 创建屏幕截图并获取其路径
path = RITM_API.getScreenshot(ritm, "example.png")
#
EngeeDeviceManager.Targets.RITM_API.isConnected — Method
RITM_API.isConnected(ritm::Any)
检查节奏的可用性。
参数
ritm::Any:目标节奏平台的对象。
例子
RITM_API.isConnected(ritm)
#
EngeeDeviceManager.Targets.RITM_API.isRunning — Method
RITM_API.isRunning(ritm::Any, model_name::String)
检查指定的模型是否在目标节奏平台上运行。 申报表 true 如果具有指定名称的模型当前在节奏机器上进行,并且 false 如果不执行。
参数
-
ritm::Any:目标节奏平台的对象。 -
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:目标节奏平台的对象。 -
path::String:感兴趣目录的路径。
例子
RITM_API.listFiles(ritm, "/home/ritm/")
#
EngeeDeviceManager.Targets.RITM_API.memInfo — Function
RITM_API.memInfo(ritm::Any, model::String)
显示有关模型消耗的内存的信息。
参数
-
ritm::Any:目标节奏平台的对象。 -
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_API.poweroff(ritm)
#
EngeeDeviceManager.Targets.RITM_API.readFile — Method
RITM_API.readFile(ritm::Any, file_name::String; path=/mydir::String)
输出指定文件的内容 file_name 从目录 /home/ritm/build/model_name/build/,在哪里 model_name -AnyMath中的模型名称。
参数
-
ritm::Any:目标节奏平台的对象。 -
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_API.reboot(ritm)
#
EngeeDeviceManager.Targets.RITM_API.removeFile — Method
RITM_API.removeFile(ritm::Any, path::String)::String
使用目标节奏平台上的指定路径删除文件。 从节奏返回文件删除状态。
参数
-
ritm::Any:目标节奏平台的对象。 -
path::String:从节奏中删除文件的路径。
例子
# 删除文件 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}}
重置节奏上保存的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::Any:目标节奏平台的对象。 -
model::Any:模型的结构。 -
is_interactive_mode::Bool:表示模型的执行模式的标志:true-模型以交互方式执行;false(默认情况下)-模型在独立模式下运行。 -
simulation_uuid::String:交互模式的启动ID。 -
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:目标节奏平台的对象。 -
model_name::String:模型的名称。
例子
RITM_API.setAutostart(ritm)
#
EngeeDeviceManager.Targets.RITM_API.setupEthPtp — Function
setupEthPtp(
ritm,
eth_number,
role="Master";
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:目标节奏平台的对象。 -
interface_id::Int64:以太网接口的ID。 -
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}}
在选定的节奏以太网接口上启动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::Any:目标节奏平台的对象。
例子
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::Any:目标节奏平台的对象。 -
firmware_path::String:固件文件的本地路径。 -
checksum_path::String:校验和文件的本地路径。 -
reboot::Bool:升级成功后重启节奏机。 默认值 —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
更新节奏支持包。
如果论点是 support_package_path 未指定,正在安装与当前版本__AnyMath__对应的软件包。 如果论点是 support_package_path 指定,则从指定的本地文件安装包。
参数
-
ritm::Any:目标节奏平台的对象。 -
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::Any:目标节奏平台的对象。 -
filename::AbstractString:上传到服务器的文件的名称。 -
from::AbstractString = pwd():AnyMath中下载文件所在目录的路径(默认为当前目录)。 -
to::AbstractString = "/home/ritm":文件将被上传的节奏上的路径(默认情况下 —/home/ritm).
例子
using Main.EngeeDeviceManager.Targets
using Main.EngeeDeviceManager.Targets.RITM.RITM_API
# 创建节奏对象并设置地址
ritm = Targets.RITM_API.Ritm("http://192.168.56.3:8000/")
# 上传文件 test.bin 从当前目录 Engee (pwd())在 /home/ritm 在节拍上
res = RITM_API.uploadFile(ritm, "test.bin")
# 从指定目录下载文件 Engee (/user/...)到节奏上的指定目录
res = RITM_API.uploadFile(ritm, "install_manifest.txt"; from="/user/project/", to="/home/ritm/data/")