www.open-tager.ru

открытый лазертаг форум
Текущее время: 29 мар 2024, 09:33

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


Реклама

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


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



Начать новую тему Ответить на тему  [ Сообщений: 359 ]  На страницу Пред.  1 ... 7, 8, 9, 10, 11, 12, 13 ... 36  След.
Автор Сообщение
 Заголовок сообщения: Re: прошивки на систему LTagKirov
СообщениеДобавлено: 10 дек 2012, 23:26 
Не в сети
Местный
Аватар пользователя

Зарегистрирован: 13 ноя 2012, 19:51
Сообщений: 339
Откуда: токмак
Вот что пишет новый проект

Изображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: прошивки на систему LTagKirov
СообщениеДобавлено: 11 дек 2012, 09:11 
Не в сети
Местный

Зарегистрирован: 13 июл 2011, 17:05
Сообщений: 475
Откуда: Perm
Nestr писал(а):
Установил с офф сайта 4,18 билд 684. все прекрасно дебажится.
но нажимая на кнопку "компилировать" (Alt+F7)
вылазит такое сообщение в поле Билд
если дебажится, то и прошивка значит нормально собирается. плюс build - это клавиша F7 (без альт), вроде. вечером на виртуалку с нуля поставлю всё, попробуем повторить то что происходит.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: прошивки на систему LTagKirov
СообщениеДобавлено: 11 дек 2012, 13:09 
Не в сети
Местный
Аватар пользователя

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


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: прошивки на систему LTagKirov
СообщениеДобавлено: 11 дек 2012, 20:01 
Не в сети
Местный

Зарегистрирован: 13 июл 2011, 17:05
Сообщений: 475
Откуда: Perm
Alt+F7 - компиляция текущего .c файла
F7 - сборка проекта (компиляция, линковка).

открытие проекта в 5-й студии, аналогично 6-й: File->Import->AVR Studio4 Project, проект конвертируется и собирается без ошибок (так же клавишей F7).


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: прошивки на систему LTagKirov
СообщениеДобавлено: 11 дек 2012, 20:35 
Не в сети
Местный
Аватар пользователя

Зарегистрирован: 13 ноя 2012, 19:51
Сообщений: 339
Откуда: токмак
tommy писал(а):
Alt+F7 - компиляция текущего .c файла
F7 - сборка проекта (компиляция, линковка).

открытие проекта в 5-й студии, аналогично 6-й: File->Import->AVR Studio4 Project, проект конвертируется и собирается без ошибок (так же клавишей F7).

Во! все заработало.
Как выставить чтоб очередь одиночные переключались кнопкой.
Комментировал
Цитата:
#define SQMODE_SWITCH

очередью все время стреляет


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: прошивки на систему LTagKirov
СообщениеДобавлено: 11 дек 2012, 20:57 
Не в сети
Местный

Зарегистрирован: 13 июл 2011, 17:05
Сообщений: 475
Откуда: Perm
надо пин ещё раскомментить на кнопку переключения - PinSQ


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: прошивки на систему LTagKirov
СообщениеДобавлено: 11 дек 2012, 20:58 
Не в сети
Местный

Зарегистрирован: 13 июл 2011, 17:05
Сообщений: 475
Откуда: Perm
SQMODE_SWITCH - задаёт как ведёт себя переключатель огня (как кнопка или как переключатель)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: прошивки на систему LTagKirov
СообщениеДобавлено: 13 дек 2012, 09:55 
Не в сети
Местный

Зарегистрирован: 13 июл 2011, 17:05
Сообщений: 475
Откуда: Perm
надо, да, довести прошивку до стабильного состояния, чтоб потом уже не трогать. если кто подправил чего - делитесь. ну или какие предложения по коду есть (может стиль кривой или "архитектура" и править просто не удобно).


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

Зарегистрирован: 29 авг 2011, 11:08
Сообщений: 1849
Есть новая версия, но схема сильно изменилась, практически это новая версия оборудования несовместимая по железу с первым вариантом. Соответственно и прошивка не подойдёт. К сожалению пока не могу выложить код полностью. Есть ли желание у кого-нибудь паять схему для закрытых исходников ?


Архитектура программы довольно простая - приведённый кусок кода полностью описывает поведение прошивки для выстрела.

Код:
#include "fire.h"


void setup_fire(void) {
   
   StateFire = 0;
   ots_cnt = 0;

   make_bullet();   // подготовить пулю по cfg параметрам
}

// Логическое поведения оборудования для выстрелов  100Гц
void LogicFire(void)
{

   switch (StateFire)
   {
      case WantPula:

      // флаг BtFire кнопка Огонь отфильтованная от дребезга
         if (( btFire > 0) || (btMIC > 0 ))  {

            StateFire = NeedPula;   // запрос на выстрел обработан

         
         }
      break;

      case NeedPula:

      // Проверить наличие патронов в обойме и состояние жизни игрока
       if ((0 == ammo_clip_in_game)||(1 == flOutGame))   {

           // Вне игры или нет патронов
         StateFire = OneFire;       // отпусти курок :)
         need_sound(SND_OSECHKA);   

      } else {
         // есть патроны и в игре
         StateFire = OutPula;

         // между этими состояниями можно вставить
         // паузу накачки лазера, определить тип выстрела
         // (дольше держим сильнее выстрел и тд)
         // или ещё какое нибудь расширение  игры
      };
      break;

       case OutPula:

         // вычесть патрон из магазина
         ammo_clip_in_game--;
      
         // запуск пули только здесь
         // и сюда можем попасть только с  0 == flFire

         // биты пули выгружаются
         // из remote_tx_data с мл разрядов
         remote_tx_data = bullet_data;

         // инициировать ИК выстрел
         // передача в прерывании
         remote_tx_state = TX_NEED;
         flFire = 1;          

//         need_sound(SND_FIRE);   // запускаем звук

// Звук и пуля могут мешать друг другу flFire = 1;
// на время выстрела работу со звуком останавливать
// неменять состояние подключения вЫходов таймеров

         StateFire = EndPula;    

      break;


       case EndPula:
      
      // Пуля должна улететь полностью,
      // чтобы начать следующую ИК посылку
      if (1 == flFire) {
         
         StateFire = EndPula;   

      } else  {    

         // Пуля улетела, проверяем нет ли поражений

            need_sound(SND_FIRE);      // запускаем звук пули

         if (1 == flEnemyFire) {      // Да Получена Чужая пуля
         
         //  отработать паузу невозможности стрельбы
            shok_time_cnt = 0;
            StateFire = EnemyFireShok;

         } else {

         //    Пуля улетела, и нет поражений 
         //    отрабатываем темп стрельбы
            temp_fire_cnt = 0;
            StateFire = TempFire;
         }
      }
      break;

   case TempFire:
            
      temp_fire_cnt++;
      if (temp_fire_cnt > temp_fire)
      {   // пауза кончилась, определяем режим стрельбы
         // автомат, полуавтомат, кнопка внешняя

         if ( rifle == RIFLE_AVTO){
            StateFire = SequFire;
         } else {
            
         }
      }
      break;

   case EnemyFireShok:

         shok_time_cnt++;
      if (shok_time_cnt > shok_time) {
                           // пауза кончилась
            flEnemyFire = 0;    // сбросить флаг

         //  Нужно обязательно отпустить курок, после шока
            StateFire = OneFire;       
      }

      break;

   case OneFire:

      if ( btFire > 0 ) {
          StateFire = OneFire;    // Нужно обязательно отпустить курок
      } else {
          StateFire = WantPula;    // Ожидание
          btMIC = 0;    // сбрасываем флаг микрофона
      };
          ots_cnt = 0;          // сбросить счётчик отсечки
      break;

   case SequFire:

      if ( btFire > 0 ) {

         if (ots_cnt > otsechka) {    // отсечка кончилась
                 
               StateFire = OneFire;
         } else  {   
               StateFire = NeedPula;
               ots_cnt ++;
#if DEBUG_TX == 1    
            putchar_(' '); // в начало строки
            putchar_('o');putchar_(ots_cnt);putchar_(' ');
#endif

         };
      } else {
         StateFire = WantPula;       // отпустили курок
         ots_cnt = 0;              // сбросить счётчик отсечки
         btMIC = 0;                // сбрасываем флаг микрофона
      };

      break;

   }; // case end

} // конец автомата выстрела

_________________
"За 2 месяца максимум можно чертёж сделать, еще за 3 фундамент." (c) Номернабис


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

Зарегистрирован: 29 авг 2011, 11:08
Сообщений: 1849
kicuene писал(а):
А почему для закрытых исходников?


Писал на заказ, потому есть ограничение на распространение. Кусков кода для иллюстрации "надёргать" могу, но целиком проект открывать пока никак невозможно. Получилось что-то вроде библиотеки (a'la Arduino) заточеной для лазертаг прошивок: например есть поддержка нескольких зон поражения, с любых свободных выводов (без прерываний), звуковая активация(петарды), контроль питания и тд.

_________________
"За 2 месяца максимум можно чертёж сделать, еще за 3 фундамент." (c) Номернабис


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 359 ]  На страницу Пред.  1 ... 7, 8, 9, 10, 11, 12, 13 ... 36  След.

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


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

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


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

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