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

"Аскет" - пульт
http://www.open-tager.ru/forum/viewtopic.php?f=5&t=2058
Страница 15 из 33

Автор:  Pacifist [ 18 дек 2013, 18:44 ]
Заголовок сообщения:  Re: "Аскет" - пульт

Pingvin писал(а):
Pacifist писал(а):
Цитата:
0xA9 Сменить цвет 0 - 3 цвет команды

если я правильно понял, то
A900E8 - сменить цвет на красный
A901E8 - сменить цвет на синий
A902E8 - сменить цвет на желтый
A903E8 - сменить цвет на зеленый


А это откуда?
Вроде в описании протокола такого не видел (что то не припомню).
Сейчас еще гляну.
Или это расширение протокола от LW?

Да, из описания расширений протокола ЛВ http://laserwar.ru/index.php?do=static& ... l_laserwar

Автор:  Pingvin [ 19 дек 2013, 08:53 ]
Заголовок сообщения:  Re: "Аскет" - пульт

Ну вот что вырисовывается, поправляйте, если чего не так.

За шифтом прячем

шифт+кнопка "Вверх" - сменить цвет команды на "Красный" (0xA900E8)
шифт+кнопка "Вправо" - сменить цвет команды на "Синий" (0xA901E8)
шифт+кнопка "Вниз" - сменить цвет команды на "Желтый" (0xA902E8 )
шифт+кнопка "Влево" - сменить цвет команды на "Зелёный" (0xA903E8)
шифт+кнопка "Центральная" - переключение мощности ИК излучения Улица/Помещение (0x830EE8)


Без шифта

кнопка "Вверх" - старт игры (0x8305E8)
кнопка "Вниз" - вырубить игрока (0x8300E8)
кнопка "Центральная" - полная "Жизнь" (0x830DE8)
кнопка "Влево" - полный запас патронов и обойм (0x8306E8)
кнопка "Вправо" - удвоение жизни (0x8310E8)? или обезоруживание сделать?

Замечания, поправки, предложения?

Автор:  Pingvin [ 19 дек 2013, 10:11 ]
Заголовок сообщения:  Re: "Аскет" - пульт

Пока сделал так
Код:
//miles протокол идентификаторы сообщения
#define ID_Add_Health          0x80 //сообщение добавить жизни
#define ID_Add_Rounds          0x81 //сообщение добавить патронов
#define ID_Command             0x83 //сообщение-команда
#define ID_Clips_Pickup       0x8A //сообщение
#define ID_Health_Pickup       0x8B
#define ID_Flag_Pickup         0x8C

//LW дополнительные идентификаторы сообщения
#define ID_Radiation          0xA0
#define ID_Anomaly             0xA1
#define ID_Presetting          0xA8
#define ID_Change_Color         0xA9
#define ID_Play_Sound         0xAA


//miles команды
#define Command_ImmediateNewGame    0x05 //команда "новая игра"
#define Command_Admin_Kill          0x00 //команда "выключения" игрока
#define Command_Full_Health         0x0D //жизни - 100%
#define Command_Full_Ammo         0x06 //полные патроны

//LW дополнительные команды

#define Command_IR_Power_Change      0x0E
#define Command_Health_Double       0x10

//контрольный байт
#define Control_Byte             0xE8 //корректное значение контрольного байта сообщения



Код:
void pult_reset_to_defaul(void){//устанавливаем команды для кнопок пульта по умолчанию

tcommand_union cmd_union_tmp;

cmd_union_tmp.message.ID = ID_Change_Color;
cmd_union_tmp.message.DATA = 0x00; //Red
eeprom_write_byte(&pult_shift_and_key_up_command, cmd_union_tmp.raw); //shift+key_UP

cmd_union_tmp.message.DATA = 0x01; //Blue
eeprom_write_byte(&pult_shift_and_key_right_command, cmd_union_tmp.raw); //shift+key_RIGHT

cmd_union_tmp.message.DATA = 0x02; //Yellow
eeprom_write_byte(&pult_shift_and_key_down_command, cmd_union_tmp.raw); //shift+key_DOWN

cmd_union_tmp.message.DATA = 0x03; //Green
eeprom_write_byte(&pult_shift_and_key_left_command, cmd_union_tmp.raw); //shift+key_LEFT

cmd_union_tmp.message.ID = ID_Command;
cmd_union_tmp.message.DATA = Command_IR_Power_Change;
eeprom_write_byte(&pult_shift_and_key_central_command, cmd_union_tmp.raw); //shift+key_CENTRAL переключение мощности ИК излучения улица/помещение

cmd_union_tmp.message.DATA = Command_ImmediateNewGame;
eeprom_write_byte(&pult_key_up_command, cmd_union_tmp.raw); //key_UP старт игры

cmd_union_tmp.message.DATA = Command_Admin_Kill;
eeprom_write_byte(&pult_key_down_command, cmd_union_tmp.raw); //key_DOWN Admin Kill

cmd_union_tmp.message.DATA = Command_Full_Health;
eeprom_write_byte(&pult_key_central_command, cmd_union_tmp.raw); //key_CENTRAL Full_Health
   
cmd_union_tmp.message.DATA = Command_Full_Ammo;
eeprom_write_byte(&pult_key_left_command, cmd_union_tmp.raw); //key_LEFT Full Ammo

cmd_union_tmp.message.DATA = Command_Health_Double ;
eeprom_write_byte(&pult_key_right_command, cmd_union_tmp.raw); //key_LEFT удвоть жизнь

}



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

Ща перепрошью, да пойду на "кошках" тренироваться. а "кошка" у меня пока одна - плата LW. ;) :)
Гляну, как взбрыкивать будет на те или иные команды.

Автор:  Pingvin [ 19 дек 2013, 11:34 ]
Заголовок сообщения:  Re: "Аскет" - пульт

А все команды LW плата понимает?
Верся, новерно, Lite.

А то что то на смену цвета команды "крякнула" - что это значит?
Старт игры нормально воспринимает.

Автор:  mail_robot [ 19 дек 2013, 12:18 ]
Заголовок сообщения:  Re: "Аскет" - пульт

на смену цвета она должна выдать короткий звучок секундомера и замигать повязкой как убитой. Стартует уже с новым цветом. Думаю нормальная реакция у вас была. Лайт от про отличается только наличием/отсутствием статы. Остальное все так же

если пульт с приемником то можно зашить в него функцию проверки цвета, текущего урона и ID. Бывает полезно

Автор:  Pingvin [ 19 дек 2013, 12:37 ]
Заголовок сообщения:  Re: "Аскет" - пульт

mail_robot писал(а):
на смену цвета она должна выдать короткий звучок секундомера и замигать повязкой как убитой. Стартует уже с новым цветом. Думаю нормальная реакция у вас была. Лайт от про отличается только наличием/отсутствием статы. Остальное все так же

если пульт с приемником то можно зашить в него функцию проверки цвета, текущего урона и ID. Бывает полезно

Нашел косяк!

Писать надо word, а не byte.

Ща поправлю.

Уже все зашито! ;) :)

Автор:  Pingvin [ 19 дек 2013, 13:07 ]
Заголовок сообщения:  Re: "Аскет" - пульт

Все пучком!
Быстрые кнопки работают.
Так же из терминала можно менять закрепленные за кнопками команды.

Ща видюшку подгоню. ;) :)

Автор:  Pingvin [ 19 дек 2013, 14:00 ]
Заголовок сообщения:  Re: "Аскет" - пульт

Тест прототипа.

Автор:  mail_robot [ 19 дек 2013, 14:03 ]
Заголовок сообщения:  Re: "Аскет" - пульт

неплохой девайс получился

Автор:  Pingvin [ 19 дек 2013, 14:25 ]
Заголовок сообщения:  Re: "Аскет" - пульт

mail_robot писал(а):
неплохой девайс получился

Из ваших то уст? :o
Да такое услышать? :shock:
Что случилось? :?

Вы мне просто шаблон взорвали!!! :lol:
Или у Вас его в клочья разорвало?

Девайс один и тот же - неоднократно Вами же обс..раемый.

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