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

LTAscetik
http://www.open-tager.ru/forum/viewtopic.php?f=5&t=1565
Страница 325 из 532

Автор:  Nestr [ 02 окт 2013, 19:38 ]
Заголовок сообщения:  Re: LTAscetik

Pingvin писал(а):
Sabbah писал(а):
Pingvin нужна твоя помощь, как сделать чтобы после 10 секунд смерти игрока плата сама перегружалась ( как будто ее только включили), или лучше чтобы перестала мигать повязка.

Где то находил про программный сброс.
Ща поищу.
Тестил 8x2?
Что то с ходу и не найду.
Как вариант - через сторожевую собаку, но вроде был и проще вариант.


Pingvin При программном резете точно все данные будут обнулены?
Не попадут в "новую игру" параметры со старой ??
Типа не полная обойма, или не 100% жизней?

Автор:  Nestr [ 02 окт 2013, 19:47 ]
Заголовок сообщения:  Re: LTAscetik

Еще вот подумал если будет пульт то можно о "теч мемори" отказаться.
сейчас теч мемори вряд ли кто то использует. И место на таге только будет занимать.
Можно реализовать защиту от читерства через пульт.

Автор:  Sabbah [ 02 окт 2013, 20:31 ]
Заголовок сообщения:  Re: LTAscetik

Nestr писал(а):
Еще вот подумал если будет пульт то можно о "теч мемори" отказаться.
сейчас теч мемори вряд ли кто то использует. И место на таге только будет занимать.
Можно реализовать защиту от читерства через пульт.

Я практически сразу от тач мемори отказался. Пока нет пульта, сделал механическую активацию. Я в своей разводке печатки версии 3,0, как раз и выкинул JTAG и тач мемори, а также вынес отдельным блоком rs232, тем самым и уменьшил размер печатки, чего и вам советую ;)

Автор:  Nestr [ 02 окт 2013, 21:18 ]
Заголовок сообщения:  Re: LTAscetik

Я видел вашу печатку, компактно получилось.
У меня атмега в смд корпусе. Хочу развести версию 3.1 там как раз нет джтаг и рс232 вынесен, ну и теч мемори выкину. почему 3.1, в дальнейшем чтоб избавится полностью от проводов.

Автор:  Sabbah [ 02 окт 2013, 21:23 ]
Заголовок сообщения:  Re: LTAscetik

Nestr писал(а):
Я видел вашу печатку, компактно получилось.
У меня атмега в смд корпусе. Хочу развести версию 3.1 там как раз нет джтаг и рс232 вынесен, ну и теч мемори выкину. почему 3.1, в дальнейшем чтоб избавится полностью от проводов.

Pingvin писал что моя версия практически и есть 3.1 подключить безпроводку можно без проблем.

Автор:  Pingvin [ 03 окт 2013, 05:57 ]
Заголовок сообщения:  Re: LTAscetik

Nestr писал(а):
Pingvin писал(а):
Sabbah писал(а):
Pingvin нужна твоя помощь, как сделать чтобы после 10 секунд смерти игрока плата сама перегружалась ( как будто ее только включили), или лучше чтобы перестала мигать повязка.

Где то находил про программный сброс.
Ща поищу.
Тестил 8x2?
Что то с ходу и не найду.
Как вариант - через сторожевую собаку, но вроде был и проще вариант.


Pingvin При программном резете точно все данные будут обнулены?
Не попадут в "новую игру" параметры со старой ??
Типа не полная обойма, или не 100% жизней?


Нет, все инициализируется по новой (это делается в коде).
Но не нужен тут RESET, согласен.
Можно и без него обойтись.
Хотя с ресетом проще, пожалуй.
Поморакуем.

Автор:  Pingvin [ 03 окт 2013, 08:21 ]
Заголовок сообщения:  Re: LTAscetik

Предлагаю так - выводим на экранчик сообщение
Старт
через 10

И обратный отчет.
Затем
init_var(); //инициализируем переменные
invite(); //если нужно делать настройrи с экрана или настраивать по RS232, если нет - эту строку не ставим
cut_off_sound = (eeprom_read_word(&sound_1_size)/100)*(100-CUT_OFF_SOUNT);// отсечка звука выстрела (эта тоже не нужна, ели не делать настройки)
joystick_event=no_pressing; //очищаем события джойстика
keyboard_event=no_key_pressing;//очищаем события триггера
reload_key_event=no_key_pressing;//очищаем события перезарядки
rx_event = NOT_EVENT; //очищаем события ИК приемника
display_status();//обновляем информацию на дисплее

