hohserg 189 Опубликовано: 8 октября, 2019 А можешь выделить протокол общения с дроном в отдельную либу? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chebuya Автор темы 415 Опубликовано: 8 октября, 2019 3 часа назад, hohserg сказал: А можешь выделить протокол общения с дроном в отдельную либу? Эээ, а какой там протокол общения? Там просто modem.send, и всё Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
hohserg 189 Опубликовано: 8 октября, 2019 Так формирование сообщений для отправки и их распознавание ведь происходит по определенным правилам. Это и есть протокол Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chebuya Автор темы 415 Опубликовано: 8 октября, 2019 46 минут назад, hohserg сказал: Так формирование сообщений для отправки и их распознавание ведь происходит по определенным правилам. Это и есть протокол А что конкретно интересует? "Безопасная" связь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
hohserg 189 Опубликовано: 8 октября, 2019 (изменено) Да в общем то всё. Твоя программа покрывает все юзкейсы дрона Изменено 8 октября, 2019 пользователем hohserg Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
serafim 271 Опубликовано: 8 октября, 2019 1 час назад, hohserg сказал: Так формирование сообщений для отправки и их распознавание ведь происходит по определенным правилам. Это и есть протокол Посмотри на мой старый код, я пытался упростить управление дроном, и там есть защита от угона но нет ориентации по сторонам света дрон планшет 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
hohserg 189 Опубликовано: 8 октября, 2019 1 минуту назад, serafim сказал: Посмотри на мой старый код local e = {computer.pullSignal('modem_message')} if e[3] == user then pcall(load(e[6])) В общем то это аналогично фиче интерпретатора из апки BrightYC. Это разумеется покрывает все юзкейсы, однако, вроде, не эффективно в плане объема передаваемых данных. "drone.move(1,10,1)" можно закодировать в более компактную форму при помощи специализированного протокола. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chebuya Автор темы 415 Опубликовано: 8 октября, 2019 2 минуты назад, hohserg сказал: Да в общем то всё. Твоя программа покрывает все юзкейсы дрона Так это целая программа. Она в открытом доступе. В основном, там есть таблица cmd = {} В ней есть функции. Я проверяю так: if cmd[commandFromTablet] then cmd[commandFromTable() end 1 минуту назад, serafim сказал: Посмотри на мой старый код, я пытался упростить управление дроном, и там есть защита от угона но нет ориентации по сторонам света дрон планшет Да, я тоже думал что проще всего хранить весь код вообще на планшете, а на дроне только load() Но почему-то мне захотелось хранить основные функции в eeprom(Припоминаю, что рассчитывал на минимальное количество телодвижений, и чтобы программу спокойно можно было запустить просто скопировав ctrl+ v без докачки всякой ереси с инета) P.S Там modem.broadcast(), который всем виден. Лучше использовать modem.send, так как эти сообщения вообще никак нельзя отловить легальными слособами 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chebuya Автор темы 415 Опубликовано: 9 октября, 2019 6 часов назад, hohserg сказал: Да в общем то всё. Твоя программа покрывает все юзкейсы дрона Если есть какие-то конкретные пожелания - пиши. Возможно реализую - ограничений на код нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
serafim 271 Опубликовано: 9 октября, 2019 15 часов назад, hohserg сказал: "drone.move(1,10,1)" можно закодировать в более компактную форму при помощи специализированного протокола. можно, но нет смысла, пропускной способности достаточно чтоб дрон моментально выполнял команду 15 часов назад, BrightYC сказал: Там modem.broadcast(), который всем виден. Лучше использовать modem.send() Да пожалуй так лучше 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
hohserg 189 Опубликовано: 5 ноября, 2019 В процессе использования возникли следующие баги: В интерпретаторе при вводе "computer.uptime()" иногда срабатывает, иногда зависает(не знаю, что именно, планшет или дрон) Имеем связанные дрон и планшет. Включаем сначала дрона, потом планшет. Планшет считает, что не приконектился, хотя сообщения быстрых клавиш(движения, например) отправляет, поэтому интерпритатор не работает, параметры дрона показывает N/A Раньше проблемы не замечал, появилось после того, как попытался использовать uptime, но возможно, это не связано Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chebuya Автор темы 415 Опубликовано: 5 ноября, 2019 (изменено) 40 минут назад, hohserg сказал: В процессе использования возникли следующие баги: В интерпретаторе при вводе "computer.uptime()" иногда срабатывает, иногда зависает(не знаю, что именно, планшет или дрон) Понятия не имею. Зависать на планшете не должно, скорее всего на дроне что-то. Проверю как будет время(и желание) 40 минут назад, hohserg сказал: Имеем связанные дрон и планшет. Включаем сначала дрона, потом планшет. Планшет считает, что не приконектился, хотя сообщения быстрых клавиш(движения, например) отправляет, поэтому интерпритатор не работает, параметры дрона показывает N/A А эта штука называется таймер обновления. Планшет не часто запрашивает обновление данных - поэтому N/A. Интерпретатор должен работать при N/A - он только отсылает команды. И вернуть, по идее, должен. Если данные N/A - принудительно обнови данные(вроде кнопка E). Если буду часто запрашивать - никакой батарейки не хватит(у дрона/планшета, энергия ведь тратится) Изменено 5 ноября, 2019 пользователем BrightYC Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chebuya Автор темы 415 Опубликовано: 5 ноября, 2019 Протестировал. Да норм всё, ответ приходит мгновенно. На счёт N/A - в программе при запуске есть функция send("data"), что исключает возможность N/A если дрон включен. Какие-то локальные проблемы. У меня всё нормально =\ Напиши, пожалуйста, версию OC, и версию майна. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
hohserg 189 Опубликовано: 6 ноября, 2019 (изменено) Значит че-то неправильно с моими конкретными дроном-планшетом. Версия OC 1.12.2-1.7.4.153 Изменено 6 ноября, 2019 пользователем hohserg Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chebuya Автор темы 415 Опубликовано: 6 ноября, 2019 1 минуту назад, hohserg сказал: Значит че-то неправильно с моими конкретными дроном-планшетом. Версия OC 1.12.2-1.7.4.153 Очень странно. Та же самая версия - ничего не тупит. =\ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chebuya Автор темы 415 Опубликовано: 17 ноября, 2019 (изменено) Небольшое обновление: Добавлена поддержка локализаций. Пока что не вынесено в отдельный файл - возможно вынесу. Сменить язык можно изменив stuff.language на EN - английский, RU - русский, соответственно. Убраны часы, добавлен показатель расхода оперативной памяти. (Стырено с майнос) Добавлен "компас". Позволяет проще ориентироваться, в какую сторону смотрит дрон. И самая здоровская фича которая была добавлена - автодополнение. Теперь, интерпретатор вообще ничем не отличается от того, что есть в стандартной поставке OpenOS. Огромное спасибо @hohserg. Небольшая гифка: Скрытый текст Изменено 17 ноября, 2019 пользователем BrightYC 4 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
hot9rot 2 Опубликовано: 7 ноября, 2020 баг, как исправить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
serafim 271 Опубликовано: 7 ноября, 2020 9 минут назад, hot9rot сказал: как исправить? Введи команду ls (покажешь скрин) но помойму ошибка в последнем символе drc.lua E вместо С из за этого пишет файл не найден Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
hot9rot 2 Опубликовано: 7 ноября, 2020 3 минуты назад, serafim сказал: E вместо С из за этого пишет файл не найден нет там С Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 148 Опубликовано: 7 ноября, 2020 16 минут назад, hot9rot сказал: баг, как исправить? А ещё wget ругается на невозможность октрыть файл в режиме записи. Скорее всего, система загружена с дискеты в режиме только для чтения. Чтобы исправить эту ошибку, требуется установить систему на жёсткий диск командой install и загрузить её с жёсткого диска. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах