www.open-tager.ru

открытый лазертаг форум
Текущее время: 19 апр 2024, 00:43

Часовой пояс: UTC + 3 часа [ Летнее время ]


Реклама

Правила форума


В разделе запрещены - обсуждение оборудования не поддерживающего открытых протоколов, реклама и ссылки на готовые продукты лазертага, обсуждение политики производителей и самих производителей. Виден всем.



Начать новую тему Ответить на тему  [ Сообщений: 1076 ]  На страницу Пред.  1 ... 59, 60, 61, 62, 63, 64, 65 ... 108  След.
Автор Сообщение
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 16 дек 2015, 02:57 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 27 ноя 2011, 00:22
Сообщений: 1569
Откуда: Україна
Alexies писал(а):
Вот я и присобачил к загрузчику поддержку USB :)

Осталось немного довести до ума, и запилить очередную версию плат, теперь с поддержкой USB )

Может лучше поддержку радио запилите? ;)

_________________
Нет предела совершенству, но ресурсы заканчиваются быстро.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 16 дек 2015, 06:54 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Alexies писал(а):
Вот я и присобачил к загрузчику поддержку USB :)

Осталось немного довести до ума, и запилить очередную версию плат, теперь с поддержкой USB )

Поздравляю!
USB нужен.
Не думали на предмет защиты страниц с бутлоадером от записи - чтобы случайно не затерли?
Или нет смысла?

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 16 дек 2015, 06:56 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Pacifist писал(а):
Alexies писал(а):
Вот я и присобачил к загрузчику поддержку USB :)

Осталось немного довести до ума, и запилить очередную версию плат, теперь с поддержкой USB )

Может лучше поддержку радио запилите? ;)

Что значит - "лучше"?
USB радиосигнал глушит?
Как он мешает радио запилить?
Лучше - пусть будет всё! ;) :)

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 16 дек 2015, 12:58 
Не в сети
Старожил

Зарегистрирован: 18 мар 2015, 13:19
Сообщений: 574
Откуда: Нижний Новгород
Pingvin писал(а):
USB нужен.
Не думали на предмет защиты страниц с бутлоадером от записи - чтобы случайно не затерли?
Или нет смысла?

Я думаю, смысла нет. К тому же первую страницу всё равно придётся перезаписывать, а это уже нарушает идею bootloader read-only.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 16 дек 2015, 13:06 
Не в сети
Старожил

Зарегистрирован: 18 мар 2015, 13:19
Сообщений: 574
Откуда: Нижний Новгород
Pacifist писал(а):
Alexies писал(а):
Вот я и присобачил к загрузчику поддержку USB :)

Осталось немного довести до ума, и запилить очередную версию плат, теперь с поддержкой USB )

Может лучше поддержку радио запилите? ;)


Поддержку радио для перепрошивки - обязательно запилю. Но доступ в sd-карте в процессе отладки системы иногда нужен, а это удобнее через USB. Хотя можно вообще sd over radio реализовать, технически проблем нет. Один девайс подключаешь к компу по USB, на другом - sd-карта, и комп её видит, как флешку :). Но это будет работать так себе, и не особо нужно.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 17 дек 2015, 18:11 
Не в сети
Старожил

Зарегистрирован: 18 мар 2015, 13:19
Сообщений: 574
Откуда: Нижний Новгород
Загрузчик с USB доведен до ума. Сейчас он работает так:
- При запуске контроллера он проверяет, не подключен ли USB-разъём к компьютеру. Для этого не используется никаких дополнительных пинов контроллера, кроме стандартных USBDP и USBDM. Если компьютер подключен, устройство определяется компом, как Mass Storage Device, и выглядит, как подключенная флешка или кардридер. Никаких драйверов устанавливать не нужно. Зарядное устройство не считается за компьютер, с ним девайс работает в обычном режиме. Можно даже Power bank в поле подключать, и прям с ним бегать :)
- Если компьютер не подключен, устройство проверяет файл flash.bin с прошивкой на карте памяти. Если его содержимое отличается от того, чем мы прошивались в предыдущий раз, то контроллер перепрошивается. Если рядом лежит файл flash.ly, то из него считывается ly-хэш, который используется для проверки целостности прошивки. Если файла нет, то flash.bin считается по-умолчанию целостным. После перепрошивки контроллер автоматически загружает основную программу.
- Если flash.bin не обновлялся, контроллер просто загружает основную программу

