Изучение уязвимостей электронных систем.
 
key programming immo tools emergency start device программаторы ключа заводилки Кодграббер штатных охранных систем, toyota, lexus, subaru.

Вернуться   Изучение уязвимостей электронных систем > Фрикинг > Охранные системы

Охранные системы Изучение протоколов кодирования охранных систем. (кодграббер, сканер, анализатор кодов.)

Ответ
 
Опции темы
Старый 23.05.2010, 14:30   #411
Partnyor
Заблокирован
 
Аватар для Partnyor
 
Регистрация: 09.01.2010
Сообщений: 46
Поблагодарил: 2
Поблагодарили 14 раз в 6 сообщениях
Partnyor стоит на развилке
По умолчанию

Прочитал брел
Миниатюры
11.JPG  
Partnyor вне форума   Ответить с цитированием
Старый 23.05.2010, 14:32   #412
Partnyor
Заблокирован
 
Аватар для Partnyor
 
Регистрация: 09.01.2010
Сообщений: 46
Поблагодарил: 2
Поблагодарили 14 раз в 6 сообщениях
Partnyor стоит на развилке
По умолчанию

Прочитал базу
Миниатюры
22.JPG  
Partnyor вне форума   Ответить с цитированием
Старый 23.05.2010, 14:35   #413
Partnyor
Заблокирован
 
Аватар для Partnyor
 
Регистрация: 09.01.2010
Сообщений: 46
Поблагодарил: 2
Поблагодарили 14 раз в 6 сообщениях
Partnyor стоит на развилке
По умолчанию


Чё за хуйня?На воздухе работает,..А6.
Partnyor вне форума   Ответить с цитированием
Старый 23.05.2010, 17:35   #414
A-Droo
редкий гость
 
Регистрация: 05.04.2008
Сообщений: 94
Поблагодарил: 57
Поблагодарили 17 раз в 12 сообщениях
A-Droo стоит на развилке
По умолчанию

Serg22,
нашёл)
if (SLBitCount == 65)
заменить на
if (SLBitCount == 64)
т.к. в пакете 64бита


---------- Post added at 15:35 ---------- Previous post was at 15:32 ----------

и ещё
uchar SL_B[9];
на
uchar SL_B[8];

т.к. и 8 хватает

это всё я правил в исходнике твоего логера на 16меге
A-Droo вне форума   Ответить с цитированием
Старый 23.05.2010, 18:00   #415
Partnyor
Заблокирован
 
Аватар для Partnyor
 
Регистрация: 09.01.2010
Сообщений: 46
Поблагодарил: 2
Поблагодарили 14 раз в 6 сообщениях
Partnyor стоит на развилке
По умолчанию

BitCount это всего лиш счётчик,
а SL_B[];-массив и шо ты в его положеш,это
твои проблемы.Но не нада забывать что 9 байт
это 72 бита,а 8 байт - 64 бита.
Как мы отображаем визуально [9] ???,
при приёме 64 бита.?
Partnyor вне форума   Ответить с цитированием
Старый 23.05.2010, 18:16   #416
Piratcom
продвинутый фрикер
 
Аватар для Piratcom
 
Регистрация: 16.02.2008
Сообщений: 1,710
Поблагодарил: 127
Поблагодарили 268 раз в 177 сообщениях
Piratcom стоит на развилке
По умолчанию

for(i=0;i<9;i++){
отображаем SL_B[i];
}

=) Какая разница сколько байт отображать то? Если принял 8 то и отобразит 8, и не важно что в цикле 9 и массив 9, просто если счётчик байт установлен не до 8 а до 9, то будет срыв пакета...


Если вас мучает совесть по ночам - спите днем!
------------------------------------------------------------
Если ты обманываешь людей, будь готов к тому что когда - нибудь тебе придётся сесть в тюрьму...
Piratcom вне форума   Ответить с цитированием
Старый 23.05.2010, 18:16   #417
A-Droo
редкий гость
 
Регистрация: 05.04.2008
Сообщений: 94
Поблагодарил: 57
Поблагодарили 17 раз в 12 сообщениях
A-Droo стоит на развилке
По умолчанию

Partnyor, счётчик счётчиком, но когда я поставил 64 логгер стал выдавать по uart все посылки которые я ему скармливал. а ведь это и требовалось

а потом при отладке в протеусе заметил что в SL_B[8] всегда было 00000000, ну и подумал накой он там.
A-Droo вне форума   Ответить с цитированием
Старый 23.05.2010, 19:09   #418
Serg22
участник
 
