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

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

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

Pacifist писал(а):
LTagKirov писал(а):
...Идеал ХСЛ: дип корпус в 8 ногах + пара ключей и несколько светодиодов.

Эх.. забацать чтоль для пионэров какой-то "пиу-тагер" на десяти деталюшках и 8-выводном контроллере пока Аскет заброшен в дальний ящик а Армада только начинает делаться? ;)

Армада если не завершается (я склонен считать, что релиз выйдет достаточно скоро), то уж точно не начинается! ;)
Львиная доля работы уже выполнена.
Датчики нужны, чтобы продолжить.
Пока жду получки, бутлоадер писать начал.
Надо пропарсить hex и залить во флеш.

Аскет не заброшен, Аскет интегрируется в Андроид Лазертаг систему. ;) :)

Автор:  Pingvin [ 06 апр 2015, 17:20 ]
Заголовок сообщения:  Re: LTAscetik

maybik писал(а):
Pingvin писал(а):


Синие можете и сами заказать в производство.
48 штук около 2 тыс. рублей выходит.

Но если только парочка нужна - поищу.


готов приобрести 50 шт, но есть парочку вопросов, как с вами связаться?
skype: johnvornavskoy
vk: johnvornav

Так звоните прямо в контору и заказывайте!
48 шт. на заготовке.
Заказывайте 3.1
Там модульность, мах3232 на самой плате нет, если надо - подключается как дополнительный модуль.
Изображение

Тут можете пошариться
http://ltascet.com/

Автор:  maybik [ 08 апр 2015, 00:28 ]
Заголовок сообщения:  Re: LTAscetik

Pingvin писал(а):


В общем...
В функции

Код:
void hit_processing(trx_packet hit_packet)


Есть процедура обработки состояния, когда игрок вырублен.

Она такая страшная, потому что тач Мемори тут ещё учитывается, можно выкинуть, станет проще.
По уму её надо вытащить в отдельную функцию и использовать и при обработке команды 0x00
Тут выход из состояния по нажатию центральной кнопки джойстика, либо колючем Тач Мемори, либо командой с пульта 0x05.



проверьте пожалуйста, :) пользуясь логикой и знаниями далекого первого курса универа, :) собрал из вашего кода следующее:
Код:
case 0x00://"выключить" игрока
                        {

         life = 0;
         life_in_percent=0;
         WOUND_LED_ON;
         display_life(life);//отобразим уровень жизни на диодах
         display_life_update();//отобразим уровень жизни на ЖКИ
         volatile uint8_t keypress_cntr; //счетчик циклов, в течении которых курок был нажат
         keypress_cntr = 0;
         
         while (eeprom_is_open);//дождемся, пока eerom закроется
         playgameoversound();
         if {
          lcd_bl_off();
            display_status();
            rx_event = rx_event = NOT_EVENT;
            ir_message.control_byte = 0;
            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();                     
               }

                                   
                                   
                                    break;}

собираюсь вставить в файл ltag_ascetic.c версии 3.1 но плату развел под 3.0, что нужно подправить еще? просто уже платы заказал
Вложение:
1.jpg
1.jpg [ 125.95 KiB | Просмотров: 6366 ]
Вложение:
2.jpg
2.jpg [ 143.22 KiB | Просмотров: 6366 ]

Автор:  Pingvin [ 08 апр 2015, 06:16 ]
Заголовок сообщения:  Re: LTAscetik

Да платы то можно было заказать 3.1, я же не однократно писал!
Там за платку около 40 р. выходит.

Различие в том, что в 3.1 не используется JTAG (по прямому назначению) - там диоды "здоровья" подключены. Так что надо переопределить ножки светодиодов в хедере (если прошивку от 3.1 использовать в плате 3.0).

А по коду - я так не могу!
Это надо садиться писать, тестить.
Но даже сходу видно - не правильно.

Функцию надо оформить, например

Код:
game_over(){

}



И туда всю эту красоту запихать.

А вызов будет такой

case 0x00: {
game_over();
} break;

Посоветовались бы, прежде чем печатки заказывать - улучшение можно было ввести - аппаратный SPI (добавить один вывод на разъём), драйвер уже написан, просто подменяем файл shift_registr_driver.h

Автор:  maybik [ 08 апр 2015, 07:43 ]
Заголовок сообщения:  Re: LTAscetik

To pingvin
Ну я бы с радостью посоветовался, просто мои сообщения долго обрабатывались модератором.
А функцию нужно же где-то обозначить? Я так понял в файл ltag_ascetik.h

Автор:  Pingvin [ 08 апр 2015, 11:16 ]
Заголовок сообщения:  Re: LTAscetik

maybik писал(а):
To pingvin
Ну я бы с радостью посоветовался, просто мои сообщения долго обрабатывались модератором.
А функцию нужно же где-то обозначить? Я так понял в файл ltag_ascetik.h

Да - декларируем в ltag_ascetiс.h
реализацию пишем в ltag_ascetiс.с

Займусь, время будет...

Автор:  maybik [ 08 апр 2015, 17:16 ]
Заголовок сообщения:  Re: LTAscetik

Pingvin писал(а):
maybik писал(а):
To pingvin
Ну я бы с радостью посоветовался, просто мои сообщения долго обрабатывались модератором.
А функцию нужно же где-то обозначить? Я так понял в файл ltag_ascetik.h

Да - декларируем в ltag_ascetiс.h
реализацию пишем в ltag_ascetiс.с

Займусь, время будет...

вот что получилось, надеюсь верно :)
в ltag_ascetic.c добавил это:
Код:
/****************************************
* admin kill
*****************************************/
game_over(void){
life = 0;
         life_in_percent=0;
         WOUND_LED_ON;
         display_life(life);//отобразим уровень жизни на диодах
         display_life_update();//отобразим уровень жизни на ЖКИ
         volatile uint8_t keypress_cntr; //счетчик циклов, в течении которых курок был нажат
         keypress_cntr = 0;
         
         while (eeprom_is_open);//дождемся, пока eerom закроется
         playgameoversound();
         if {
          lcd_bl_off();
            display_status();
            rx_event = rx_event = NOT_EVENT;
            ir_message.control_byte = 0;
            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();
}


в ltag_ascetic.h добавил эту строчку:
Код:
void game_over(void);//admin kill


Цитата:
аппаратный SPI
это для программирования камня? я собираюсь шить по SPI поэтому JTAG как и многое другое не разводил на печатке

Автор:  Pingvin [ 09 апр 2015, 06:52 ]
Заголовок сообщения:  Re: LTAscetik

Не верно!
Я для примера кинул кусок кода, Вы восприняли это как истину в последней инстанции.
Надо проанализировать код.

Автор:  maybik [ 09 апр 2015, 08:47 ]
Заголовок сообщения:  Re: LTAscetik

Pingvin писал(а):
Не верно!
Я для примера кинул кусок кода, Вы восприняли это как истину в последней инстанции.
Надо проанализировать код.

Я вас понял :) буду думать

Автор:  Pingvin [ 09 апр 2015, 10:13 ]
Заголовок сообщения:  Re: LTAscetik

maybik писал(а):
Pingvin писал(а):
Не верно!
Я для примера кинул кусок кода, Вы восприняли это как истину в последней инстанции.
Надо проанализировать код.

Я вас понял :) буду думать

Я помогу, с бутлоадером для армады разберусь только (доведу до ума).
Делов то там - на пол часа.

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