www.open-tager.ru

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

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


Реклама

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


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



Начать новую тему Ответить на тему  [ Сообщений: 5319 ]  На страницу Пред.  1 ... 312, 313, 314, 315, 316, 317, 318 ... 532  След.
Автор Сообщение
 Заголовок сообщения: Re: LTAscetik
СообщениеДобавлено: 26 сен 2013, 20:51 
Не в сети
Местный
Аватар пользователя

Зарегистрирован: 13 ноя 2012, 19:51
Сообщений: 339
Откуда: токмак
Урон 1 % фиксирует


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

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


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

Зарегистрирован: 16 окт 2012, 15:55
Сообщений: 324
Пока писал,уже почти ответили)
Там явно по питанию модуляция идёт какая-то.ТСОПы на ебее видел такие.Поищи.Там и даташиты найдёшь.


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

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Вот тут можно добавить банальную проверку количества принятых бит.
Код:
ISR(TIMER2_COMP_vect){
timer1++;
volatile uint8_t prt;


prt = TSOP_IN&TSOP_PIN;
if (prt==0) //На ножке ИК-приемника низкий уровень сигнала (пойман сигнал несущей)
   {
   //   PORTA &= ~(1 << 0); //включаем вспомогательный светодиод
      low_level_counter++;//Увеличиваем счетчик длительности низкоуровнего сигнала на ножке ИК-приемника
      if (chit_detected_counter < (IR_ZERO*1000)) chit_detected_counter++;
      if (chit_detected_counter >= (IR_ZERO*1000)) chit_detected=true;

   }
else  //На ножке ИК-приемника высокий уровень сигнала (пойман сигнал несущей)
   {
   //   PORTA |=(1<<0);   //выключаем вспомогательный светодиод
      chit_detected_counter = 0;
      if (chit_detected) chit_detected=false;
      high_level_counter++;///Увеличиваем счетчик длительности высокоуровнего сигнала на ножке ИК-приемника
      if((start_bit_received)&&(high_level_counter > IR_ZERO*8))
      {//Фиксируем окончание приема по таймауту
         start_bit_received   = false;    //отменяем прием
         rx_event = RX_COMPLETE;         //Генерим событие "принят пакет"      
      }
   

В "выстреле" их 14.
Вроде в последующих прошивках я такую проверку добавлял.

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


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

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

Логично!
Старт-бит принят, зафиксирован таймаут (конец приема), а количество принятых бит никто не проверил. :oops:
А вместо принятых бит - нули (или предыдущее значение, если буфер не обнуляется), вот и урон 1%
Исправим.

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


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

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
В прошивке 3.1 этот баг пофиксен
Код:
   if((start_bit_received)&&(high_level_counter > IR_ZERO*8)/*&&(bit_in_rx_buff>=13)*/)
      {//Фиксируем окончание приема по таймауту
         start_bit_received   = false;    //отменяем прием
         if (bit_in_rx_buff>=13) rx_event = RX_COMPLETE;         //Генерим событие "принят пакет"
         else rx_event = RX_ERROR;         //генерируем событие - "ошибка приёма"

         receiver_on = false;//выключаем приемник
         if (ir_transmitter_on==false) TIMSK &=~_BV(OCIE2); //если передача не ведётся - выключаем прерывания
      }

Надо добавить пару сток
Код:
if (bit_in_rx_buff>=13) rx_event = RX_COMPLETE;         //Генерим событие "принят пакет"
         else rx_event = RX_ERROR;         //генерируем событие - "ошибка приёма"



То есть для 3 версии должно быть так
Код:
ISR(TIMER2_COMP_vect){
timer1++;
volatile uint8_t prt;


prt = TSOP_IN&TSOP_PIN;
if (prt==0) //На ножке ИК-приемника низкий уровень сигнала (пойман сигнал несущей)
   {
   //   PORTA &= ~(1 << 0); //включаем вспомогательный светодиод
      low_level_counter++;//Увеличиваем счетчик длительности низкоуровнего сигнала на ножке ИК-приемника
      if (chit_detected_counter < (IR_ZERO*1000)) chit_detected_counter++;
      if (chit_detected_counter >= (IR_ZERO*1000)) chit_detected=true;

   }
else  //На ножке ИК-приемника высокий уровень сигнала (пойман сигнал несущей)
   {
   //   PORTA |=(1<<0);   //выключаем вспомогательный светодиод
      chit_detected_counter = 0;
      if (chit_detected) chit_detected=false;
      high_level_counter++;///Увеличиваем счетчик длительности высокоуровнего сигнала на ножке ИК-приемника
      if((start_bit_received)&&(high_level_counter > IR_ZERO*8))
      {//Фиксируем окончание приема по таймауту
         start_bit_received   = false;    //отменяем прием

         if (bit_in_rx_buff>=13) rx_event = RX_COMPLETE;         //Генерим событие "принят пакет"
         else rx_event = RX_ERROR;         //генерируем событие - "ошибка приёма"     
      }
   

Попробуйте.
Не получится - сам сделаю.
И спасибо за помощь в ловле багов!

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


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

Зарегистрирован: 13 ноя 2012, 19:51
Сообщений: 339
Откуда: токмак
Только что проверил. С прошивкой та которая на гитхабе 3,0
Если на тагере 100%, в тагер не разу не стреляли. Засветов нет!
Если в тагер стреляешь и наносишь урон 2%. Все засветы наносят урон 2%.
Если выставляешь урон 10%. Стреляешь с тагера наносишь урон 10%. Все остальные засветы наносят тоже 10%. Видать значени с буфера попадает


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

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Nestr писал(а):
Только что проверил. С прошивкой та которая на гитхабе 3,0
Если на тагере 100%, в тагер не разу не стреляли. Засветов нет!
Если в тагер стреляешь и наносишь урон 2%. Все засветы наносят урон 2%.
Если выставляешь урон 10%. Стреляешь с тагера наносишь урон 10%. Все остальные засветы наносят тоже 10%. Видать значени с буфера попадает

Все верно!
Лекарство в постах, что выше!

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


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

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

Поставил функцию "в помещение" и в квартире войну немного устроил.
Рикошеты очень сильные, понимаю что в квартире много лакированых и зеркальных поверхностей, но в помещение играть видать не получится.
На улице рикошетов не было тагер работал отлично.
Дело еще наверно в тубусе наверно.
пластмассовая линза с фонарика. Тубус сделан из фонарика.


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

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

Поставил функцию "в помещение" и в квартире войну немного устроил.
Рикошеты очень сильные, понимаю что в квартире много лакированых и зеркальных поверхностей, но в помещение играть видать не получится.
На улице рикошетов не было тагер работал отлично.
Дело еще наверно в тубусе наверно.
пластмассовая линза с фонарика. Тубус сделан из фонарика.


Сейчас так
Цитата:
if((start_bit_received)&&(high_level_counter > IR_ZERO*8))
{//Фиксируем окончание приема по таймауту
start_bit_received = false; //отменяем прием

rx_event = RX_COMPLETE; //Генерим событие "принят пакет"
}



А надо, чтобы было так
Цитата:
if((start_bit_received)&&(high_level_counter > IR_ZERO*8))
{//Фиксируем окончание приема по таймауту
start_bit_received = false; //отменяем прием

if (bit_in_rx_buff>=13) rx_event = RX_COMPLETE; //Генерим событие "принят пакет"
else rx_event = RX_ERROR; //генерируем событие - "ошибка приёма"

}


Увеличте сопротивление в коллекторе полевика, что зацеплен на LOW_IR_POWER

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


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 5319 ]  На страницу Пред.  1 ... 312, 313, 314, 315, 316, 317, 318 ... 532  След.

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


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

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


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

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