Таким образом, чтобы держать систему up-to-date, нужно забросить на карточку самую новую прошивку flash.bin. Ничего переименовывать и проверять не нужно, этот файл так и будет лежать на карте.

В процессе перепрошивки и при работе в качестве кардридера контроллер прижимает к земле все не используемые в процессе пины, чтобы избежать z-состояния и наводок. Это позволяет подключать полевики затворами прямо к контроллеру без защитных резисторов затвор-земля. Это существенно экономит место на плате, поскольку полевиков обычно не меньше пяти.

Также, загрузчик по UART1 подробно рассказывает о своём состоянии, если нужно диагностировать проблемы (это можно отключить). Параметры 8N1, 921600 бит/с. Такую скорость пережует китайский USB<->UART переходник на поддельном FT232RL.

Загрузчик никак не привязан к конкретной прошивке и лазертагу вообще, и прошьет всё, что влезет в память. Проверка размера прошивки, само собой, присутствует. Сам себя бутлоадер не испортит :)

Исходный код выложу в ближайшее время, поскольку никакого секрета здесь нет, а другим людям может пригодиться. Написан с STM HAL, который портируется куда лучше, чем stdperiph. Единственное, что хочется улучшить - это прикрутить cmake, чтобы собиралось без Eclipse + ARM plugin.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 17 дек 2015, 19:28 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Ну и замечательно. ;)

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 18 дек 2015, 13:34 
Не в сети
Старожил

Зарегистрирован: 18 мар 2015, 13:19
Сообщений: 574
Откуда: Нижний Новгород
Рано или поздно наступает время большого рефакторинга кода. Разбираясь с бутлоадером, я стал лучше понимать, как что работает в stm32. Кажется, наступил момент, чтобы избавиться от std periph и перенести всё на STM HAL. Использовать две библиотеки, делающие одно и то же - не профессионально. Учитывая, что одна из них уже давно не поддерживается.
Думаю, это займёт ещё недельку :(


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 18 дек 2015, 17:13 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Где бы про него почитать ещё найти, про этот HAL? :?
Если не будете код открывать - то всем как то все равно, на чем прошивка написана.
Так чисто для своего удобства только...

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 18 дек 2015, 19:00 
Не в сети
Старожил

Зарегистрирован: 18 мар 2015, 13:19
Сообщений: 574
Откуда: Нижний Новгород
Pingvin писал(а):
Где бы про него почитать ещё найти, про этот HAL? :?
Если не будете код открывать - то всем как то все равно, на чем прошивка написана.
Так чисто для своего удобства только...


Официальный источник вот: http://www.st.com/st-web-ui/static/active/cn/resource/technical/document/user_manual/DM00154093.pdf
Он, конечно, довольно убог. Я пытаюсь как-то скомбинировать информацию из него, из Doxygen-документации на HAL (это то, что в комментах перед функциями написано, скомпилированное программой doxygen в html), ещё гадаю по галочкам в STM32 Cube и смотрю форумы.
Иногда помогает сравнение с stdperiph, какие операции выполняет он, и какие - HAL, буквально по действиям на уровне CMSIS.

Да, рефакторинг "снаружи" никак не заметен. Делать его нужно для себя, поскольку хороший код, подчиняющийся строгой логике, проще развивать.

Перед реализацией следующего этапа - статистики, управления игрой и горячей смены оружия - хочется "подчистить хвосты".


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 1076 ]  На страницу Пред.  1 ... 59, 60, 61, 62, 63, 64, 65 ... 108  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB