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 И нет проблем! P.S. Ну вот - идущих следом предупредили об очередных граблях! |
Автор: | Alexies [ 18 июн 2015, 18:29 ] |
Заголовок сообщения: | Re: Система Caustic |
Pingvin писал(а): Не совсем так! "Оживил" без UART. Но нужно подключить ещё и RESET контроллера к nRST SWD а в настройках ST-link Utils указать connect after reset И нет проблем! P.S. Ну вот - идущих следом предупредили об очередных граблях! Не знаю, в чем магия: я это пробовал, не помогало! Самое интересное - я нигде так и не нашел в интернете толковой инфы по этому поводу. Такие вот кодогенераторы были злом во все времена. Я ещё пару багов/неточностей нашел. Например, в сгенерированном проекте из основного таска нельзя читать файлы, если активен _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 И нет проблем! P.S. Ну вот - идущих следом предупредили об очередных граблях! Не знаю, в чем магия: я это пробовал, не помогало! Самое интересное - я нигде так и не нашел в интернете толковой инфы по этому поводу. Такие вот кодогенераторы были злом во все времена. Я ещё пару багов/неточностей нашел. Например, в сгенерированном проекте из основного таска нельзя читать файлы, если активен _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/ |