www.open-tager.ru

открытый лазертаг форум
Текущее время: 22 ноя 2024, 10:53

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


Реклама

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


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



Начать новую тему Ответить на тему  [ Сообщений: 359 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8, 9, 10 ... 36  След.
Автор Сообщение
 Заголовок сообщения: Re: прошивки на систему LTagKirov
СообщениеДобавлено: 22 апр 2012, 09:41 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
DiBor писал(а):
KorSar писал(а):
А я не понял в чем разница между двумя схемами.
Разве, что на верхней 12-2 и 11-3 соединены. так у меня так и сделано.
и резисторы у меня тоже стоят.
т.е. у меня по первой схеме.
Какой программой прошил то?

Левый шил только прошивку через понипрок, правый стал менять фюзы но понипрок его видеть перестал :) ,
вот разница
Вложение:
Безымянный.png

А может, это глюки "Семёрки"?
Поменяли чего-нибудь в работе с портами?
Я шил атмегу 16 ПониПрогом через 5 проводков (упрощённый вариант) под XP - не было проблем!
Питал плату от БП компа.

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!


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

Зарегистрирован: 12 апр 2011, 15:01
Сообщений: 357
Откуда: СПб
тогда у меня вариант 5-ти проводов как у LTagKirov на XP

_________________
"шарик" - дура, луч - молодец


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

