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/