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 [ 125.95 KiB | Просмотров: 8503 ] Вложение: 2.jpg [ 143.22 KiB | Просмотров: 8503 ] |
Автор: | 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/ |