Зарегистрирован: 12 апр 2011, 15:01
Сообщений: 357
Откуда: СПб
Хочется попросить уважаемых программистов помочь довести прошивку LTK от 13.12.11
Необходимо найти ошибку в прошивке. Связался с tommy - у него сейчас совсем нет времени, да и на форуме он пропал :(
Сама прошивка тут http://www.open-tag.ru/download/ltk_miles_13_12_11.rar
Из переговоров с tommy выяснил, что ошибка где-то в самом приеме сигнала
в p_miles.c, вот текст кода (может кто сразу увидит):

/*****************************************************
File: p_miles.c - milestag protocol
ToDo:
- убрать мусор от p_simple;
- дописать хоть какие-нить команды;
*****************************************************/

//http://www.lasertagparts.com/mtformat-2.htm

#include "globals.h"

#ifdef PROTOCOL_MILES

#include "p_common.h"
#include <util/delay.h>

uint g_bSigInProcess=0; //флаг, что мы в процессе приёма
uchar bOvertime=0; //было-ли переполнение таймера (нужно лишь чтобы выключить приём, когда таймер переполнится дважды

uchar nPrevTime=0; //предыдущее значение таймера
uint nRecievingInfo=0; //формируемый пакет (в процессе)

uchar nBitsCount; //кол-во принятых бит (для отладки/проверки или учета принятого пакета)
uint nPrevBit;

//всё прерывание по переполнению счетчика0 нужно лишь для сброса флага принятой информации после как минимум одного периода простоя
ISR (TIMER0_OVF_vect) {
if (g_bSigInProcess!=0) {
if (bOvertime==1) {
g_bSigInProcess = 0;
bOvertime = 0;
} else {
bOvertime++;
};
};
g_nTime++;
}


// Процедура приёма IR. вызывается из прерывания,
SIGNAL (SIG_INTERRUPT0)
{
uchar nCurTime = TCNT0;
uchar nCurBit = 0;

if (PinIRR) {
nCurBit = 1;
};

uchar dTime;
dTime = nCurTime - nPrevTime;
nPrevTime = nCurTime;

//интересуют только перепады с 0 на 1 (концы ШИМ отрезков)
//в простом (этом - без учета помех) случае надо было сменить инициализацию прерывания на возрастание уровня,
//но по уму надо просто считать длительности нулевых и единичных отрезков с игнорированием всплесков от солнца,
//тогда можно и без всяких crc обойтись. но то как солнце фонит надо сначала снять и посмотреть, да
//т.ч. пускай такое будет прерывание
if (nCurBit) {
if (g_bSigInProcess!=0) {

if ((dTime>13)&&(dTime<25)) { // 0 - 448us..832us
nRecievingInfo <<= 1;
nRecievingInfo |= 0;
nBitsCount++;
} else if ((dTime>32)&&(dTime<48)) { // 1 - 1056us..1568us
nRecievingInfo <<= 1;
nRecievingInfo |= 1;
nBitsCount++;
} else {
//пришел мусор. не считаем за бит и прекращаем приём ("пуля прошла рядом"?)
g_bSigInProcess = 0;
nBitsCount = 0;
};

//приняли 14 бит. заканчиваем приём и обрабатываем что вышло
if (nBitsCount==14) {
g_bSigInProcess = 0;

if (nIRPackage==0) { //проверка чтоб успеть обработать предыдущий, прежде чем задавать новый (надо подумать)
if (nRecievingInfo & 0b10000000000000) {
//пришла команда - надо дождаться ещё пару бит и сделать трансляцию команд во внутреннее представление
//сейчас просто игнорируем это.
} else {
//разбираем майлс-выстрел на составляющие
uchar weapon = nRecievingInfo&0b00001111;
uchar team = (nRecievingInfo>>4)&0b00000011;
uchar id = (nRecievingInfo>>6)&0b01111111;

//и собираем обратно в свой формат, заодно обрезаем id до 6бит
nIRPackage = (id&0b00111111)<<7|team<<4|weapon;
};
};
};

} else {
//2400us - это 75 тиков с частотой 31250Гц
//запас +-480us на всякий случай
if ((dTime>60)&&(dTime<90)) {
g_bSigInProcess = 1;
nBitsCount = 0;
nRecievingInfo = 0;
};
};
};

bOvertime=0;
} // конец автомата обработки ИК датчика


void SendStart() {
onIRx;
_delay_us(2400);
offIRx;
_delay_us(600);
};

void Send1() {
onIRx;
_delay_us(1200);
offIRx;
_delay_us(600);
};

void Send0() {
onIRx;
_delay_us(600);
offIRx;
_delay_us(600);
};

void SendBits (uchar data, uchar mask) {
while (mask) {
if (data&mask) {
Send1();
} else {
Send0();
};
mask>>=1;
};
};

//14бит
//0ppppppppttwwww
void SendIRFire (uchar team, uchar id, uchar weapon) {
SendStart();
Send0();
SendBits(id, 1<<6);
SendBits(team, 1<<1);
SendBits(weapon, 1<<3);
offIRx;
};

//17бит
//1 mmmm mmmm pppp pppp - команда _m_ с параметром _p_
void SendIRCommand (uchar cmd, uchar param) {
};

void InitIR () {
// Fout = Кварц/(2*(N+1)) => N = Кварц/(2*Fout) - 1;
// соотв. при Кварц=8000КГц, значения N:
// 36Кгц, N = 110
// 40Кгц, N = 99
// 56Кгц, N = 70

OCR2 = 99;
};

#endif

_________________
"шарик" - дура, луч - молодец


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

Зарегистрирован: 29 авг 2011, 11:08
Сообщений: 1849
Примеры приёма ИК пакетов
http://radiokot.ru/forum/viewtopic.php? ... view=print

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


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

Зарегистрирован: 13 ноя 2012, 19:51
Сообщений: 339
Откуда: токмак
Подскажите
схему собирал вот Ету
прошивку использую с сайта http://ltagkirov.narod.ru/sxema.html
С этой прошивкой которая тут в мастерской лежит вопще не заработал.
иметирую попадание замыкая 4ногу на землю. срабатывает диод "попадание". Сначала 8 раз пришлось с иметировать попадание чтоб плата ушла в режим "игрок убит" следуйщий 4 раза. рандом чтоли ?
Чтоб плату вернуть опять в режим "готов к бою" замыкаю 23 ногу на землю но схема не реагирует и остается в режиме "игрок мертв". помогает только отключение питания и разряд конденсатора С1.
Проблема в прошивке или в схеме? Схему проверял несколько раз. да и схема не очень сложная чтоб ошибок наделать.
Для прошивки МК использую Вот етот программатор и программу PonyProg
фьюзы Выставлял так
1й раз
убрал все CKSEL схема работала не корректно при включении загорался диод пустой обоймы и попадание. кнопка огонь не работала.
2й раз
поставил птичку во всех CKSEL кроме CKSEL0
все заработало. но схему не могу вывести из режима "убит" в режим "новая игра" только отключением питания.
Схема что с кварцем что без кварца работает одинаково.
Не правильно выставил фьюзы ? Или так и должно быть?


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

Зарегистрирован: 13 июл 2011, 17:05
Сообщений: 475
Откуда: Perm
Nestr писал(а):
Подскажите
схему собирал вот Ету
прошивку использую с сайта http://ltagkirov.narod.ru/sxema.html
С этой прошивкой которая тут в мастерской лежит вопще не заработал.
иметирую попадание замыкая 4ногу на землю. срабатывает диод "попадание". Сначала 8 раз пришлось с иметировать попадание чтоб плата ушла в режим "игрок убит" следуйщий 4 раза. рандом чтоли ?
там не то чтоб рандом - там важна длительность, ведь предполагается, что данные идут от датчика. по поводу фьюзов подсказать сейчас не могу (доков под рукой нет, но там всё просто - важно лишь поставить тактирование от внешнего кварца. вечером дополню ответ, но наверняка раньше уже подскажут), а вот по прошивке: попробуйте поставить http://www.open-tag.ru/download/ltk_miles_13_12_11.rar , если всё верно собрано, то при включении питания должна проигрываться мелодия (как на видео http://www.youtube.com/watch?v=2gizPYzVLSc ).


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

Зарегистрирован: 13 июл 2011, 17:05
Сообщений: 475
Откуда: Perm
до доков не добрался, но ответ про фьюзы есть в этой теме две страницы назад:
Pingvin писал(а):
Вам надо считать фьюзы с нового контроллера и убрать галочки у всех CKSEL
Код:
CKSEL3      [ ]
CKSEL2      [ ]
CKSEL1      [ ]
CKSEL0      [ ]

Затем нажать "Записать" и будет Вам счастье!


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

Зарегистрирован: 13 ноя 2012, 19:51
Сообщений: 339
Откуда: токмак
в ponyprog птичка стоит значеть выклю чено. птичка не стоит знач включено. если нужно отключить CKSEL3 значет везде ставим птички?


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

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Nestr писал(а):
в ponyprog птичка стоит значеть выклю чено. птичка не стоит знач включено. если нужно отключить CKSEL3 значет везде ставим птички?

Можете считать ваши фьюзы и выложить скриншот?
Только, ради Бога, ничего не записывайте!
Интересует такая вкладка
Изображение

В поньке галочки надо убрать.
Почитайте http://easyelectronics.ru/vnutrisxemnaya-otladka-avr-cherez-jtag-ice.html
Там есть таблица с фьюзами.

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!


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

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

Изображение


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

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


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

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


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

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