www.open-tager.ru

открытый лазертаг форум
Текущее время: 20 апр 2024, 16:07

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


Реклама

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


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



Начать новую тему Ответить на тему  [ Сообщений: 5319 ]  На страницу Пред.  1 ... 371, 372, 373, 374, 375, 376, 377 ... 532  След.
Автор Сообщение
 Заголовок сообщения: Re: LTAscetik
СообщениеДобавлено: 10 июл 2014, 15:48 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Sabbah писал(а):
Nestr уже писал, но ответа я так и не увидел, я запнулся как на таге реализовать старт игры по центр кнопке или командой с пульта. Просто я насколько понял никакого приема через датчики нет пока не активируешь таг. Как можно это реализовать?

Добавит в цикл ожидания while проверку события rx_event

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


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTAscetik
СообщениеДобавлено: 10 июл 2014, 15:50 
Не в сети
Местный

Зарегистрирован: 21 фев 2013, 19:18
Сообщений: 417
Откуда: Украина
Pingvin писал(а):
Sabbah писал(а):
Nestr уже писал, но ответа я так и не увидел, я запнулся как на таге реализовать старт игры по центр кнопке или командой с пульта. Просто я насколько понял никакого приема через датчики нет пока не активируешь таг. Как можно это реализовать?

Добавит в цикл ожидания while проверку события rx_event

Прошу прощения, но ткни меня куда именно его добавить в коде.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTAscetik
СообщениеДобавлено: 10 июл 2014, 16:05 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
функция invite();

Цитата:
void invite(){ //ïðèãëàøåíèå â ìåíþ íàñòðîåê

volatile uint8_t countdown = 5; //ñ÷¸ò÷èê îáðàòíîãî îòñ÷¸òà

lcd_clrscr();
lcd_home();
if ((eeprom_read_byte(&eeprom_tm_serial_num.device_code)==0)||(eeprom_read_byte(&eeprom_tm_serial_num.device_code)==0xFF))
/* åñëè êëþ÷ åù¸ íå çàïèñàí*/
{//[if]
joystick_event = no_pressing;
lcd_puts("Çàïèñü êëþ÷à ÒÌ");
lcd_gotoxy(0, 1);
lcd_puts("Öåíòð.êí.-îòìåíà");
//timer1 = 0;
while ((joystick_event!=key_central_pressing)&&(eeprom_read_byte(&eeprom_tm_serial_num.device_code)==0)||(eeprom_read_byte(&eeprom_tm_serial_num.device_code)==0xFF)) //ïîêà íå íàæàòà öåíòðàëüíàÿ êíîïêà èëè íå çàïèñàí êëþ÷
{//[while]

]while ((cr_received==false)&&(joystick_event==no_pressing)&&(tm_event == no_tm_event)){};
if (cr_received)
{
parsing_command();


}
switch(tm_event)
{//[switch]
case no_tm_event:
{

}
break;

case tm_crc_error:
{
lcd_clrscr();
lcd_home();
lcd_puts("Îøèáêà CRC");
timer2 = 0;
while (timer2 < 6000){};
lcd_clrscr();
lcd_home();
lcd_puts("Çàïèñü êëþ÷à ÒÌ");
lcd_gotoxy(0, 1);
lcd_puts("Öåíòð.êí.-îòìåíà");
tm_event=no_tm_event;
}
break;

case tm_crc_ok:
{


eeprom_write_byte(&eeprom_tm_serial_num.device_code,device_code);
for (int i = 0; i<6; i++ )
{
eeprom_write_byte(&eeprom_tm_serial_num.serial[i],tm_code[i]);
}
lcd_clrscr();
lcd_home();
lcd_puts("Êëþ÷ ÒÌ çàïèñàí!");
timer2 = 0;
while (timer2 < 6000){};
tm_event=no_tm_event;

}

break;

}//[/switch]
if (joystick_event==key_central_pressing)
break;

if (joystick_event!=key_central_pressing) joystick_event = no_pressing;

};//[/while]

if (joystick_event==key_central_pressing)
/*åñëè âûøëè ïî íàæàòèþ öåíòðàëüíîé êíîïêè*/
{
joystick_event = no_pressing;
lcd_clrscr();
lcd_home();

lcd_puts("Äëÿ íàñòðîåê æìè\nöåíòð. êíîïêó 5");
//lcd_puts("Âïðàâî");
while ((countdown > 0)&&(joystick_event==no_pressing))//ïîêà íå êîí÷èòüñÿ îáðàòíûé îòñ÷¸ò èëè íå íàæìóí êíîïêó äæîéñòèêà
{
timer2 = 0;
while ((timer2 < 6000)&&(joystick_event==no_pressing)){};
if (joystick_event!=no_pressing) break; //åñëè íàæàòà êíîïêà, âûõîäèì èç öèêëà
lcd_gotoxy(14, 1);
countdown--;
lcd_puts(int_to_str(countdown,0));
}

if (joystick_event==key_central_pressing)
{

get_all_setings();
/*
get_int_settings("Èäåíò. èãðîêà:", &eeprom_player_id, 127); //íàæàòà öåíòðàëüíàÿ êíîïêà
set_player_id(eeprom_read_byte(&eeprom_player_id)); //Óñòàíàâëèâàåì èäåíòèôèêàòîð èãðîêà
get_int_settings("Èäåíò. êîìàíäû:", &eeprom_team_id, 3); //íàæàòà öåíòðàëüíàÿ êíîïêà
set_team_color(team_id()); //Óñòàíàâëèâàåì èäåíòèôèêàòîð (öâåò) êîìàíäû
get_enum_settings("Íàíîñèìûé óðîí:", &eeprom_damage, &damage_value, Damage_100);
set_gun_damage(gun_damage()); //Óñòàíàâëèâàåì ìîùüíîñòü îðóæèÿ (óðîí)
get_int_settings("Åìêîñòü ìàãàçèíà:", &eeprom_bullets_in_clip, 90); //íàæàòà öåíòðàëüíàÿ êíîïêà
get_int_settings("Ìàãàçèíîâ:", &eeprom_clips, 90);
get_int_settings("Âðåìÿ ïåðåçàðÿäà:", &eeprom_reload_duration, 8);
*/
// return;
}
}


// bullets = eeprom_read_byte(&eeprom_bullets_in_clip);
// BULLETS_OUT_LED_OFF;
bullets = 0;
BULLETS_OUT_LED_ON;

clips = eeprom_read_byte(&eeprom_clips);
joystick_event=no_pressing;
keyboard_event=no_key_pressing;
tm_event=no_tm_event;



Вот
while ((joystick_event!=key_central_pressing)&&(eeprom_read_byte(&eeprom_tm_serial_num.device_code)==0)||(eeprom_read_byte(&eeprom_tm_serial_num.device_code)==0xFF))

Ждем нажатия центральной кнопки

А тут
while ((cr_received==false)&&(joystick_event==no_pressing)&&(tm_event == no_tm_event))

Программа тут остановиться и не пойдет дальше, пока выполняются условия в скобках
То есть пока не принята строка в UART либо не нажата кнопка джойстика либо тачмемори не присоединен.
А дальше выясняем - какое из перечисленных условий нарушено, то есть какое из событий наступило и соответственно реагируем

Надо добавить еще - пока сообщение (команда пульта) не получено

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


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTAscetik
СообщениеДобавлено: 10 июл 2014, 16:25 
Не в сети
Аксакал форума
Аватар пользователя

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

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


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTAscetik
СообщениеДобавлено: 10 июл 2014, 17:25 
Не в сети
Местный
Аватар пользователя

Зарегистрирован: 13 ноя 2012, 19:51
Сообщений: 339
Откуда: токмак
Sabbah вы подружили пульт с тагом? таг принимает команды?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTAscetik
СообщениеДобавлено: 10 июл 2014, 17:31 
Не в сети
Местный

Зарегистрирован: 21 фев 2013, 19:18
Сообщений: 417
Откуда: Украина
Nestr писал(а):
Sabbah вы подружили пульт с тагом? таг принимает команды?

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


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTAscetik
СообщениеДобавлено: 11 июл 2014, 06:53 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
На основе этой прошивки буду делать базовую.
Оказывается - она с блютус работает!
Я и забыл, так что почти все готово (какая же я умничка), осталось научить пульт понимать.
Работы совсем немного. :)
Может за сегодня успею.

