www.open-tager.ru http://www.open-tager.ru/forum/ |
|
"Аскет" - пульт http://www.open-tager.ru/forum/viewtopic.php?f=5&t=2058 |
Страница 12 из 33 |
Автор: | Pingvin [ 31 окт 2013, 12:07 ] |
Заголовок сообщения: | Re: "Аскет" - пульт |
Sabbah писал(а): Набросал схему пульта, правильно ли я все сделал? Вопрос на какую ногу выводить ИК диод (просто понятия пока не имею как менять в прошивке вывод на нужную ногу)? Еще вопрос, можно показать один пример какие изменения в прошиве тага производятся при приеме команды с пульта респаун к примеру? Вложение: Ascet_3_1_pult_scheme.jpg Сойдет, но вместо светодиодов повязки можно бузер зацепить, к примеру, а Вы викинули. Да туда же и выводить. При смене команд прошивку менять не придется. Все будет через конфигуратор. За любой кнопкой можно будет закрепить любую команду. А в таге - вроде приводил уже! Будет свич, в котором будут идентифицироваться команды и вызываться соответствующие обработчики. А уж как обрабатывать команды - тут ХЗ! У людей поспрашивать надо. |
Автор: | Sabbah [ 31 окт 2013, 12:26 ] |
Заголовок сообщения: | Re: "Аскет" - пульт |
Pingvin писал(а): Вот шаблон Код: switch(joystick_event) { case key_up_pressing: { if (fire_mode()==queues)//если "Shift" нажат { } else //"Shift" не нажат { send_message(ID_Command, Command_ImmediateNewGame); } joystick_event = no_pressing; } break; case key_right_pressing: { if (fire_mode()==queues)//если "Shift" нажат { } else //"Shift" не нажат { } joystick_event = no_pressing; } break; case key_down_pressing: { if (fire_mode()==queues)//если "Shift" нажат { } else //"Shift" не нажат { } joystick_event = no_pressing; } break; case key_left_pressing: { if (fire_mode()==queues)//если "Shift" нажат { } else //"Shift" не нажат { } joystick_event = no_pressing; } break; case key_central_pressing: { if (fire_mode()==queues)//если "Shift" нажат { } else //"Shift" не нажат { send_message(ID_Add_Health, 10); } joystick_event = no_pressing; } break; default: joystick_event = no_pressing; } У меня определено Код: #define ID_Add_Health 0x80 //сообщение добавить жизни #define ID_Add_Rounds 0x81 //сообщение добавить патронов #define ID_Command 0x83 //сообщение-команда #define Control_Byte 0xE8 //корректное значение контрольного байта сообщения #define Command_ImmediateNewGame 0x05 //командв "новая игра" Поэтому Код: send_message(ID_Command, Command_ImmediateNewGame); равносильно Код: send_message(0x83, 0x05 ); Все коды команд описаны в протоколе. http://www.open-tag.ru/forum/download/file.php?id=2300 Данный код приведен для пульта и я вроди все понял, а вот как реализуется прием и выполнение на таге не помню, чтобы выкладывали. В своей прошивке под 3.0 уже внес изменения алгоритма передачи как и у вас. Вы както заставили таг ожить при подаче сигнала респаун, вот и интересно как это сделано, просто нужен хоть один пример для того, чтобы уже ковырять дальше самому. |
Автор: | Pingvin [ 31 окт 2013, 13:34 ] |
Заголовок сообщения: | Re: "Аскет" - пульт |
Вот тут обсуждалось. http://www.open-tag.ru/forum/viewtopic.php?f=5&t=2178 Правде не совсем точно, когда писал не знал все тонкости! Извиняюсь - весь в мыле, не было времени совсем. Но вроде закончили, займусь пультом все выложу. |
Автор: | Pingvin [ 16 дек 2013, 14:08 ] |
Заголовок сообщения: | Re: "Аскет" - пульт |
Пультик сварганил (железо). Завтра начну прошивку ковырять уже конкретно. |
Автор: | Sabbah [ 16 дек 2013, 16:40 ] |
Заголовок сообщения: | Re: "Аскет" - пульт |
Кулл, а можешь схему показать или фотку платы, хочу провериться. |
Автор: | Pingvin [ 16 дек 2013, 17:52 ] |
Заголовок сообщения: | Re: "Аскет" - пульт |
Sabbah писал(а): Кулл, а можешь схему показать или фотку платы, хочу провериться. Схема точно та же. Просто оформил как пульт. |
Автор: | Pingvin [ 17 дек 2013, 09:25 ] |
Заголовок сообщения: | Re: "Аскет" - пульт |
Sabbah - понял, почему у тебя прошивка пульта не работала. Сейчас ковырять начал - том жать надо было клавишу UP джойстика. При нажатом fire_mode пуляет "New Game", при не нажатом "Admin kill". Ща ИК припаяю и провербю на LW платке. Потерпи немного - скоро выложу альфа версию. P.S. Проверил на LW плате - работает. P.S.S. Не могу долго кодить. Сегодня у окулиста был, зрачки расширели, бошка болеть начинает. |
Автор: | Sabbah [ 17 дек 2013, 11:29 ] |
Заголовок сообщения: | Re: "Аскет" - пульт |
Ясно, спасибо, жду |
Автор: | Pingvin [ 17 дек 2013, 12:09 ] |
Заголовок сообщения: | Re: "Аскет" - пульт |
Как же, цуко, удобно наращивать функционал, когда "скелет" системы удачно реализован. Одно удовольствие! Реально работы на день. И в основном - копи/паста. Как то надо автомтизировать процесс написания однотипных функций и переменных. Прекомпилятор должен это позволять. С конфигуратором поболе придется повозиться. Это из оперы - сам себя не похвалишь... А с пультом реально удобно - оценил! |
Автор: | Pingvin [ 17 дек 2013, 14:01 ] |
Заголовок сообщения: | Re: "Аскет" - пульт |
Рабочий день закончился. Чуть чуть не добил. Надо придумать дефалтовые настройки. Ими же инициализировать пульт сразу после прошивки. |
Страница 12 из 33 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |