www.open-tager.ru
http://www.open-tager.ru/forum/

Система Caustic
http://www.open-tager.ru/forum/viewtopic.php?f=5&t=4128
Страница 25 из 108

Автор:  Alexies [ 16 июн 2015, 23:52 ]
Заголовок сообщения:  Re: Система Caustic

Но в целом генерированный проект - ничего так. После небольшой модификации скрипта компоновщика и добавления функций _sbrk и _exit появляется поддержка new/delete или malloc/free - можно писать, как и раньше, на нормальном C++ с STL и не париться.

Автор:  Pingvin [ 18 июн 2015, 16:22 ]
Заголовок сообщения:  Re: Система Caustic

Alexies писал(а):
Осваиваюсь с STM32Cube HAL и FreeRTOS.

Совершенно неожиданно: проект, который генерирует CubeMX всегда в коде содержит макрос отключения возможности программирования контроллера по SWD и JTAG. Поэтому после прошивки свежим пустым проектом чип больше нельзя прошивать программатором. Помогает только прошивка через USART1. Поэтому первым делом нужно найти функцию void HAL_MspInit(void) и закомментить макрос __HAL_AFIO_REMAP_SWJ_DISABLE(); примерно вот так:
Код:
void HAL_MspInit(void)
{
  /* USER CODE BEGIN MspInit 0 */

  /* USER CODE END MspInit 0 */

  __HAL_RCC_AFIO_CLK_ENABLE();

  HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);

  /* System interrupt init*/
/* SysTick_IRQn interrupt configuration */
  HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);

    /**DISABLE: JTAG-DP Disabled and SW-DP Disabled
    */
  //__HAL_AFIO_REMAP_SWJ_DISABLE();

  /* USER CODE BEGIN MspInit 1 */

  /* USER CODE END MspInit 1 */
}


Зачем это сделано - непонятно.


Не совсем так!
"Оживил" без UART.
Но нужно подключить ещё и RESET контроллера к nRST SWD а в настройках ST-link Utils указать connect after reset
И нет проблем! ;) 8-)

P.S. Ну вот - идущих следом предупредили об очередных граблях! 8-)

Автор:  Alexies [ 18 июн 2015, 18:29 ]
Заголовок сообщения:  Re: Система Caustic

Pingvin писал(а):
Не совсем так!
"Оживил" без UART.
Но нужно подключить ещё и RESET контроллера к nRST SWD а в настройках ST-link Utils указать connect after reset
И нет проблем! ;) 8-)

P.S. Ну вот - идущих следом предупредили об очередных граблях! 8-)


Не знаю, в чем магия: я это пробовал, не помогало!

Самое интересное - я нигде так и не нашел в интернете толковой инфы по этому поводу.
Такие вот кодогенераторы были злом во все времена.
Я ещё пару багов/неточностей нашел. Например, в сгенерированном проекте из основного таска нельзя читать файлы, если активен _FS_REENTRANT, в стартовом примере тупо стека в 128b не хватает. Или в коде инициализации ножек для работы с SDIO - генератор "забыл" задать значение поля GPIO_InitStruct.Pull, что вызывает ассерт в HAL_GPIO_Init, хотя и работает. Почему бы не сделать так, чтобы оно работало из коробки... Сырая пока штука, этот CubeMX.

Автор:  Pingvin [ 18 июн 2015, 18:58 ]
Заголовок сообщения:  Re: Система Caustic

Alexies писал(а):
Pingvin писал(а):
Не совсем так!
"Оживил" без UART.
Но нужно подключить ещё и RESET контроллера к nRST SWD а в настройках ST-link Utils указать connect after reset
И нет проблем! ;) 8-)

P.S. Ну вот - идущих следом предупредили об очередных граблях! 8-)


Не знаю, в чем магия: я это пробовал, не помогало!

Самое интересное - я нигде так и не нашел в интернете толковой инфы по этому поводу.
Такие вот кодогенераторы были злом во все времена.
Я ещё пару багов/неточностей нашел. Например, в сгенерированном проекте из основного таска нельзя читать файлы, если активен _FS_REENTRANT, в стартовом примере тупо стека в 128b не хватает. Или в коде инициализации ножек для работы с SDIO - генератор "забыл" задать значение поля GPIO_InitStruct.Pull, что вызывает ассерт в HAL_GPIO_Init, хотя и работает. Почему бы не сделать так, чтобы оно работало из коробки... Сырая пока штука, этот CubeMX.