Аватар для Serg22
 
Регистрация: 23.11.2009
Сообщений: 366
Поблагодарил: 13
Поблагодарили 38 раз в 27 сообщениях
Serg22 стоит на развилке
По умолчанию

A-Droo, Есть еще думающие программеры на форуме :-)
По поводу 9-го байта - это наследие логгера. В нем хранится признак вида пакета. Было оставлено для идентичности (если правильно помню историю развития своей проги)
Serg22 вне форума   Ответить с цитированием
Старый 24.05.2010, 02:59   #419
A-Droo
редкий гость
 
Регистрация: 05.04.2008
Сообщений: 94
Поблагодарил: 57
Поблагодарили 17 раз в 12 сообщениях
A-Droo стоит на развилке
По умолчанию

Serg22, вобщем воевал с сырцом целый день.
результаты такие:
на тиньке с твоим куском ничего так и не добил. не хочет он вообще принимать. причём конфигурировал по разному.
что то начало принимать лишь после того как я переписал вот так

void rx_starline(uchar RFBit)
{
if (SL_B_Full == 0) //Если код ещё не принят
{
if ( RFBit)
{

if (INstate == 0) {
// -----
// |
// -----
// Прием данных
SLdatacount = 0;
// Preambula
SLcount = 1;
INstate = 1;
} else {
// --------
// | |
//---- ----
// Прием данных
if ( SLexist == 0) {
SLcount++;
} else { SLdatacount++;
if ( SLdatacount > 20 ) //если лог 1 слишком длинная
{ SLBptr = 0; SLBitCount = 0; SLdatacount = 0; SL = 0; SLexist = 0;}
}
}

} else {
if (INstate == 1)
{
// -----
// |
// -----
// Прием данных
if (SLexist == 1) { //Прием Starline A данных
if ( SLdatacount >0 ){
if ( SLdatacount <= 5 )
{
SL_B[SLBptr] <<= 1;
SL_B[SLBptr]|=0x01;
} else {
SL_B[SLBptr] <<= 1;
}
SLdatacount = 0;
if ((++SLBitCount & 7) == 0) SLBptr++;
}
}

if (SLBitCount == 64) //приняли полностью пакет Starline A
{ SL = 0; SLexist = 0; SLBitCount = 0; SLBptr = 0; SL_B_Full = 1;}

// Preambula
if ((SLexist == 0 ) && (SLcount >= 14) && (SLcount <= 21)) {
SL++; SLcount = 0;
} else { SL = 0; SLcount = 0; }
INstate = 0;
// Preambula
if ((SL == 6 ) && (INstate == 0)) { // Приняли Starline "A" преамбулу
SLcount = 0; SL = 0; SLexist = 1;
}
} else {
// ----- -----
// | |
// ------
if ( SLexist == 0 ) {
if ( SLcount >= 21 ) {SL = 0; SLcount = 0; }
else {SLcount++;}
}
}
}
return;
}


} // receive

interrupt [TIM0_COMPA] void timer0_compa_isr(void)
{
TCNT0 = 208;
RFBit = RFIn;
rx_starline (RFBit);
}

тогда при отладке в буфере стало чтото проскальзывать.
пробовал tcnt0 менять, вот получилось что чтото принималось в диапазоне tcnt0 от 200 до 230 вроде. и то это "помогло" только после того как вынес алгоритм приёма отдельно rx_starline (RFBit);
вобщем хреново дело. явно либо тайминги не сходятся либо ещё чтото. и немогу понять откуда была взята это число 192 в tcnt0, как ты его получил?


потом, попробовал переписаный алгоритм на меге но вернул tcnt0=192

void rx_starline(uchar RFBit)
{
if (SL_B_Full == 0) //Если код ещё не принят
{
if ( RFBit)
{

if (INstate == 0) {
// -----
// |
// -----
// Ïðèåì äàííûõ
SLdatacount = 0;
// Preambula
SLcount = 1;
INstate = 1;
} else {
// --------
// | |
//---- ----
// Ïðèåì äàííûõ
if ( SLexist == 0) {
SLcount++;
} else { SLdatacount++;
if ( SLdatacount > 20 ) //åñëè ëîã 1 ñëèøêîì äëèííàÿ
{ SLBptr = 0; SLBitCount = 0; SLdatacount = 0; SL = 0; SLexist = 0;}
}
}

} else {
if (INstate == 1)
{
// -----
// |
// -----
// Ïðèåì äàííûõ
if (SLexist == 1) { //Ïðèåì Starline A äàííûõ
if ( SLdatacount >0 ){
if ( SLdatacount <= 5 )
{
SL_B[SLBptr] <<= 1;
SL_B[SLBptr]|=0x01;
} else {
SL_B[SLBptr] <<= 1;
}
SLdatacount = 0;
if ((++SLBitCount & 7) == 0) SLBptr++;
}
}

if (SLBitCount == 64) //ïðèíÿëè ïîëíîñòüþ ïàêåò Starline A
{ SL = 0; SLexist = 0; SLBitCount = 0; SLBptr = 0; SL_B_Full = 1;}

// Preambula
if ((SLexist == 0 ) && (SLcount >= 14) && (SLcount <= 21)) {
SL++; SLcount = 0;
} else { SL = 0; SLcount = 0; }
INstate = 0;
// Preambula
if ((SL == 6 ) && (INstate == 0)) { // Ïðèíÿëè Starline "A" ïðåàìáóëó
SLcount = 0; SL = 0; SLexist = 1;
}
} else {
// ----- -----
// | |
// --------
if (( SLexist == 0 ) && ( SLcount >= 21 )) {SL = 0; SLcount = 0; }
if (( SLexist == 0 ) && ( SLcount < 21 )) {SLcount++;}
}
return;
}
}

} // receive


interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
TCNT0 = 192;
RFBit = RFIn;
rx_starline (RFBit);
}


всё принялось с первого пакета.
значит в алгоритме ошибок нет, ошибка в использовании таймера. может инициализировать както надо подругому?

вот как я инициализировал таймеры и прерывания тини13:
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 9600,000 kHz
// Mode: Normal top=FFh
// OC0A output: Disconnected
// OC0B output: Disconnected
TCCR0A=0x00;
TCCR0B=0x01;
TCNT0=0x00;
OCR0A=0x00;
OCR0B=0x00;

// External Interrupt(s) initialization
// INT0: Off
// Interrupt on any change on pins PCINT0-5: Off
GIMSK=0x00;
MCUCR=0x00;

// Timer/Counter 0 Interrupt(s) initialization
TIMSK0=0x04

сорри если вопросы тупые, но насчёт этого tcnt0 обрыскал несколько пособий по cvavr, везде сказано что это начальное значение таймера и так и не вьехал нахрена туда вписываем 192
A-Droo вне форума   Ответить с цитированием
Старый 24.05.2010, 07:43   #420
Serg22
участник
 
Аватар для Serg22
 
Регистрация: 23.11.2009
Сообщений: 366
Поблагодарил: 13
Поблагодарили 38 раз в 27 сообщениях
Serg22 стоит на развилке
По умолчанию

A-Droo,

void main(void)
{

#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif

// Input/Output Ports initialization
// Port B initialization
// Func5=In Func4=In Func3=Out Func2=In Func1=In Func0=Out
// State5=T State4=T State3=0 State2=T State1=T State0=0
PORTB=0x00;
DDRB=0x09;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 1200,000 kHz
// Mode: Normal top=FFh
// OC0A output: Disconnected
// OC0B output: Disconnected
TCCR0A=0x00;
TCCR0B=0x02;
TCNT0=0x00;
OCR0A=0x00;
OCR0B=0x00;

// External Interrupt(s) initialization
// INT0: Off
// Interrupt on any change on pins PCINT0-5: Off
GIMSK=0x00;
MCUCR=0x00;

// Timer/Counter 0 Interrupt(s) initialization
TIMSK0=0x04;

// Analog Comparator initialization
// Analog Comparator: Off
ACSR=0x80;
ADCSRB=0x00;
Serg22 вне форума   Ответить с цитированием
Ответ

Метки
starline


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
кто может поделиться посылками StarLine C серии ? PanDect Охранные системы 0 04.04.2011 13:32
Антиграббер Starline A-серии, B-серии freak Охранные системы 20 29.11.2010 00:20
[Вопрос] помогите со схемой на StarLine В-серии александр ас Штатные охранные системы 1 27.06.2010 10:30
Что такое алгоритмический кодграббер rafa Новички 36 19.07.2007 18:50


Текущее время: 22:03. Часовой пояс GMT +4.


Перевод: zCarot