Страница 1 из 1

Просьба переделать скетч

Добавлено: 21 авг 2017, 20:04
yopopol
Всем привет.
Нашел на просторах интернета скетч,а именно на arduino.ru, созданный пользователем под ником vlkam (не реклама,вроде так полагается: давать ссылку на источник )

Скетч считывает коды пульта Doorhan и отправляет в ком порт.

Огромная просьба к Гуру создать из скетча пользовательский блок,чтобы можно было полученный код отравлять на отдельный выход :на дисплей например...или как то оперировать полученным кодом с блоками в Flprog

Добавлено (21.08.2017, 20:04)
---------------------------------------------
может быть кто нибудь за вознаграждение согласится это сделать?

Просьба переделать скетч

Добавлено: 21 авг 2017, 21:07
pan
вы его заливали? , пробовали в деле?

Просьба переделать скетч

Добавлено: 23 авг 2017, 10:35
yopopol
да,пробовал.работает.ну точнее ID пульта показывает.
т.е. все четыре кнопки с одинаковым кодом. для автоматики шлагбаума на даче, больше и не нужно.

Добавлено (23.08.2017, 10:35)
---------------------------------------------
Хотел бы узнать: это сложно для "знающих" или слишком просто?, т.к. даже коментариев нет никаких на эту тему

Просьба переделать скетч

Добавлено: 23 авг 2017, 11:56
pan
не получается запихать в блок. пишет блок не корректен. 
 ссылочку можно откуда этот скетч?

Просьба переделать скетч

Добавлено: 28 авг 2017, 21:13
yopopol
Страницу не сохранял ((
Помню пост был от 2014 или 2015 года.
поищу конечно,но это будет не быстро.

сам скетч проверял,работает. Прочитал все пульты DOORHAN что были в наличии.

Добавлено (23.08.2017, 15:57)
---------------------------------------------
нашел  тут

Добавлено (28.08.2017, 21:13)
---------------------------------------------
Люди добрые, помогите пожалуйста )))
У меня не получается ((
Готов компенсировать потраченное время
Начнем от 1 т.р. дальше сторгуемся

Просьба переделать скетч

Добавлено: 29 авг 2017, 08:03
Anydy
Да, этот скетч просто так не впихнуть в блок, флпрог не любой код кушает, с секцией declare проблема, то строчки в неверном порядке ставит то еще что то не понимает.
В общем если сделать блок, но секцию declare в блоке не прописывать, а прописать непосредственно в скетче при компиляции проекта  - то все работает. Но надо в железе проверять!
Под спойлером код для вставки в самое начало скетча.

[spoiler=Спойлер]#define LED_PIN        13
#define HCS_RECIEVER_PIN  2    // пин к которому подключен приемник для брелков

class HCS301 {
public:
  unsigned BattaryLow : 1;  // На брелке села батарейка
  unsigned Repeat : 1; // повторная посылка
  unsigned BtnNoSound : 1;
  unsigned BtnOpen : 1;
  unsigned BtnClose : 1;
  unsigned BtnRing : 1;
  unsigned long SerialNum;
  unsigned long Encript;

  void print();
};

volatile boolean  HCS_Listening = true;  
byte        HCS_preamble_count = 0;
uint32_t      HCS_last_change = 0;
uint32_t      HCS_start_preamble = 0;
uint8_t       HCS_bit_counter;        // счетчик считанных бит данных
uint8_t       HCS_bit_array[66];        // массив считанных бит данных
#define       HCS_TE    400         // типичная длительность имульса Te
#define       HCS_Te2_3 600         // HCS_TE * 3 / 2

HCS301 hcs301;

#define HCS_DEBUG_

#ifdef HCS_DEBUG

uint16_t HCS_PulseDuration[12];
uint16_t HCS_BitDuration[66];
uint32_t HCS_msg_duration;

struct dta_ {
  uint16_t delay;
  byte f;
  byte st;
};

volatile dta_ arr[1000];
volatile int poz_a = 0,poz_b = 0;
#endif[/spoiler]

И сам блок

Просьба переделать скетч

Добавлено: 29 авг 2017, 08:22
yopopol
Большое спасибо за проделанную работу и потраченное время .Проверить смогу только вечером.
Если всё норм,то от вас   номер телефона или номер карты СБ,
jo81@mail.ru

Просьба переделать скетч

Добавлено: 29 авг 2017, 12:37
rw6cm
Anydy, скетч же не соответствует скетчу из первого поста.

yopopol блоки флп не дают возможность поставить точку с запятой после фигурной скобки.
придется вам это делать в скетче вручную.
здесь
[spoiler=Спойлер][/spoiler]

Просьба переделать скетч

Добавлено: 29 авг 2017, 13:06
Anydy
yopopol писал(а):Если всё норм
Пока что еще ничего не сделал даже))) у блока еще ножки не выросли!
rw6cm писал(а):Anydy, скетч же не соответствует скетчу из первого поста.
Я попробовал скетч из ссылки на форум...

Не понятно почему бы Флпрог не копировать секцию declare в скетч? Если IDE компилирует почему Флпрог не пропускает этот код?

Просьба переделать скетч

Добавлено: 29 авг 2017, 20:53
yopopol
rw6cm писал(а):Anydy, скетч же не соответствует скетчу из первого поста.
Прошу прощения промахнулся. вот
rw6cm писал(а):yopopol блоки флп не дают возможность поставить точку с запятой после фигурной скобки.придется вам это делать в скетче вручную.
здесь

Я ошибся,у меня косяк с ком портом. Попробовал через дисплей-всё отлично заработало.Спасибо огромное.

Добавлено (29.08.2017, 20:53)
---------------------------------------------
Anydy писал(а):Да, этот скетч просто так не впихнуть в блок, флпрог не любой код кушает, с секцией declare проблема, то строчки в неверном порядке ставит то еще что то не понимает.В общем если сделать блок, но секцию declare в блоке не прописывать, а прописать непосредственно в скетче при компиляции проекта  - то все работает. Но надо в железе проверять!
Под спойлером код для вставки в самое начало скетча.
не получается компилировать проект, Flprog ругается -" на плате не корректный блок"

Просьба переделать скетч

Добавлено: 29 авг 2017, 21:48
pan
Anydy писал(а):Не понятно почему бы Флпрог не копировать секцию declare в скетч?
прокатывает если вставить код в setup

Просьба переделать скетч

Добавлено: 30 авг 2017, 08:25
Anydy
yopopol писал(а):не получается компилировать проект, Flprog ругается -" на плате не корректный блок"
Вот сделал новый блок из скетча по ссылке в вашем сообщении.
В коде при компиляции ничего не надо менять!
Все компилируется! проверял на флпрог 2.5.0 и 2.5.1
Посмотрите на какие извращения пришлось пойти что бы Флпрог его зажевал))))))

Но вам же надо еще входы / выходы добавить? Пишите что нужно еще сделать!

Добавлено (30.08.2017, 08:25)
---------------------------------------------
pan писал(а):прокатывает если вставить код в setup
как то это вроде не правильно))))
прокатило все в declare добавить!

Просьба переделать скетч

Добавлено: 30 авг 2017, 09:16
rw6cm
Anydy писал(а):Посмотрите на какие извращения пришлось пойти что бы Флпрог его зажевал))))))
+1

yopopol, пробуйте с изменениями.

Просьба переделать скетч

Добавлено: 30 авг 2017, 15:55
yopopol
rw6cm писал(а):yopopol, пробуйте с изменениями.
Ок.Спасибо.
Проверить в работе смогу только вечером.
Anydy писал(а):Вот сделал новый блок из скетча по ссылке в вашем сообщении.
Ваш второй блок компилируется,в работе не проверял.

з.ы. теперь дилема: rw6cm  был  вторым,но блок более полноценный и подходящий,и Anydy т не хочется обидеть,тоже старался всё таки.

Просьба переделать скетч

Добавлено: 30 авг 2017, 16:13
rw6cm
yopopol писал(а):з.ы. теперь дилема:
Нет дилеммы, если разговор о  финансах то Anydy, первый, с ним решайте.
Мне не надо, накрайняк на счет Автора.
Да и блок еще не доведен, меня с неделю не будет, Anydy, как раз доведет его )

Просьба переделать скетч

Добавлено: 30 авг 2017, 17:18
yopopol
Значит так и поступим

Просьба переделать скетч

Добавлено: 30 авг 2017, 18:01
Anydy
yopopol писал(а):теперь дилема: rw6cm был вторым,но блок более полноценный и подходящий
Он только добавил выходы, о чем я у вас и спрашивал...
Проверяйте блок, будем допиливать!))
По финансам....если есть возможность немного пожертвовать, то у меня предложение пустить их во благо сообщества!
Подробнее в личных сообщениях расскажу...

Просьба переделать скетч

Добавлено: 30 авг 2017, 23:12
yopopol
Проверил,прекрасно работает.По поводу выходов: хотелось бы выход  Boolean ,на котором бы появлялся короткий импульс логической "1", при приёме кода с брелка.
Т.е. фиксировать факт нажатия кнопки на брелке.На данный момент в блоке ,который сделал rw6cm, на таком выходе постоянно идёт "дребезг" т.е. если подать на выход данные,то светодиод мерцает.

пример идеи,в приложенном блоке RCSwitch,который был выложен на нашем ресурсе.

Просьба переделать скетч

Добавлено: 31 авг 2017, 00:20
rw6cm
yopopol писал(а):на таком выходе постоянно идёт "дребезг" т.е. если подать на выход данные,то светодиод мерцает.
Выход фиксировал импульсы приходящие с брелка.
Сейчас должен фиксировать только код.
Насколько он будет коротким не знаю, ели что возьмете через Rtrig

Просьба переделать скетч

Добавлено: 02 сен 2017, 15:53
yopopol
rw6cm писал(а):Сейчас должен фиксировать только код.Насколько он будет коротким не знаю, ели что возьмете через Rtrig
 
сейчас выход загорается при первом приёме кода и больше не тухнет,но правда не дрожит

Добавлено (02.09.2017, 15:53)
---------------------------------------------
Вобщем вышел из ситуации: вывел переменную "Encript",которая постоянно меняется при посылке кода. И добавляю блок изменения строки. В итоге получаю импульс при каждом приёме кода. Всем спасибо за помощь,обещанное вознаграждение пересылаю создателю Flprog/