Разработки ecoins

Библиотеки для разных контроллеров

Qwert855
Сержант
Сообщения: 159
Зарегистрирован: 19.12.2020{, 23:57}
Репутация: 7
Имя: Alex

Разработки ecoins

#1301

Сообщение Qwert855 » 28.09.2021{, 11:07}

данный тест загрузил, он работает.
но ради эксперимента загрузил тест из за которого и возник вопрос, ( что выше D1)) он так же запустился.
единственные события это замена RT_11_HW_MCP23017_2.2 на RT_11_HW_MCP23017_2.4
в последствии удалил RT_11_HW_MCP23017_2.4 так же работает последний блок на RT_00_HW_BASE_v6.71

ради понимания произошедшего, перешел на другой РС на котором так же не работал блок. (ФЛП 733 IDE 1.8.13)
на рабочей светящейся макетке залил тот же скетч (ваш пример выше) - макетка померла.
скинул ту же библиотеку RT_11_HW_MCP23017_2.4 , загрузил повторно пример, ест но обращения к ней нет не помогло
использовал блок под библиотеку RT_11_HW_MCP23017_2.4 - МСР заработала
загрузил обратно пример - не работает.
испробовал все что знал - дошло даже до перезагрузки РС :D
не работает.

если пойму что стало следствием запуска MCP допишу :smile44: .
Попробую еще ФЛП обновить как на первом РС до 738

Отправлено спустя 34 минуты 9 секунд:
нашел причину.
версия ядра ЕСП. была 2.7.4 обновил до последней.
тест заработал.

Отправлено спустя 1 минуту 29 секунд:
вспоминаю что вчера обновлял ядро ЕСП на первом РС.
но как то на автомате не придал значения. (зря)

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1302

Сообщение ecoins » 28.09.2021{, 14:11}

Qwert855 писал(а):
28.09.2021{, 11:42}
нашел причину.
версия ядра ЕСП. была 2.7.4 обновил до последней.
тест заработал.
Возможно из-за этого, но вряд ли.
Здорово что всё у Вас заработало.
И замечательно, что Вы с таким вниманием и тщательностью исследуете возникающие проблемы.
Спасибо.
Успехов.

Qwert855
Сержант
Сообщения: 159
Зарегистрирован: 19.12.2020{, 23:57}
Репутация: 7
Имя: Alex

Разработки ecoins

#1303

Сообщение Qwert855 » 28.09.2021{, 17:35}

последний блок себя стронно ведет.
как только сконфигурировал его пины под себя он перестал работать.
вернул обратно как в примере опять заработал.

т.е работает только когда все пины выход.

Отправлено спустя 13 минут 53 секунды:
гораздо стабильнее показалась библиотека RT_11_HW_MCP23017_2.4 (работает всегда безотказно)
но на сколько понял, в данном блоке нет возможности пины назначить вх / вых только регистры целиком?
и соотв данную схему собрать не получится?
СпойлерПоказать
мср.png
Вложения
_v02.zip
(1.19 МБ) 19 скачиваний

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1304

Сообщение ecoins » 28.09.2021{, 20:58}

Qwert855 писал(а):
28.09.2021{, 18:30}
последний блок себя странно ведет.
как только сконфигурировал его пины под себя он перестал работать.
вернул обратно как в примере опять заработал.
Сейчас в отъезде и стенда хорошего под руками нет.
На следующей неделю посмотрю.
Но что-то похожее уже было и мы исправляли...
Позже дам ссылку.
-------
viewtopic.php?t=5426&start=1180#p105786
На следующей недели дам развернутый ответ.

Отправлено спустя 19 минут 31 секунду:
Qwert855 писал(а):
28.09.2021{, 18:30}
последний блок себя странно ведет.
как только сконфигурировал его пины под себя он перестал работать.
вернул обратно как в примере опять заработал.
Сейчас в отъезде и стенда хорошего под руками нет.
На следующей неделю посмотрю.
Но что-то похожее уже было и мы исправляли...
Позже дам ссылку.
-------
viewtopic.php?t=5426&start=1180#p105786
На следующей недели дам развернутый ответ.
----------------------------------
Посмотрел Ваш проект D1 - не понял, что именно у Вас не работает -входы/выходы?
Посмотрите тест, который недавно проверялся на ESP32
https://forum.flprпоog.ru/viewtopic.php ... 80#p106635
посты #1280,1281
Вложения
тестecoins_ver2.rar
(369.05 КБ) 17 скачиваний

Qwert855
Сержант
Сообщения: 159
Зарегистрирован: 19.12.2020{, 23:57}
Репутация: 7
Имя: Alex

Разработки ecoins

#1305

Сообщение Qwert855 » 29.09.2021{, 11:55}

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

в мое случае при использовании последнего вашего примера "FLProg_Test08_DS1820_Lcd_mcp23017_ESP8266_v02.zip" и библиотеки "RT_00_HW_BASE_v6.71"

- при загрузке примера "FLProg_Test08_DS1820_Lcd_mcp23017_ESP8266_v02.zip" в МК без изменений как есть - все отлично работает, бегут сигналы по МСР.
- если изменить один регистр с выхода на вход и загрузить его в таком виде в МК (ничего больше не меняя), МСР не подает признаков активности.
- Если вернуть обратно регистр на выход и загрузить в МК - сновав МСР работает.

для наглядности
СпойлерПоказать
мср.png

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1306

Сообщение ecoins » 29.09.2021{, 12:05}

Qwert855 писал(а):
29.09.2021{, 11:55}
ecoins, огромное спасибо за поддержку.
попытаюсь сформулировать кратко суть вопроса с которым я столкнулся.

в мое случае при использовании последнего вашего примера "FLProg_Test08_DS1820_Lcd_mcp23017_ESP8266_v02.zip" и библиотеки "RT_00_HW_BASE_v6.71"

- при загрузке примера "FLProg_Test08_DS1820_Lcd_mcp23017_ESP8266_v02.zip" в МК без изменений как есть - все отлично работает, бегут сигналы по МСР.
- если изменить один регистр с выхода на вход и загрузить его в таком виде в МК (ничего больше не меняя), МСР не подает признаков активности.
- Если вернуть обратно регистр на выход и загрузить в МК - сновав МСР работает.

для наглядности
Важная информация.
Смогу проверить на следующей недели.

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1307

Сообщение ecoins » 02.10.2021{, 14:15}

viewtopic.php?f=133&t=7604#p107092
Вариант проекта автору по ссылке:
1.ESP8266
2.Сенсор max6675
3.Дисплей Nextion (маленький)
4.Дисплей для отладки LCD HD44780
Проект.png
MAX6675_HMI.JPG
Стенд.jpg
---
Исполнительные файлы
VJQ_eis.zip
(1.03 МБ) 29 скачиваний
QWE.HMI
(1.24 МБ) 27 скачиваний
--------------------
Дисплей Nextion подключен через SoftSerial на скорости 115200 (когда-то проверял на ESP8266 - работает)

o615ye161
Сержант
Сообщения: 198
Зарегистрирован: 19.12.2019{, 14:47}
Репутация: 3
Имя: Сергей

Разработки ecoins

#1308

Сообщение o615ye161 » 08.10.2021{, 07:58}

Здравствуйте ecoins, подскажите пожалуйста по блоку многофункциональный генератор, могу ли я его использовать как таймер 1 час работает 40мин не работает и в каком формате подставить значения, лонг инт?

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1309

Сообщение ecoins » 08.10.2021{, 19:13}

o615ye161 писал(а):
08.10.2021{, 07:58}
Здравствуйте ecoins, подскажите пожалуйста по блоку многофункциональный генератор, могу ли я его использовать как таймер 1 час работает 40мин не работает и в каком формате подставить значения, лонг инт?
Генератор с такими возможностями не реализовывался.
Во многом из-за того, что такие режимы вполне удобно реализованы в стандартном таймере.
Многофункциональный генератор больше планировался для планирования задач и других сервисных функций. В качестве входа используются переменные int16_t.
Такой режим реализовать возможно, но вроде незачем.
Может быть будет к делителю фронтов со временем добавим делитель импульсов - тогда возможно будет реализовать каскадное деление импульсов.

o615ye161
Сержант
Сообщения: 198
Зарегистрирован: 19.12.2019{, 14:47}
Репутация: 3
Имя: Сергей

Разработки ecoins

#1310

Сообщение o615ye161 » 08.10.2021{, 22:14}

