www.open-tager.ru http://www.open-tager.ru/forum/ |
|
LTAscetik http://www.open-tager.ru/forum/viewtopic.php?f=5&t=1565 |
Страница 412 из 532 |
Автор: | Sabbah [ 10 ноя 2014, 11:23 ] |
Заголовок сообщения: | Re: LTAscetik |
DanGion писал(а): Появилось стойкое желание удать чемнибудь тяжелым по говоле! Код: Вот Вы тушку WHILE закомментили. Теперь в нем ничего не делается. А на нерезиновой атмеге будет, выполняться постоянно аж 2 операции сравнения! А они какбэ тяжеловесны... Вот что должно было быть: Код: rx_event = NOT_EVENT; /* while((rxCount==0)&&(rx_event != RX_MESSAGE_COMPLITE))//ïîêà íåò íèêàêèõ êîìàíä ïóëüòà { WOUND_LED_INVERT; USART_PutChar('1'); timer2 = 0; while (timer2 < 1000); WOUND_LED_INVERT; timer2 = 0; while (timer2 < 1000); } */ Просил же не пинать сильно ![]() |
Автор: | DanGion [ 10 ноя 2014, 12:52 ] |
Заголовок сообщения: | Re: LTAscetik |
Оу, ну раз самоучка, то хвала и почет! Не примайте близко к сердцу =) Насчет первого запуска думаю логичнее всего так: При включении: 0. Стратует прошивка. 1. Игрок получает статус мертв 2. Считываются все настройки (При заливке прошивки нужно заливать и дефолтные конфиги.) 3. Проверяем Опцию "Автоматической активации" (возможно с таймером. Но таймер лучше сделать отдельно, чтобы отложенный респаун и с пульта работал! Очень удобно на больших играх!) 4а. Если true, то активируем по прошествии времени 4б. Если false - ждем команду с пульта. Активацию режима конфигурирования - лучше сделать по ЛВшному: Если при включении зажата перезарядка, то переходим в режим настройки тага (ИК-база, блюпуп, джойстик). И совет! Джойстик должен отцепляться от тага! Иначе на крупные игры Вам несветит. У нас вот только в субботу было мочилово на 60 человек. Мы (орги) обыскивали всех на выходе из раздевалки. Было изъято 2 или 3 пульта и 2 еденицы прочей чухни с непонятными кнопками. Скоро походу и мобильники/планщетники отнимать будем. |
Автор: | Pingvin [ 10 ноя 2014, 17:52 ] |
Заголовок сообщения: | Re: LTAscetik |
Сегодня побаловался с аппаратным SPI. Данные то в сдвиговый регистр пишутся, а вот ЖКИ отказывается инициироваться. Видно шибко быстро пулять стал, где то тайминги не выдерживаются. Завтра ещё повоюю. |
Автор: | Pingvin [ 11 ноя 2014, 12:59 ] |
Заголовок сообщения: | Re: LTAscetik |
Разобрался со сдвиговым на аппаратном SPI, даже экранчик заработал, но... Так как сейчас разведено - аппаратно работать не будет. ![]() Чтобы аппаратно работало - нужно на шилдик вместо MISO цеплять цеплять SS (сейчас там висит отключение усилка). И хрен обманешь! Пытался дергать MISO, вместо SS - вчера пол дня и сегодня до обеда - бесполезно! Всякая х..ня пишется в регистр. Лохонулся, конечно, при разводке. Но я тогда и не знал таких тонкостей. Так что ... не судьба. Если только, конечно - не делать версию 3.2, с учетом всех недоработок. |
Автор: | Sabbah [ 11 ноя 2014, 13:04 ] |
Заголовок сообщения: | Re: LTAscetik |
Думаю 3.2 не стоит пока, 3.1 то не совсем готов |
Автор: | Pingvin [ 11 ноя 2014, 13:07 ] |
Заголовок сообщения: | Re: LTAscetik |
Sabbah писал(а): Думаю 3.2 не стоит пока, 3.1 то не совсем готов Тоже думаю - не стоит. Пусть пока ногодрыгом работает. Доведем прошивку до ума на 3.1 А драйвер поменять - пара минут делов то. Драйвер для сдвигового с использованием аппаратного SPI. Но нужно вместо MISO подключить к шилдику SS (44 нога контроллера). На более высокой скорости начинаются глюки. Тут тактирование = частота кварца/64 (250 КГц) Код: #define SPI_DDR DDRB
#define SPI_PORT PORTB #define SPI_SS PB4 #define SPI_MOSI PB5 #define SPI_MISO PB6 #define SPI_SCK PB7 void init_shift_register( void ) { //настраиваем выводы MOSI, SCL, SS на выход SPI_DDR = ( 1 << SPI_MOSI) | ( 1 << SPI_SCK) | ( 1 << SPI_SS ) ; //выставляем SS в 1 SPI_PORT |= ( 1 << SPI_SS ); // разрешаем SPI, Master, режим 0, частота 1/64 от F_CPU, LSB first SPCR = ( 1 << SPE ) | ( 1 << MSTR ) | (1 << SPR1) ; // SPSR = ( 1 << SPI2X ); //удвоение частоты SPI } void shift_register_set_data(volatile uint8_t shift_data) { unsigned char ret; SPI_PORT &= ~(1 << SPI_SS ); //сбрасываем SS в 0 SPDR = shift_data; //передаваемые данные while( !( SPSR & ( 1 << SPIF ) ) ); //ждем окончания передачи ret = SPDR; //считываем принятые данные SPI_PORT |= ( 1 << SPI_SS ); //выставляем SS в 1 } void shift_register_clean(void){ shift_register_set_data(0); } |
Автор: | Pingvin [ 11 ноя 2014, 13:10 ] |
Заголовок сообщения: | Re: LTAscetik |
Что там со сменой цвета? Пульт никто не настраивал? Не пробовали? |
Автор: | loner32 [ 11 ноя 2014, 14:07 ] |
Заголовок сообщения: | Re: LTAscetik |
пока да пульта руки не дошли щяс активно прошивкой занимаюсь делаю доработки по настройке скорости стрельбы и выбора режима огня |
Автор: | Pingvin [ 11 ноя 2014, 14:17 ] |
Заголовок сообщения: | Re: LTAscetik |
loner32 писал(а): пока да пульта руки не дошли щяс активно прошивкой занимаюсь делаю доработки по настройке скорости стрельбы и выбора режима огня Любопытно... ![]() Самый простой способ изменить скорострельность - изменить процент "отсечки" звука. До этого процента звук воспроизводится при стрельбе очередью, потом - следующий патрон и звук с начала. Я вроде даже делал - вот, заккомичено - следы остались. ![]() Цитата: if (simples_in_queue==cut_off_sound)//(eeprom_read_word(&sound_1_size)/100)*(100-CUT_OFF_SOUNT))
{ if (fire_mode()==queues) { if ((get_keyboard_status()==key_pressed)&&(life>0)&&(bullets>0)) //курок нажат, то отсекаем звук { bullets--;//уменьшаем на 1 количество патронов send_ir_package(); //Производим "выстрел" // last_simple=0; //воспроизводим звук сначала close_eeprom(&result);//считываем боследний буйт и закрываем eeprom eeprom_is_open = false; //eeprom_is_open = open_eeprom(eeprom_read_byte(&sound_1_adress));//открываем eeprom simples_in_queue=eeprom_read_word(&sound_1_size); // display_bullets_update(); } } } |
Автор: | Sabbah [ 11 ноя 2014, 14:28 ] |
Заголовок сообщения: | Re: LTAscetik |
Я не пробовал так как глюки со студией были, конфигуратор почему-то у меня не соединяется с платой пульта, забил и шью через студию предварительно поправив прошивку, сегодня в планах было попробовать. |
Страница 412 из 532 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |