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

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
Аватара пользователя
yopopol
Рядовой
Сообщения: 91
Зарегистрирован: 06.09.2015{, 23:59}
Репутация: 0

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

#1

Сообщение yopopol » 21.08.2017{, 20:04}

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

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

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

Добавлено (21.08.2017, 20:04)
---------------------------------------------
может быть кто нибудь за вознаграждение согласится это сделать?
Вложения
pr4.ino
(6.67 КБ) 44 скачивания

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

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

#2

Сообщение pan » 21.08.2017{, 21:07}

вы его заливали? , пробовали в деле?

Аватара пользователя
yopopol
Рядовой
Сообщения: 91
Зарегистрирован: 06.09.2015{, 23:59}
Репутация: 0

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

#3

Сообщение yopopol » 23.08.2017{, 10:35}

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

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

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

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

#4

Сообщение pan » 23.08.2017{, 11:56}

не получается запихать в блок. пишет блок не корректен. 
 ссылочку можно откуда этот скетч?

Аватара пользователя
yopopol
Рядовой
Сообщения: 91
Зарегистрирован: 06.09.2015{, 23:59}
Репутация: 0

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

#5

Сообщение yopopol » 28.08.2017{, 21:13}

Страницу не сохранял ((
Помню пост был от 2014 или 2015 года.
поищу конечно,но это будет не быстро.

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

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

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

Аватара пользователя
Anydy
Администратор
Сообщения: 3272
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 278
Имя: Андрей

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

#6

Сообщение Anydy » 29.08.2017{, 08:03}

Да, этот скетч просто так не впихнуть в блок, флпрог не любой код кушает, с секцией declare проблема, то строчки в неверном порядке ставит то еще что то не понимает.
В общем если сделать блок, но секцию declare в блоке не прописывать, а прописать непосредственно в скетче при компиляции проекта  - то все работает. Но надо в железе проверять!
Под спойлером код для вставки в самое начало скетча.
СпойлерПоказать
#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

И сам блок
Вложения
tyu-CODE-.ubi
(26.75 КБ) 52 скачивания

Аватара пользователя
yopopol
Рядовой
Сообщения: 91
Зарегистрирован: 06.09.2015{, 23:59}
Репутация: 0

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

#7

Сообщение yopopol » 29.08.2017{, 08:22}

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

Аватара пользователя
rw6cm
Полковник
Сообщения: 2132
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 278
Имя: Владимир

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

#8

Сообщение rw6cm » 29.08.2017{, 12:37}

Anydy, скетч же не соответствует скетчу из первого поста.

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

СпойлерПоказать
Вложения
brelock.flp
(86.12 КБ) 43 скачивания
3128863.png
Последний раз редактировалось rw6cm 29.08.2017{, 12:39}, всего редактировалось 1 раз.
Win10-64, FLProg (portable)

Аватара пользователя
Anydy
Администратор
Сообщения: 3272
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 278
Имя: Андрей

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

#9

Сообщение Anydy » 29.08.2017{, 13:06}

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

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

Аватара пользователя
yopopol
Рядовой
Сообщения: 91
Зарегистрирован: 06.09.2015{, 23:59}
Репутация: 0

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

#10

Сообщение yopopol » 29.08.2017{, 20:53}

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

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

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

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

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

#11

Сообщение pan » 29.08.2017{, 21:48}

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

Аватара пользователя
Anydy
Администратор
Сообщения: 3272
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 278
Имя: Андрей

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

#12

Сообщение Anydy » 30.08.2017{, 08:25}

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

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

Добавлено (30.08.2017, 08:25)
---------------------------------------------
pan писал(а):прокатывает если вставить код в setup
как то это вроде не правильно))))
прокатило все в declare добавить!
Вложения
test35-CODE-.ubi
(22.09 КБ) 49 скачиваний

Аватара пользователя
rw6cm
Полковник
Сообщения: 2132
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 278
Имя: Владимир

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

#13

Сообщение rw6cm » 30.08.2017{, 09:16}

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

yopopol, пробуйте с изменениями.
Вложения
brelock1.flp
(100.97 КБ) 51 скачивание
Последний раз редактировалось rw6cm 30.08.2017{, 10:17}, всего редактировалось 1 раз.
Win10-64, FLProg (portable)

Аватара пользователя
yopopol
Рядовой
Сообщения: 91
Зарегистрирован: 06.09.2015{, 23:59}
Репутация: 0

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

#14

Сообщение yopopol » 30.08.2017{, 15:55}

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

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

Аватара пользователя
rw6cm
Полковник
Сообщения: 2132
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 278
Имя: Владимир

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

#15

Сообщение rw6cm » 30.08.2017{, 16:13}

yopopol писал(а):з.ы. теперь дилема:
Нет дилеммы, если разговор о  финансах то Anydy, первый, с ним решайте.
Мне не надо, накрайняк на счет Автора.
Да и блок еще не доведен, меня с неделю не будет, Anydy, как раз доведет его )
Win10-64, FLProg (portable)

Аватара пользователя
yopopol
Рядовой
Сообщения: 91
Зарегистрирован: 06.09.2015{, 23:59}
Репутация: 0

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

#16

Сообщение yopopol » 30.08.2017{, 17:18}

Значит так и поступим

Аватара пользователя
Anydy
Администратор
Сообщения: 3272
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 278
Имя: Андрей

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

#17

Сообщение Anydy » 30.08.2017{, 18:01}

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

Аватара пользователя
yopopol
Рядовой
Сообщения: 91
Зарегистрирован: 06.09.2015{, 23:59}
Репутация: 0

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

#18

Сообщение yopopol » 30.08.2017{, 23:12}

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

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

Аватара пользователя
rw6cm
Полковник
Сообщения: 2132
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 278
Имя: Владимир

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

#19

Сообщение rw6cm » 31.08.2017{, 00:20}

yopopol писал(а):на таком выходе постоянно идёт "дребезг" т.е. если подать на выход данные,то светодиод мерцает.
Выход фиксировал импульсы приходящие с брелка.
Сейчас должен фиксировать только код.
Насколько он будет коротким не знаю, ели что возьмете через Rtrig
Вложения
brelock2.flp
(105.74 КБ) 55 скачиваний
Win10-64, FLProg (portable)

Аватара пользователя
yopopol
Рядовой
Сообщения: 91
Зарегистрирован: 06.09.2015{, 23:59}
Репутация: 0

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

#20

Сообщение yopopol » 02.09.2017{, 15:53}

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

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

Ответить

Вернуться в «Спросить у знатоков»