Ценный опыт. Надо где то зафиксировать.


Я сделал так - припаял к ножке RESET контроллера проводок и подключил к 5-ой ножке разъёма SWD на моей доске разработчика - это nRESET.
Затем нужно указать либо в STMLink-utils либо в Кейле в настройках программатора - соединяться после сброса.
Камень после этого видится и шьётся.

Автор:  Alexies [ 20 июн 2015, 22:24 ]
Заголовок сообщения:  Re: Система Caustic

Сегодня для Caustic случился, можно сказать, исторический момент. У нас была игра, и в боевых условиях испытал свою систему. Она работает, здесь, прямо сейчас. Не в будущем, не в теории, не в комнате, а в "бевых" условиях.
Играл с Caustic в корпусе Хищника. Остальные игроки - LSD. Никаких сбоев в процессе, всё стабильно. Ничего не падало, не отключалось, не зависало. Играл с ним где-то 30 мин.

Играл с ним не всю игру, т.к. то-ли луч существенно уже, то-ли я слишком мало току дал, с расстояния >40м попадать очень трудно по сравнению с LSD-шнуми девайсам. Но это, само собой, не имеет отношения к электронике.

Обнаружил интересную особенность: мой пульт может респавнить как Caustic, так и LSD. А аптечка от LSD мою систему не респавнит. Очевидно, что у них как-то не совсем стандартно аптечка работает.
Видео записал, в ближайшее время выложу!

Автор:  zverev.perm [ 20 июн 2015, 22:36 ]
Заголовок сообщения:  Re: Система Caustic

ну ЛСД всегда "славилась" гигантским пятном))

Автор:  Alexies [ 20 июн 2015, 22:51 ]
Заголовок сообщения:  Re: Система Caustic

zverev.perm писал(а):
ну ЛСД всегда "славилась" гигантским пятном))


Не хотелось вдаваться в детали, но тут, я думаю, дело не в этом. В данном случае я не могу попасть в стоящего человека с 50м. С пулевой стрельбой аналогичной проблемы не наблюдается :) Так что это косяк моей оптики. Хотя пятно, согласен, у них не маленькое )

Автор:  mmapooh [ 21 июн 2015, 01:22 ]
Заголовок сообщения:  Re: Система Caustic

Pingvin писал(а):
Обнаружил интересную особенность: мой пульт может респавнить как Caustic, так и LSD. А аптечка от LSD мою систему не респавнит. Очевидно, что у них как-то не совсем стандартно аптечка работает.
Видео записал, в ближайшее время выложу!


в протоколе маилс есть несколько каманд для старта, одна это - новая игра другая - оживить игрока, эффект как бы один оживление, но одно если не ошибаюсь обнуляет все таймеры игровые и очки а другая просто оживляет... есть еще комманда с отсроченым стартом(вроде или это функция у новой игры не помню)

Автор:  Pacifist [ 21 июн 2015, 01:41 ]
Заголовок сообщения:  Re: Система Caustic

Ага, Джим там намутил разных команд : старт с задержкой, старт немедленно, приготовиться к старту (до сих пор не могу понять для чего оно :)) и еще Воскрешение. Запутал в общем всех, теперь производители не в курсе что использовать для совместимости ;)

0x02 Start Game Starts a new game with the start delay active
0x04 Respawn Respawn a dead player
0x05 Immediate new game Start a new game, ignoring the start delay
0x0С New game (ready) Prepares taggers for the 0x02 start game command.

Автор:  remik2010 [ 22 июн 2015, 20:29 ]
Заголовок сообщения:  Re: Система Caustic

Pacifist писал(а):
Ага, Джим там намутил разных команд : старт с задержкой, старт немедленно, приготовиться к старту (до сих пор не могу понять для чего оно :)) и еще Воскрешение. Запутал в общем всех, теперь производители не в курсе что использовать для совместимости ;)

0x02 Start Game Starts a new game with the start delay active
0x04 Respawn Respawn a dead player
0x05 Immediate new game Start a new game, ignoring the start delay
0x0С New game (ready) Prepares taggers for the 0x02 start game command.


Ох уж этот Джим, на самом деле у него очень логично всё устроено для статистики, но в игре врят ли кто-то будет использовать команды задержка до старта и т.п.

Страница 25 из 108 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/