www.open-tager.ru http://www.open-tager.ru/forum/ |
|
Система Caustic http://www.open-tager.ru/forum/viewtopic.php?f=5&t=4128 |
Страница 104 из 108 |
Автор: | Pingvin [ 08 фев 2017, 18:55 ] |
Заголовок сообщения: | Re: Система Caustic |
Про nrf24 bootloader не задумывались? |
Автор: | Alexies [ 08 фев 2017, 20:35 ] |
Заголовок сообщения: | Re: Система Caustic |
Pingvin писал(а): Про nrf24 bootloader не задумывались? А с ним все понятно, даже думать нечего По радио приходит файл по частям, и его хэш. Мой загрузчик умеет считать хэши. Затем достаточно перезагрузить девайс (можно сделать это автоматически) Нужно всего лишь добавить функционал передачи больших файлов. Это строчек 200 кода, с учетом повторного запроса непринятых частей файла. Файл передает Anodriod-приложение. Само приложение скачивает его с гитхаба автоматически. Но это все низкоприоритетные задачи. Главное в лазертаге - лазертаг, а не перепрошивка Не думаю, что вообще понадобится часто перепрошивать. |
Автор: | Pingvin [ 09 фев 2017, 06:53 ] |
Заголовок сообщения: | Re: Система Caustic |
Я про вариант - "из эфира" сразу во флеш, без сохранения на SD карте. |
Автор: | Alexies [ 09 фев 2017, 13:08 ] |
Заголовок сообщения: | Re: Система Caustic |
Pingvin писал(а): Я про вариант - "из эфира" сразу во флеш, без сохранения на SD карте. Технически реализовать это очень просто. Но я не вижу смысла в такой затее. Если сохранять файл на карточку, то прошивка произойдет только тогда, когда файл будет принят полностью. Короткий процесс прошивки - и снова можно играть. А вот с записью напрямую во флеш будет хуже. От прихода первого пакета и до последнего девайс неиграбельный. Это не очень хорошо. А что касается гипотетических устройств, в которых будет NRF, но не будет SD-карты, вроде умных датчиков будущего или чего-то в этом роде - такие устройства будут простыми, а значит не нужно будет их часто перепрошивать. |
Автор: | Pingvin [ 12 фев 2017, 11:46 ] |
Заголовок сообщения: | Re: Система Caustic |
Хотел полюбопытствовать - экземпляры классов у Вас во феш памяти расположены? А как же тогда быть с переменными, описанными в классе? Или все в оперативной памяти создаются? |
Автор: | Alexies [ 12 фев 2017, 16:42 ] |
Заголовок сообщения: | Re: Система Caustic |
Pingvin писал(а): Хотел полюбопытствовать - экземпляры классов у Вас во феш памяти расположены? А как же тогда быть с переменными, описанными в классе? Или все в оперативной памяти создаются? В оперативной памяти, конечно. Точно так же, как структуры в чистом Си. В экземпляре класса ничего нет, кроме переменных (и ещё одной "скрытой" переменной-указателя на vtable для полиморфных объектов, когда есть виртуальные функции). Это одинаково работает что на компьютере, что на контроллере. Данные всегда в области данных, если не шаманить. Можно, теоретически, засунуть экземпляр класса чисто во флеш (и сделать, чтобы он потом не копировался в RAM автоматически). Но это если все его поля заданы изначально и не будут меняться. Такое обычно не нужно, у меня такого нет. |
Автор: | Pingvin [ 12 фев 2017, 16:45 ] |
Заголовок сообщения: | Re: Система Caustic |
А методы (функции) - автоматом во флеш пишутся? |
Автор: | Alexies [ 12 фев 2017, 21:58 ] |
Заголовок сообщения: | Re: Система Caustic |
Pingvin писал(а): А методы (функции) - автоматом во флеш пишутся? Конечно. Нет принципиальной разницы между методами классов и обычными функциями. Просто они принимают неявно дополнительный аргумент - указатель на экземпляр, с которым работают. Именно он доступен по слову this. И методы, само собой, не копируются при копировании экземпляров класса Даже если они виртуальные. |
Автор: | Pingvin [ 13 фев 2017, 05:56 ] |
Заголовок сообщения: | Re: Система Caustic |
Ну вот теперь все понятно. |
Автор: | Pingvin [ 15 фев 2017, 20:10 ] |
Заголовок сообщения: | Re: Система Caustic |
Пакеты по 32 байта гонять научился. Давайте обсудим структуру пакета. Цитата: RCSP-сообщения Единицей обмена данными через RCSP является сообщение. Сообщения могут быть объединены в единый бинарный поток. Такой поток не требует дополнительной метаинформации. Сообщение имеет следующую структуру, последовательно: 1 byte 2 bytes arg_size bytes uint8_t arg_size uint16_t op_code argument arg_size — размер аргумента операции, принимает значения [0..255] op_code — код операции argument — аргумент операции. Отсутствует, если arg_size == 0 Таким образом, arg_size и op_code составляют заголовок сообщения. Поскольку размер сообщения всегда составляет arg_size + 3 байт, сообщения с неизвестным кодом операции могут быть пропущены без ущерба для остальных сообщений, входящих в поток. Тут какой уровень описан? Не вижу ни адреса отправителя, ни адреса получателя... |
Страница 104 из 108 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |