Документация Engee

Программное управление РИТМ

Чтобы работать с функциями программного управления КПМ «РИТМ» в Engee, установите пакет поддержки работы с оборудованием, выполнив команду:

engee.package.install("Engee-Device-Manager")

На этой странице представлены все доступные функции программного управления КПМ «РИТМ» в Engee.

Методы RITM

Targets.compile_model(ritm::Any, model::Model, is_ext_mode::Bool)

Собирает модель на РИТМе.

Аргументы

  • ritm::Any: объект целевой платформы РИТМ. Задается с помощью последовательных команд ritm = Targets.RITM.Ritm() и Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/").

  • model::Model: объект типа Model.

  • is_ext_mode::Bool: флаг, указывающий режим выполнения модели. true — модель выполняется в интерактивном режиме. false — модель выполняется в независимом режиме.

Примеры

model = Engee.engee.gcm()
Targets.upload_model(ritm, model)
Targets.generate_executable_code(ritm, model, false)
Targets.compile_model(ritm, model)
Targets.generate_executable_code(ritm::Any, model::Model, is_ext_mode::Bool)

Генерирует Си-обвязку на РИТМе.

Аргументы

  • ritm::Any: объект целевой платформы РИТМ. Задается с помощью последовательных команд ritm = Targets.RITM.Ritm() и Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/").

  • model::Model: объект типа Model.

  • is_ext_mode::Bool: флаг, указывающий режим выполнения модели. true — модель выполняется в интерактивном режиме. false — модель выполняется в независимом режиме.

Примеры

model = Engee.engee.gcm()
Targets.upload_model(ritm, model)
Targets.generate_executable_code(ritm, model, false)
Targets.RITM.set_url(ritm:Any, url::String)

Устанавливает адрес машины РИТМ.

Аргументы

  • ritm::Any: объект целевой платформы РИТМ. Задается с помощью последовательных команд ritm = Targets.RITM.Ritm() и Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/").

  • url::String: адрес машины РИТМ.

Примеры

ritm = Targets.RITM.Ritm()
Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/")
Targets.start_model(ritm::Any, model::Model)

Запускает модель на РИТМе.

Аргументы

  • ritm::Any: объект целевой платформы РИТМ. Задается с помощью последовательных команд ritm = Targets.RITM.Ritm() и Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/").

  • model::Model: объект типа Model.

Примеры

Targets.start_model(ritm, model)
Targets.stop_model(ritm::Any)

Останавливает модель на РИТМе.

Аргументы

ritm::Any: объект целевой платформы РИТМ. Задается с помощью последовательных команд ritm = Targets.RITM.Ritm() и Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/").

Примеры

Targets.stop_model(ritm)
Targets.upload_model(ritm::Any, model::Model)

Загружает модель на РИТМ.

Аргументы

  • ritm::Any: объект целевой платформы РИТМ. Задается с помощью последовательных команд ritm = Targets.RITM.Ritm() и Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/").

  • model::Model: объект типа Model.

Примеры

model = Engee.engee.gcm()
Targets.upload_model(ritm, model)
RITM_API.getData(ritm::Any, model_name::String, file_path::String, in_file::Bool = false)

Возвращает результат профилирования модели на РИТМе. В зависимости от значения in_file, результат может быть возвращен как строка либо сохранен в файл по указанному пути.

Аргументы

  • ritm::Any: объект целевой платформы РИТМ. Задается с помощью последовательных команд ritm = Targets.RITM.Ritm() и Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/").

  • 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)
RITM_API.getFile(ritm::Any, file_name::String; from=/mydir::String, to=::String)

Получает указанный файл file_name из директории /home/ritm/build/model_name/build/, где model_name — имя модели в Engee.

Аргументы

  • ritm::Any: объект целевой платформы РИТМ. Задается с помощью последовательных команд ritm = Targets.RITM.Ritm() и Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/").

  • file_name::String: имя интересующего файла.

  • from=/mydir::String: путь до директории с интересующим файлом (по умолчанию /home/ritm/build/model_name/build/).

  • to=::String: путь до директории в Engee для сохранения файла (по умолчанию в текущей).

Примеры

RITM_API.getFile(ritm, "install_manifest.txt"; from="/home/ritm/build/newmodel_1/build/", to="")
RITM_API.getLog(ritm::Any, num::Int64)

Возвращает указанное число строк логов выполнения модели на РИТМе.

Аргументы

  • ritm::Any: объект целевой платформы РИТМ. Задается с помощью последовательных команд ritm = Targets.RITM.Ritm() и Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/").

  • num::Int64: число выводимых строк из логов.

Примеры

RITM_API.getLog(ritm, 10)
RITM_API.getScreenshot(ritm::Any, filename::String = "screenshot.png")

Создает скриншот на целевой платформе РИТМ и возвращает путь к сохранённому изображению. Снимок экрана сохраняется во временной директории на машине РИТМ. Имя выходного файла можно указать явно; по умолчанию используется "screenshot.png".

Аргументы

  • ritm::Any: объект целевой платформы РИТМ. Задается с помощью последовательных команд ritm = Targets.RITM.Ritm() и Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/").

  • filename::String = "screenshot.png": имя файла, в который будет сохранен скриншот (на стороне РИТМа).

Примеры

# Создать скриншот и получить путь к нему:
path = RITM_API.getScreenshot(ritm, "example.png")
RITM_API.isConnected(ritm::Any)

Проверяет доступность РИТМа.

Аргументы

ritm::Any: объект целевой платформы РИТМ. Задается с помощью последовательных команд ritm = Targets.RITM.Ritm() и Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/").

Примеры

RITM_API.isConnected(ritm)
RITM_API.isRunning(ritm::Any, model_name::String)

Проверяет, выполняется ли указанная модель на целевой платформе РИТМ. Возвращает true, если модель с заданным именем в данный момент в процессе выполнения на машине РИТМ, и false если не выполняется.

Аргументы

  • ritm::Any: объект целевой платформы РИТМ. Задается с помощью последовательных команд ritm = Targets.RITM.Ritm() и Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/").

  • model_name::String: имя модели, состояние которой необходимо проверить.

Примеры

# Проверить, запущена ли модель "newmodel_1":
is_active = RITM_API.isRunning(ritm, "newmodel_1")
RITM_API.listFiles(ritm::Any, path::String)

Выводит список файлов в указанной директории.

Аргументы

  • ritm::Any: объект целевой платформы РИТМ. Задается с помощью последовательных команд ritm = Targets.RITM.Ritm() и Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/").

  • path::String: путь до интересующей директории.

Примеры

RITM_API.listFiles(ritm, "/home/ritm/")
RITM_API.memInfo(ritm::Any, model::String)

Выводит информацию о потребляемой моделью памяти.

Аргументы

  • ritm::Any: объект целевой платформы РИТМ. Задается с помощью последовательных команд ritm = Targets.RITM.Ritm() и Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/").

  • model::String: имя модели. Если оставить пустым "", то вернет результат профилирования системы в виде [total, used, free]. Если указать имя модели, то вернет количество байт памяти, потребляемой моделью.

Примеры

RITM_API.memInfo(ritm, "newmodel_1")
RITM_API.readFile(ritm::Any, file_name::String; path=/mydir::String)

Выводит содержимое указанного файла file_name из директории /home/ritm/build/model_name/build/, где model_name — имя модели в Engee.

Аргументы

  • ritm::Any: объект целевой платформы РИТМ. Задается с помощью последовательных команд ritm = Targets.RITM.Ritm() и Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/").

  • file_name::String: имя интересующего файла.

  • path=/mydir::String: путь до директории с интересующим файлом (по умолчанию /home/ritm/build/model_name/build/).

Примеры

RITM_API.readFile(ritm, "install_manifest.txt"; path="/home/ritm/build/newmodel_1/build/")