ecoins писал(а):
08.10.2021{, 19:13}
Такой режим реализовать возможно, но вроде незачем.
Было бы круто, чтобы был многофункциональный блок работы с временем, иногда нужен суточный таймер с определенными интервалами работы, ну и многое другое.
ecoins писал(а):
08.10.2021{, 19:13}
Генератор с такими возможностями не реализовывался.
жаль конечно, благодарю за ответ.

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

Разработки ecoins

#1311

Сообщение starshoy81 » 09.10.2021{, 16:08}

o615ye161 писал(а):
08.10.2021{, 22:14}
Было бы круто, чтобы был многофункциональный блок работы с временем, иногда нужен суточный таймер с определенными интервалами работы, ну и многое другое.
Возьмите блок работы с часами и оттуда берите все данные. Так будет точнее, чем импульсы с генератора считать.

o615ye161
Сержант
Сообщения: 198
Зарегистрирован: 19.12.2019{, 14:47}
Репутация: 3
Имя: Сергей

Разработки ecoins

#1312

Сообщение o615ye161 » 09.10.2021{, 19:50}

starshoy81 писал(а):
09.10.2021{, 16:08}
Возьмите блок работы с часами и оттуда берите все данные
он не очень удобен,попробуйте сделать на не реле времени, и сами поймете, при пропадании питания это все слети и работать уже правильно не будет, да и городить много логики нужно

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

Разработки ecoins

#1313

Сообщение starshoy81 » 09.10.2021{, 20:20}

o615ye161 писал(а):
09.10.2021{, 19:50}
при пропадании питания
импульсы с генератора тоже слетят и городить тоже много надо. А с часов с батарейкой ничего не слетает.
Чем будильник не устраивает?
будильник.PNG
Вот полив по времени на 40 мин со сторонним блоком ещё года от 2017 наверное.
полив по времени.PNG
Установка часов.
уст часов.PNG

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1314

Сообщение ecoins » 10.10.2021{, 08:09}

ecoins писал(а):
08.10.2021{, 19:13}
Генератор с такими возможностями не реализовывался.
Во многом из-за того, что такие режимы вполне удобно реализованы в стандартном таймере.
Многофункциональный генератор больше планировался для планирования задач и других сервисных функций. В качестве входа используются переменные int16_t.
Такой режим реализовать возможно, но вроде незачем.
Может быть будет к делителю фронтов со временем добавим делитель импульсов - тогда возможно будет реализовать каскадное деление импульсов.
o615ye161 писал(а):
08.10.2021{, 22:14}
Было бы круто, чтобы был многофункциональный блок работы с временем, иногда нужен суточный таймер с определенными интервалами работы, ну и многое другое.
Был не прав по стандартному генератором - внешние входы там только int.
В генератор ecoins добавил выбор формата входов (v16/v32), проверил на Arduino Nano.
FLProg_Test_GeneratorPulse.rar
(93.01 КБ) 23 скачивания
Test_Pulse_1.png
На больших значениях должно работать.
-------------------
Для работы теста из первого поста потребуется скачать новые версии библиотек от 10.10.21
------------------
Успехов.

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1315

Сообщение ecoins » 10.10.2021{, 08:44}

GDAN7777 писал(а):
10.10.2021{, 08:38}
Позвольте уточнить,генератор реализован программно или аппаратно?
Программно.
---------------------
struct RT_HW_GENERATOR_EVENT_ID {uint32_t time; uint8_t dir=0; uint8_t meander:1, event:1;}; //--Для генератора меандров и событий;
bool RT_HW_BASE:: generatorPulse(RT_HW_GENERATOR_PULSE_ID &id, uint8_t EN, uint16_t timeON, uint16_t timeOFF){ //==Генератор импульсов (v16);
if(id.dir==0) {if(EN) {id.dir=3;} else {return 0;}}
if(id.dir==1) {if(millis()>=id.time) {id.time+=timeOFF; id.dir=2; return 0;} else {return 1;}}
if(id.dir==2) {if(millis()>=id.time) {id.dir=3;}}
if(id.dir>=3) {if(EN) {id.time=RT_HW_MILLIS+timeON; id.dir=1; return 1;}
else {id.dir=0; return 0;}} return 0;};
bool RT_HW_BASE:: generatorPul32(RT_HW_GENERATOR_PULSE_ID &id, uint8_t EN, uint32_t timeON, uint32_t timeOFF){ //==Генератор импульсов (v32);
if(id.dir==1) {if(millis()>=id.time) {id.time+=timeOFF; id.dir=2; return 0;} else {return 1;}}
if(id.dir==2) {if(millis()>=id.time) {id.dir=3;}}
if(id.dir>=3) {if(EN) {id.time=RT_HW_MILLIS+timeON; id.dir=1; return 1;}
else {id.dir=0; return 0;}} return 0;};
------------------------------------------------------
Вопрос к Sancho : нет в приведенной реализации подвохов с переполнением таймера?

o615ye161
Сержант
Сообщения: 198
Зарегистрирован: 19.12.2019{, 14:47}
Репутация: 3
Имя: Сергей

Разработки ecoins

#1316

Сообщение o615ye161 » 10.10.2021{, 22:49}

ecoins писал(а):
10.10.2021{, 08:09}
Для работы теста из первого поста потребуется скачать новые версии библиотек от 10.10.21
Благодарю, будем тестить

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Разработки ecoins

#1317

Сообщение Sancho » 11.10.2021{, 09:26}

ecoins писал(а):
10.10.2021{, 08:44}
Вопрос к Sancho : нет в приведенной реализации подвохов с переполнением таймера?
millis()>=id.time - очень неправильная вещь.
При сравнении, в отличии вычитания, использование "невидимого" старшего разряда не работает.
Т.е. в момент времени, когда значение, возвращаемое функцией millis() изменит своё значение
с 0xFFFFFFFF на 0х00000000, придёт не совсем ожидаемый результат.
Посему, самым правильным будет измерять "пройденное расстояние", и сравнивать с нужным, больше или меньше, по желанию.
Это вытекает из выше-упомянутого, а именно, например, 0х00000002 - 0xFFFFFFFE = 4,
где
0х00000002 - результат millis()
0xFFFFFFFE - например, id.time
и потом можем сравнить с ожидаемым, не прибавляя его заранее,
а Ваше использование if(millis()>=id.time) в таком случае вернёт нам else
Выполнение millis() занимает около 2us на 328/16м. Иногда, для удобства, проще один раз присвоить временной переменной и работать в функции с ней.
Ну и советую не забывать, что штатная функция от Wiring() - millis() считает время "скачками" по 42 миллисекунды и оно плавает на плюс-минус 1 миллисекунду с этим периодом. Из-за этого, не бывает 42, 84 .. и т.д. "миллисекунд". После 41 всегда идет 43. :)
Это из-за 1024 us/ms
Как-то так.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1318

Сообщение ecoins » 11.10.2021{, 11:26}

Sancho писал(а):
11.10.2021{, 09:26}
millis()>=id.time - очень неправильная вещь.
При сравнении, в отличии вычитания, использование "невидимого" старшего разряда не работает.
Т.е. в момент времени, когда значение, возвращаемое функцией millis() изменит своё значение
с 0xFFFFFFFF на 0х00000000, придёт не совсем ожидаемый результат.
Спасибо. Подкорректирую в библиотеке.

o615ye161
Сержант
Сообщения: 198
Зарегистрирован: 19.12.2019{, 14:47}
Репутация: 3
Имя: Сергей

Разработки ecoins

#1319

Сообщение o615ye161 » 16.10.2021{, 23:23}

Здрастуйте ecoins, возникла проблема, болк DHT22 в вашем исполнении почему то отказывается работать, хотя штатный Flp работает на том же пине не пойму почему ваш не хочет, брал из системы 1,28 соответственно с теми же библиотеками.
Вложения
WhatsApp Image 2021-10-16 at 23.16.40.jpeg
блок ecoins
WhatsApp Image 2021-10-16 at 23.16.39.jpeg
Стандартный блок
Mega_dom7.3.8_nev_remote.rar
(695.86 КБ) 40 скачиваний

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1320

Сообщение ecoins » 17.10.2021{, 10:52}

o615ye161 писал(а):
16.10.2021{, 23:23}
Сообщение o615ye161 » Вчера{, 20:23}
Здрастуйте ecoins, возникла проблема, болк DHT22 в вашем исполнении почему то отказывается работать, хотя штатный Flp работает на том же пине не пойму почему ваш не хочет, брал из системы 1,28 соответственно с теми же библиотеками.
Очень интересный проект.
Возникшей проблемой занимаюсь.
Позже напишу подробнее.

Закрыто

Вернуться в «Команда ecoins»