Можете тренироваться на ней, но пока у вас нет блютус модулей, чтобы античит вам мозг не сношал, посадите вывод state, что на разъёме BT/RS232 через резистор (100 К, можно и 10 К) на землю.
Если не хотите резистор ставить, тогда исправьте исходники в файле isr.c
/**************************************************************************************
* Обработчик внещних прерываний timer1A
***************************************************************************************/

ISR(TIMER1_COMPA_vect){

...................



if((!(TSOP_IN&TSOP_PIN))&&(!(BT_STATE_IN&BT_STATE_PIN)))//если на входе INT0 низкий уровень и нет блютус соединения
{
if (chit_detected_counter < (4000)) chit_detected_counter++;
if (chit_detected_counter >= (4000)) chit_detected=true;

}
..........



Надо сделать так
if((!(TSOP_IN&TSOP_PIN))/*&&(!(BT_STATE_IN&BT_STATE_PIN))*/)//если на входе INT0 низкий

тогда античит не будет проверять, есть ли блютус соединение


Вложения:
LTAscet_3_1_blue_LCD8x2_wo_joystik_new_ir_tx_algoritm_110714.zip [371.09 KiB]
Скачиваний: 189

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!
Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTAscetik
СообщениеДобавлено: 11 июл 2014, 09:16 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Ловите, черти! :)
Эта прошива понимает команду "старт игры", не просит нажать центральную кнопку джойстика (вместо неё - перезарядка).
Пока команды ловит только с проводной повязки.
После отпуска добью блютус.
Не забывайте про античит - поставьте резистор, или исправьте исходники (см. выше).
И частоту несущей проверьте.
Прошивка на 56 000 сейчас настроена.
И обязательно, ОБЯЗЯТЕЛЬНО залейте шестой звук.
Иначе фигня будет.


Вложения:
LTAscet_3_1_BT_LCD8x2_wo_joistik_new_ir_tx_algoritm_RC.zip [376.18 KiB]
Скачиваний: 188

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!
Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTAscetik
СообщениеДобавлено: 11 июл 2014, 09:27 
Не в сети
Местный
Аватар пользователя

Зарегистрирован: 13 ноя 2012, 19:51
Сообщений: 339
Откуда: токмак
Pingvin, вот так порадовал! Преступаю к тесту.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTAscetik
СообщениеДобавлено: 11 июл 2014, 10:14 
Не в сети
Местный
Аватар пользователя

Зарегистрирован: 13 ноя 2012, 19:51
Сообщений: 339
Откуда: токмак
Из первых наблюдений сразу что заметил.
аларм не срабатывает вопще. резистор я не под паивал аларм не сработал. отключил повязку аларм не сработал.
Тагер понимает "старт игра". патроны востанавлевает на 100 проц. жизни пока не проверил нечем стрельнуть в таг.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 5319 ]  На страницу Пред.  1 ... 371, 372, 373, 374, 375, 376, 377 ... 532  След.

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


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

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


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

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