Перейти к содержимому
nikitaaaaa

Вывод изображения с робота на внешний монитор

Рекомендуемые сообщения

Вобщем времени у меня не так много надо чтоб каким то образом робот без внутреннего монитора передавал картинку на компьютер по беспроводной карте.

Примерно как терминальный сервер и терминал. Думаю вы все поняли, не задавайте лишних вопросов а я дальше по секретным делам 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, nikitaaaaa сказал:

Вобщем времени у меня не так много надо чтоб каким то образом робот без внутреннего монитора передавал картинку на компьютер по беспроводной карте.

Примерно как терминальный сервер и терминал. Думаю вы все поняли, не задавайте лишних вопросов а я дальше по секретным делам 

сделай обертки к операциям гпу и передавай по модему данные о выводе.

Пример.

 

local primalGpuSet = gpu.set

 

function gpu.set(x, y, string)

     modem.send(address, port, packetId, x, y, string)

    primalGpuSet(x, y, string)

end

 

На ресивере получаем ивент с сообщением, определяем через packetId что именно gpu.set была вызвана, вызываем gpu.set с полученными данными. Данный код лишь пример, первой оптимизацией можно буферизировать данные на отправку выгружая при нужных условиях для ускорения рендера, как мы знаем операция send занимает один тик, при этом программа будет замедляться как на отправителе, так и на получателе.

 

Есть не ошибаюсь должно работать, component.proxy кэширует прокси компонентов и данный скрипт глобально заменит первоначальную функцию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
9 часов назад, NEO сказал:

local primalGpuSet = gpu.set

 

function gpu.set(x, y, string)

     modem.send(address, port, packetId, x, y, string)

    primalGpuSet(x, y, string)

end

Мммм круто только я ничего в этом не понимаю

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
10 часов назад, NEO сказал:

сделай обертки к операциям гпу и передавай по модему данные о выводе.

Робот без монитора и, наверное, без видеокарты. Что бы гпу работал, видушку поставить придется.

 

29 минут назад, nikitaaaaa сказал:

Мммм круто только я ничего в этом не понимаю

Ну, так это отличный повод начинать понимать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, Zer0Galaxy сказал:

Робот без монитора и, наверное, без видеокарты. Что бы гпу работал, видушку поставить придется.

Можно ведь виртуальный компонент сделать

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, Zer0Galaxy сказал:

наверное, без видеокарты

он с видеокартой

 

1 минуту назад, Zer0Galaxy сказал:

Ну, так это отличный повод начинать понимать

Да знаю но вот только моя тупая голова так и говорит этот язык не для тебя

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я: создаю тупую темму которая в уме выглядела лучше

гуру: приходят

я:😶

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
8 минут назад, nikitaaaaa сказал:

Да знаю но вот только моя тупая голова так и говорит этот язык не для тебя

Откуда ты знаешь, на что способна твоя голова, если еще не пробовал.

К стати решение твоей проблемы уже есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, Zer0Galaxy сказал:

К стати решение твоей проблемы уже есть

Ах ты моя палочка-выручалочка

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, Zer0Galaxy сказал:

Робот без монитора и, наверное, без видеокарты. Что бы гпу работал, видушку поставить придется.

Что мешает гпу без монитора работать? Не помню таких моментов. В тз не сказано что гпу отсутствует.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, Zer0Galaxy сказал:

Откуда ты знаешь, на что способна твоя голова, если еще не пробовал.

К стати решение твоей проблемы уже есть.

Решение топорное и не оптимальное, при изменении одной ячейки передавать всю матрицу. Выходит 2000 операций gpu.get.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
26 минут назад, NEO сказал:

Что мешает гпу без монитора работать? Не помню таких моментов. В тз не сказано что гпу отсутствует.

Я не говорил про монитор. Я говорил про видеокарту. component.gpu возвращает прокси видеокарты. Карты нет - и прокси не будет. Хотя, желающие могут проверить. Мне даже интересно, запустится ли комп без видюхи?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
28 минут назад, NEO сказал:

Решение топорное и не оптимальное, при изменении одной ячейки передавать всю матрицу. Выходит 2000 операций gpu.get

Я не смог установить ни одну прогу или вылетает или зависает

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
37 минут назад, NEO сказал:

Решение топорное и не оптимальное, при изменении одной ячейки передавать всю матрицу. Выходит 2000 операций gpu.get.

Матрица там передается не по изменению ячейки, а по нажатию F5. Вполне себе нормально, если нужно лишь изредка поглядывать на экран.

10 минут назад, nikitaaaaa сказал:

Я не смог установить ни одну прогу или вылетает или зависает

Что и где ты устанавливал? Как запускал? Какие скрины получал?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
25 минут назад, Zer0Galaxy сказал:

Мне даже интересно, запустится ли комп без видюхи?

Комп запустится. Работают же как-то микроконтроллеры и дроны без видеокарты.

Насколько я помню, даже OpenOS позволяет загружаться без видеокарты и подключать экран на горячую, уже после загрузки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дроны и микроконтроллеры работают без OpenOS, а OpenOS первым делом начинает принтить на экран. Как отработает print, когда gpu=nil?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
30 минут назад, Zer0Galaxy сказал:

Матрица там передается не по изменению ячейки, а по нажатию F5. Вполне себе нормально, если нужно лишь изредка поглядывать на экран.

В любом случае вопрос не решён, зачем передавать всю матрицу если за всё время изменилась одна ячейка?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
50 минут назад, Zer0Galaxy сказал:

Дроны и микроконтроллеры работают без OpenOS, а OpenOS первым делом начинает принтить на экран. Как отработает print, когда gpu=nil?

Судя по коду /lib/tty.lua, отработает молча, без падения:

function tty.stream:write(value)
  local gpu = tty.gpu()
  if not gpu then
    return
  end
  ...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...