www.open-tager.ru

открытый лазертаг форум
Текущее время: 25 апр 2024, 05:19

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


Реклама

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


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



Начать новую тему Ответить на тему  [ Сообщений: 5319 ]  На страницу Пред.  1 ... 408, 409, 410, 411, 412, 413, 414 ... 532  След.
Автор Сообщение
 Заголовок сообщения: Re: LTAscetik
СообщениеДобавлено: 09 ноя 2014, 19:30 
Не в сети
Местный

Зарегистрирован: 21 фев 2013, 19:18
Сообщений: 417
Откуда: Украина
По команде пульта сейчас выходит, а после нажатия центр кнопки ничего не происходит и пультом не оживает, что не так я вообще не пойму, помогите.
Код:
            while(!((ir_message.control_byte ==Valid_value)&&(ir_message.ID==Command)&&(ir_message.param==0x05)||(joystick_event==key_central_pressing)))//пока не получим команду "старт"
                              if (joystick_event==key_central_pressing)
                                          while(keypress_cntr < 5) //ставим если нажата центр кнопка
                                          // while(keypress_cntr < 20) //ставим если нажат курок
                                              {
                                 
                                            // switch (FIRE_KEY_IN&FIRE_KEY_PIN) //проверяем, нажат ли курок
                                             switch (CENTRAL_KEY_IN&CENTRAL_KEY_PIN) //проверяем, нажата ли центральная кнопка
                                               {
                                            case 0:  keypress_cntr++ ; break; //ставим если нажата центр кнопка
                                          case CENTRAL_KEY_PIN: keypress_cntr = 0; break; //ставим если нажата центральная кнопка
                                    // case FIRE_KEY_PIN: keypress_cntr = 0; break; //ставим если нажат курок
                                            default: keypress_cntr = 0;   
               }
                                   }
                                    }
                           
         //"оживаем" - начинаем новую игру                     
         if (simples_in_queue>1) //если звук выстрла воспроизводится


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

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Sabbah писал(а):
По команде пульта сейчас выходит, а после нажатия центр кнопки ничего не происходит и пультом не оживает, что не так я вообще не пойму, помогите.
Код:
            while(!((ir_message.control_byte ==Valid_value)&&(ir_message.ID==Command)&&(ir_message.param==0x05)||(joystick_event==key_central_pressing)))//пока не получим команду "старт"
                              if (joystick_event==key_central_pressing)
                                          while(keypress_cntr < 5) //ставим если нажата центр кнопка
                                          // while(keypress_cntr < 20) //ставим если нажат курок
                                              {
                                 
                                            // switch (FIRE_KEY_IN&FIRE_KEY_PIN) //проверяем, нажат ли курок
                                             switch (CENTRAL_KEY_IN&CENTRAL_KEY_PIN) //проверяем, нажата ли центральная кнопка
                                               {
                                            case 0:  keypress_cntr++ ; break; //ставим если нажата центр кнопка
                                          case CENTRAL_KEY_PIN: keypress_cntr = 0; break; //ставим если нажата центральная кнопка
                                    // case FIRE_KEY_PIN: keypress_cntr = 0; break; //ставим если нажат курок
                                            default: keypress_cntr = 0;   
               }
                                   }
                                    }
                           
         //"оживаем" - начинаем новую игру                     
         if (simples_in_queue>1) //если звук выстрла воспроизводится


Я же писал - убрать все проверки джойстика из цикла!
Вот это что за безобразие?!
Код:
if (joystick_event==key_central_pressing)
                                          while(keypress_cntr < 5) //ставим если нажата центр кнопка
                                          // while(keypress_cntr < 20) //ставим если нажат курок
                                              {
                                 
                                            // switch (FIRE_KEY_IN&FIRE_KEY_PIN) //проверяем, нажат ли курок
                                             switch (CENTRAL_KEY_IN&CENTRAL_KEY_PIN) //проверяем, нажата ли центральная кнопка
                                               {
                                            case 0:  keypress_cntr++ ; break; //ставим если нажата центр кнопка
                                          case CENTRAL_KEY_PIN: keypress_cntr = 0; break; //ставим если нажата центральная кнопка
                                    // case FIRE_KEY_PIN: keypress_cntr = 0; break; //ставим если нажат курок
                                            default: keypress_cntr = 0;   
               }


Найдите прошивку до изменений и измените только
while(!((ir_message.control_byte ==Valid_value)&&(ir_message.ID==Command)&&(ir_message.param==0x05)||(joystick_event==key_central_pressing)))//пока не получим команду "старт"

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


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

Зарегистрирован: 21 фев 2013, 19:18
Сообщений: 417
Откуда: Украина
Сорри не совсем все правильно понял изначально, потом дошло и пробовал так как тут, но теперь перестало срабатывать от пульта, от кнопки без проблем.
Код:
                              while(!((ir_message.control_byte ==Valid_value)&&(ir_message.ID==Command)&&(ir_message.param==0x05)||(joystick_event==key_central_pressing)))//ïîêà íå ïîëó÷èì êîìàíäó "ñòàðò"
                              {
                                 rx_event = NOT_EVENT;
                                 while((rxCount==0)&&(rx_event != RX_MESSAGE_COMPLITE))//ïîêà íåò íèêàêèõ êîìàíä ïóëüòà
                                 {
                                 /*   WOUND_LED_INVERT;
                                    USART_PutChar('1');
                                    timer2 = 0;
                                    while (timer2 < 1000);
                                    WOUND_LED_INVERT;
                                    timer2 = 0;
                                    while (timer2 < 1000);
*/
                                 }
                              
                           
                              if (rx_event == RX_MESSAGE_COMPLITE) ir_message = get_ir_message_from_buffer();//ïðèøëà êîìàíäà ïóëüòà, âûäåðãèâàåì çíà÷åíèÿ êîìàíäû èç áóôåðà ÈÊ ïðèåìíèêà   
                              else {
                                    
                                       if (rxCount>0) finde_message_in_bt_buffer();
                                    
                                    
                                   }   


Кстати поправил телерантность назад и стало нормально ловить сигнал


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

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Sabbah писал(а):
Сорри не совсем все правильно понял изначально, потом дошло и пробовал так как тут, но теперь перестало срабатывать от пульта, от кнопки без проблем.
Код:
                              while(!((ir_message.control_byte ==Valid_value)&&(ir_message.ID==Command)&&(ir_message.param==0x05)||(joystick_event==key_central_pressing)))//ïîêà íå ïîëó÷èì êîìàíäó "ñòàðò"
                              {
                                 rx_event = NOT_EVENT;
                                 while((rxCount==0)&&(rx_event != RX_MESSAGE_COMPLITE))//ïîêà íåò íèêàêèõ êîìàíä ïóëüòà
                                 {
                                 /*   WOUND_LED_INVERT;
                                    USART_PutChar('1');
                                    timer2 = 0;
                                    while (timer2 < 1000);
                                    WOUND_LED_INVERT;
                                    timer2 = 0;
                                    while (timer2 < 1000);
*/
                                 }
                              
                           
                              if (rx_event == RX_MESSAGE_COMPLITE) ir_message = get_ir_message_from_buffer();//ïðèøëà êîìàíäà ïóëüòà, âûäåðãèâàåì çíà÷åíèÿ êîìàíäû èç áóôåðà ÈÊ ïðèåìíèêà   
                              else {
                                    
                                       if (rxCount>0) finde_message_in_bt_buffer();
                                    
                                    
                                   }   


Кстати поправил телерантность назад и стало нормально ловить сигнал


Завтра поковыряю.

где то в скобках мы запутались, наверно.

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


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

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

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


Последний раз редактировалось Pingvin 10 ноя 2014, 09:36, всего редактировалось 3 раз(а).

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

Зарегистрирован: 11 июн 2012, 17:43
Сообщений: 402
Появилось стойкое желание удать чемнибудь тяжелым по говоле!

Код:
                     
                                 rx_event = NOT_EVENT;
                                 while((rxCount==0)&&(rx_event != RX_MESSAGE_COMPLITE))//ïîêà íåò íèêàêèõ êîìàíä ïóëüòà
                                 {
                                 /*   WOUND_LED_INVERT;
                                    USART_PutChar('1');
                                    timer2 = 0;
                                    while (timer2 < 1000);
                                    WOUND_LED_INVERT;
                                    timer2 = 0;
                                    while (timer2 < 1000);
*/
                                 }


Вот Вы тушку WHILE закомментили. Теперь в нем ничего не делается. А на нерезиновой атмеге будет, выполняться постоянно аж 2 операции сравнения! А они какбэ тяжеловесны...

Вот что должно было быть:
Код:
                     
                                 rx_event = NOT_EVENT;
                            /*     while((rxCount==0)&&(rx_event != RX_MESSAGE_COMPLITE))//ïîêà íåò íèêàêèõ êîìàíä ïóëüòà
                                 {
                                    WOUND_LED_INVERT;
                                    USART_PutChar('1');
                                    timer2 = 0;
                                    while (timer2 < 1000);
                                    WOUND_LED_INVERT;
                                    timer2 = 0;
                                    while (timer2 < 1000);
                                 }
*/

_________________
"Лучший пистолет - это автомат" (с) Управление «А» ЦСН ФСБ


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

Зарегистрирован: 11 июн 2012, 17:43
Сообщений: 402
Спасибо , Пингвин!

Вчера во вконтакт вбрасывали видео с БТ-конфигуратором для Аскета. Молодец(-цы)!

Про вторую, плату в повязке помню =)

_________________
"Лучший пистолет - это автомат" (с) Управление «А» ЦСН ФСБ


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

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
DanGion писал(а):
Появилось стойкое желание удать чемнибудь тяжелым по говоле!

Код:
                     
                                 rx_event = NOT_EVENT;
                                 while((rxCount==0)&&(rx_event != RX_MESSAGE_COMPLITE))//ïîêà íåò íèêàêèõ êîìàíä ïóëüòà
                                 {
                                 /*   WOUND_LED_INVERT;
                                    USART_PutChar('1');
                                    timer2 = 0;
                                    while (timer2 < 1000);
                                    WOUND_LED_INVERT;
                                    timer2 = 0;
                                    while (timer2 < 1000);
*/
                                 }


Вот Вы тушку WHILE закомментили. Теперь в нем ничего не делается. А на нерезиновой атмеге будет, выполняться постоянно аж 2 операции сравнения! А они какбэ тяжеловесны...

Вот что должно было быть:
Код:
                     
                                 rx_event = NOT_EVENT;
                            /*     while((rxCount==0)&&(rx_event != RX_MESSAGE_COMPLITE))//ïîêà íåò íèêàêèõ êîìàíä ïóëüòà
                                 {
                                    WOUND_LED_INVERT;
                                    USART_PutChar('1');
                                    timer2 = 0;
                                    while (timer2 < 1000);
                                    WOUND_LED_INVERT;
                                    timer2 = 0;
                                    while (timer2 < 1000);
                                 }
*/


Уже разобрались, спасибо!
Не будьте так суровы! ;) :)

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


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

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Стоп!
Код баганный - если не центральную нажать - висим глухо!
Ща поправлю...

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


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

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Вот 100% рабочий вариант
Цитата:
while(!(((ir_message.control_byte ==Valid_value)&&(ir_message.ID==Command)&&(ir_message.param==0x05))||(joystick_event == key_central_pressing)))//пока не получим команду "старт"
{//[while]
rx_event = NOT_EVENT;
while((rxCount==0)&&(rx_event != RX_MESSAGE_COMPLITE)&&(joystick_event == no_pressing))//пока нет никаких команд пульта
{//[while]
WOUND_LED_INVERT;
USART_PutChar('1');
timer2 = 0;
while (timer2 < 1000);
WOUND_LED_INVERT;
timer2 = 0;
while (timer2 < 1000);
}//[while]

if(joystick_event!=key_central_pressing)joystick_event = no_key_pressing;
if (rx_event == RX_MESSAGE_COMPLITE) ir_message = get_ir_message_from_buffer();//пришла команда пульта, выдергиваем значения команды из буфера ИК приемника
else //[else]
{
if (rxCount>0) finde_message_in_bt_buffer();
}//[else]
}//[while]



В прикрепленной прошивке толерантность чуток убавлена - хочу потестить.


Вложения:
LTAscetic_Atmega32_start_with_pult_and_joystick.zip [352.05 KiB]
Скачиваний: 224

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!
Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 5319 ]  На страницу Пред.  1 ... 408, 409, 410, 411, 412, 413, 414 ... 532  След.

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


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

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


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

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