и возвращаемся в главный цикл

Можно все это в отдельной функции прописать, например respound();

Времени, времени не хватает... :(

Автор:  Sabbah [ 03 окт 2013, 10:20 ]
Заголовок сообщения:  Re: LTAscetik

Pingvin писал(а):
Предлагаю так - выводим на экранчик сообщение
Старт
через 10

И обратный отчет.
Затем
init_var(); //инициализируем переменные
invite(); //если нужно делать настройrи с экрана или настраивать по RS232, если нет - эту строку не ставим
cut_off_sound = (eeprom_read_word(&sound_1_size)/100)*(100-CUT_OFF_SOUNT);// отсечка звука выстрела (эта тоже не нужна, ели не делать настройки)
joystick_event=no_pressing; //очищаем события джойстика
keyboard_event=no_key_pressing;//очищаем события триггера
reload_key_event=no_key_pressing;//очищаем события перезарядки
rx_event = NOT_EVENT; //очищаем события ИК приемника
display_status();//обновляем информацию на дисплее

и возвращаемся в главный цикл

Можно все это в отдельной функции прописать, например respound();

Времени, времени не хватает... :(

Спасибо попробуем.

Автор:  Pingvin [ 03 окт 2013, 10:20 ]
Заголовок сообщения:  Re: LTAscetik

Sabbah писал(а):
Pingvin писал(а):
Предлагаю так - выводим на экранчик сообщение
Старт
через 10

И обратный отчет.
Затем
init_var(); //инициализируем переменные
invite(); //если нужно делать настройrи с экрана или настраивать по RS232, если нет - эту строку не ставим
cut_off_sound = (eeprom_read_word(&sound_1_size)/100)*(100-CUT_OFF_SOUNT);// отсечка звука выстрела (эта тоже не нужна, ели не делать настройки)
joystick_event=no_pressing; //очищаем события джойстика
keyboard_event=no_key_pressing;//очищаем события триггера
reload_key_event=no_key_pressing;//очищаем события перезарядки
rx_event = NOT_EVENT; //очищаем события ИК приемника
display_status();//обновляем информацию на дисплее

и возвращаемся в главный цикл

Можно все это в отдельной функции прописать, например respound();

Времени, времени не хватает... :(

Спасибо попробуем.

Обожди малек - я набросаю код.

Автор:  Pingvin [ 03 окт 2013, 19:06 ]
Заголовок сообщения:  Re: LTAscetik

В файле ltag_ascetic.h декларируем новую функцию

Код:
void respawn(void);


В файле ltag_ascetic.с пишем реализацию (в любом месте)
Код:
void respawn(void){
   
uint8_t countdown;
countdown=5;
lcd_clrscr();
lcd_puts("Старт\nчерез  5");

            
      while (countdown > 0)//пока не кончится обратный отсчёт
      {
         timer2 = 0;
         while (timer2 < 60000){};
       WOUND_LED_INVERT;//можно помигать светодиодом на повязке
         lcd_gotoxy(7, 1);
         countdown--;
         lcd_puts(int_to_str(countdown,0));
      }
   WOUND_LED_OFF;
init_var(); //инициализируем переменные
invite(); //если нужно делать настройrи с экрана или настраивать по RS232, если нет - эту строку не ставим
cut_off_sound = (eeprom_read_word(&sound_1_size)/100)*(100-CUT_OFF_SOUNT);// отсечка звука выстрела (эта тоже не нужна, ели не делать настройки)
joystick_event=no_pressing; //очищаем события джойстика
keyboard_event=no_key_pressing;//очищаем события триггера
reload_key_event=no_key_pressing;//очищаем события перезарядки
rx_event = NOT_EVENT;   //очищаем события ИК приемника
display_status();//обновляем информацию на дисплее

}




Потом в файле ltag_ascetic.c находим такой if
Код:
if (life_in_percent > rx_packet.damage)
                           {
                              life_in_percent = life_in_percent-rx_packet.damage;
                              life = (life_in_percent*10)/125;
                              if ((life==0)&&(life_in_percent>0)) life=1;

                           }
else
                           {



и переделываем else так

Код:
if (life_in_percent > rx_packet.damage)
                           {
                              life_in_percent = life_in_percent-rx_packet.damage;
                              life = (life_in_percent*10)/125;
                              if ((life==0)&&(life_in_percent>0)) life=1;

                           }
else respawn();



А все, что после else было в фигурных скобках - выкидываем или закоммичиваем.
Но не запутайтесь в фигурных скобках!

Это все пока теория!
Завтра проверю.

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