Форум
 

Вернуться   Форум "Фрикер Клуб" - кодграббер своими руками > Основной раздел > Песочница

Важная информация

Ответ
 
Опции темы Опции просмотра
Старый 12.03.2018, 16:40   #91
EPA Меню Пользователя
Супер Модератор
 
Аватар для EPA
 
Регистрация: 01.11.2016
Сообщений: 1,223
По умолчанию Re: Эмулятор брелка

У нашего друга три шлага, и в будущем может быть есщо 7 шлагов. Всю эту фигню надо запихивать в функцию, где аргументом будет необходимый элемент массива. Вообще это азы-лучше умные книжки почитать, а то мы здесь уже учебник для чайников под распил отдали ))))

Добавлено через 5 минут
А массив держать в EEPROM

Последний раз редактировалось EPA; 12.03.2018 в 16:39.
EPA вне форума   Ответить с цитированием
Старый 12.03.2018, 17:55   #92
dreamwait Меню Пользователя
Вступил в клуб
 
Регистрация: 11.11.2015
Сообщений: 81
По умолчанию Re: Эмулятор брелка

чет вы меня совсем запутали:
в примере Legrand
"bufer_data[0][3] =bufer_data[0][4] +15;"
Выше сказали, что так писать нельзя и это значит сдвинуться на 15 элементов???
"в данном случае p_anmotors [0][2] = p_anmotors [0][2] + 0x0f ты смещаешь адрес памяти на 0х0f, а не производишь телодвижения c числом. почитай про указатели и про указатели на массив."
про волатил понял - спасибо (я неправ - действительно нет же прерываний).
Про батарейку - тут все Ок у меня. Просто пока кнопку не нажали - на пике нет питания. Т.е. совсем нет. Такой китайский юмор...
Я писал как там все сделано выше.

Последний раз редактировалось dreamwait; 12.03.2018 в 17:58.
dreamwait вне форума   Ответить с цитированием
Старый 12.03.2018, 20:34   #93
EPA Меню Пользователя
Супер Модератор
 
Аватар для EPA
 
Регистрация: 01.11.2016
Сообщений: 1,223
По умолчанию Re: Эмулятор брелка

Нее, я не сказал , что нельзя, я и хотел уточнить... Видимо ты меня не правильно понял, либо я тебя не правильно понял, что ты хочешь на выходе получить из p_anmotors... Ща по-попозже на примере покажу.
А пока можешь посмотреть, что там Waik наваял http://phreakerclub.com/forum/showth...?t=2646&page=2. там такая же похожая проблема, но лучше с самого начала почитать, три страницы. может тогда и не надо объяснять.

Добавлено через 1 час 16 минут
Короче вот адаптированный под russo_turisto твой код, не охота мне учебник пересказывать.
PHP код:

while(1)
 {
    if (
GPIO)            //если было нажатие...
    
{
        if(
BUT_1_STATE)   //   #define BUT_1_STATE (GPIO&(1<<BUT_1)) //кнопка 1
        
{
            
SW_HI;
                        
unsigned int r3 r1;
               if (
r3 244)
              { 
r1 r3 11;}
                else
                       {
                        
r1 1;
                       }
    
                
c1 0x20240000 0x101 r3
                
c2 0x4B874E24;
                
SendANMotors(c1c2);
                         
SW_LO;
                 
_delay(500000);  // тока с задержкой уточни, может увеличить
        
}    
    
        if(
BUT_2_STATE)   // #define BUT_2_STATE (GPIO&(1<<BUT_2)) //кнопка 2
        
{
                     
SW_HI;
            
                       
unsigned int r3 r1;
               if (
r3 244)
              { 
r1 r3 11;}
                else
                       {
                        
r1 1;
                       }
    
                
c1 0x20230000 0x101 r3
                
c2 0x4B874E23;
                
SendANMotors(c1c2);
                         
SW_LO;
                 
_delay(500000);
        }    
    
        if(
BUT_3_STATE// #define BUT_3_STATE (GPIO&(1<<BUT_3)) //кнопка 3
        
{
                       
SW_HI;
            
unsigned int r3 r1;
             if (
r3 244)
              { 
r1 r3 11;}
                else
                       {
                        
r1 1;
                       }
    
                
c1 0x20210000 0x101 r3
                
c2 0x4B874E21;
                
SendANMotors(c1c2);
                         
SW_LO;
                  
_delay(500000);            
        }    

        if(
BUT_4_STATE// #define BUT_4_STATE (GPIO&(1<<BUT_4)) //кнопка 4

        
{
                       
SW_HI;

            
unsigned int r3 r1;
             if (
r3 244)
              { 
r1 r3 11;}
                else
                       {
                        
r1 1;
                       }
    
                
c1 0x20220000 0x101 r3
                
c2 0x4B874E22;
                
SendANMotors(c1c2);
                         
SW_LO;
                 
_delay(500000);
        }
    }
    
SLEEP();            //спаааааааать.....................

 

Добавлено через 2 минуты
Тебе тока остаётся с этой муйней разобратся
Цитата:
brel.c; 171.1 undefined identifier "CMCON"
brel.c; 176.1 undefined identifier "IOCB"

Но это я тебе объяснил где копать в инклудах #include <stdio.h>.
Потом как поймёшь структуру, возьми для оптимизации кода вынеси в отдельную функцию
вот эту конструкцию
Код:
unsigned int r3 = r1;
			 if (r3 < 244)
 			 { r1 = r3 + 11;}
 			   else
     			 	 {
     			  	 r1 = 1;
      				 }
так как она повторяется четыре раза,
например
r1=(r1<244) ? r1+11 : 1;
и изменяешь c1 = 0x20210000 + 0x101 * r1; // было r3

и по идее у тебя должно быть в eeprom - r1_1, r1_2, r1_3, r1_4, где r1_Х, X-номер шлага. Короче вариантов море.

если всё ОК,
дальше оптимизируй переменную с2 ( там изменяется тока один байт), ну и походу и с1 ( как сказал выше), т.е. ты можешь это вынести в дефайны и/или eeprom а крутить-вертеть будешь одним байтом.
Если всё ОК, то код станет в разы меньше. А когда озарение придёт, для ещё более оптимизации и экономии элкетроэнергии подумай как избавиться от наркозависимости delay(50000) , пусть это таймер делает, чтобы он от туда в слип уходил, и просто так в while недрочил проц. Короче от фантазии зависит, т.e. у меня вообще while() { пусто } и на пониженных оборотах работал бы, чтоб батарейки на пол-года хватило бы, ведь это самое главное.
И тогда тебе не будет стыдно перед ротой клиентов, а то есщо запинают ненароком.

Добавлено через 19 минут
Если хочещь под тиньку13, могу и под тиньку адаптировать. Но советую взять лучше тиню48, у неё мозгов по более. Вдруг чёнить добавлять придётся, например тачку хозяина шлагов.

Последний раз редактировалось EPA; 14.03.2018 в 07:24.
EPA вне форума   Ответить с цитированием
Старый 13.03.2018, 11:11   #94
legrand Меню Пользователя
Член клуба
 
Регистрация: 08.09.2011
Сообщений: 295
По умолчанию Re: Эмулятор брелка

Цитата:
Сообщение от dreamwait
Про батарейку - тут все Ок у меня. Просто пока кнопку не нажали - на пике нет питания. Т.е. совсем нет. Такой китайский юмор....

То есть брелок уже с завода сделан так, что при нажатии любой клавиши напряжение подается на проц и пин на проце соответствующий клавиши? И проц запускается и опрашивает пины? А при отжатии клавиши проц обестоичивается? Просто нет возможности писать подробные описания и вникать в них, поэтому каждый раз приходится уточнять. Тем более сложилось впечатление от раннего прочтения описания, что это ты хочешь переделть заводской брелок на такую схему энергозапитки.
legrand вне форума   Ответить с цитированием
Старый 13.03.2018, 13:56   #95
heat Меню Пользователя
Член клуба
 
Регистрация: 12.10.2017
Сообщений: 121
По умолчанию Re: Эмулятор брелка

смотрю стало модно банчить переделаными брелами . называется - копия . на каждом шлаге висит херня типа ваш мастер продам копию брела рабочего которая открывает шлаг . стоит 2 . эдакий вариант - замена грабу для нищих . 2 то вообще копейки .
heat вне форума   Ответить с цитированием
Старый 13.03.2018, 14:19   #96
Waik Меню Пользователя
Вступил в клуб
 
Регистрация: 15.07.2015
Сообщений: 37
По умолчанию Re: Эмулятор брелка

На заборах немного другого рода объявы. Там у вас попросят оригинал брелока и с его помощью сделают клон на основе китайского брелока(а может и оригнала). Принцип конечно похожий на принцип граба, но все ровно не совсем то.
Waik вне форума   Ответить с цитированием
Старый 13.03.2018, 15:10   #97
heat Меню Пользователя
Член клуба
 
Регистрация: 12.10.2017
Сообщений: 121
По умолчанию Re: Эмулятор брелка

сейчас китайский суперклонер 1000 стоит . копирует почти все кроме bft разве что какого нить. но я смотрю bft HPS распилил . узнал какой длинны доп код на security learing и мануфак сделал перебор .
heat вне форума   Ответить с цитированием
Старый 13.03.2018, 15:53   #98
dreamwait Меню Пользователя
Вступил в клуб
 
Регистрация: 11.11.2015
Сообщений: 81
По умолчанию Re: Эмулятор брелка

Огромное спасибо за подсказки и помощь - все учту. Вопрос с переходом на пики в принципе решен - сейчас только отладка и оптимизация. Не стал менять процессор - оказалось проще купить пики как у автора - они у нас по 60руб. Закончу - выложу.
Все китайские брелки так сделаны (больше 10 разных потрошил) - пока не нажата кнопка - питания нет. Поэтому нет смысла заморачиваться со слипом - он просто не нужен.
Китайский клонер под любую заранее известную систему стоит не более 200-300 рублей - но так не интересно, по крайней мере мне - ведь задача не денег заработать. Зачем нам универсальный-то за 1к?
Под тиньку не нужно - там все просто, сам справлюсь (использую 13 так как они самые дешманские и есть их у меня горсть - в 2 раза дешевле пиков).
dreamwait вне форума   Ответить с цитированием
Старый 13.03.2018, 16:38   #99
EPA Меню Пользователя
Супер Модератор
 
Аватар для EPA
 
Регистрация: 01.11.2016
Сообщений: 1,223
По умолчанию Re: Эмулятор брелка

А как пик без программной реализации в слип уходит? У Russo_turisto явно sleep() в код прописан. Не поленись две строчки вставь )))).
EPA вне форума   Ответить с цитированием
Старый 13.03.2018, 18:03   #100
heat Меню Пользователя
Член клуба
 
Регистрация: 12.10.2017
Сообщений: 121
По умолчанию Re: Эмулятор брелка

на тот же flor-s или smilo ты именно клонер не найдешь . ты посмотри повнимательнее . только за 1000 . хотя сейчас может уже наклепали
heat вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

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

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



Текущее время: 09:31. Часовой пояс GMT +3.


vBulletin 4.1.0 Перевод: zCarot
(C) www.phreakerclub.com
Яндекс.Метрика