Страница 66 из 80

Разработки ecoins

Добавлено: 28 сен 2021, 11:42
Qwert855
данный тест загрузил, он работает.
но ради эксперимента загрузил тест из за которого и возник вопрос, ( что выше 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

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

Разработки ecoins

Добавлено: 28 сен 2021, 18:30
Qwert855
последний блок себя стронно ведет.
как только сконфигурировал его пины под себя он перестал работать.
вернул обратно как в примере опять заработал.

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

Отправлено спустя 13 минут 53 секунды:
гораздо стабильнее показалась библиотека RT_11_HW_MCP23017_2.4 (работает всегда безотказно)
но на сколько понял, в данном блоке нет возможности пины назначить вх / вых только регистры целиком?
и соотв данную схему собрать не получится?
[spoiler]
мср.png
[/spoiler]

Разработки ecoins

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

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

Разработки ecoins

Добавлено: 29 сен 2021, 11:55
Qwert855
[ref]ecoins[/ref], огромное спасибо за поддержку.
попытаюсь сформулировать кратко суть вопроса с которым я столкнулся.

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

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

для наглядности
[spoiler]
мср.png
[/spoiler]

Разработки ecoins

Добавлено: 29 сен 2021, 12:05
ecoins
Qwert855 писал(а): 29 сен 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

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

Разработки ecoins

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

Разработки ecoins

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

Разработки ecoins

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

Разработки ecoins

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

Разработки ecoins

Добавлено: 09 окт 2021, 19:50
o615ye161
starshoy81 писал(а): 09 окт 2021, 16:08 Возьмите блок работы с часами и оттуда берите все данные
он не очень удобен,попробуйте сделать на не реле времени, и сами поймете, при пропадании питания это все слети и работать уже правильно не будет, да и городить много логики нужно

Разработки ecoins

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

Разработки ecoins

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

Разработки ecoins

Добавлено: 10 окт 2021, 08:44
ecoins
GDAN7777 писал(а): 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 : нет в приведенной реализации подвохов с переполнением таймера?

Разработки ecoins

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

Разработки ecoins

Добавлено: 11 окт 2021, 09:26
Sancho
ecoins писал(а): 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
Как-то так.

Разработки ecoins

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

Разработки ecoins

Добавлено: 16 окт 2021, 23:23
o615ye161
Здрастуйте ecoins, возникла проблема, болк DHT22 в вашем исполнении почему то отказывается работать, хотя штатный Flp работает на том же пине не пойму почему ваш не хочет, брал из системы 1,28 соответственно с теми же библиотеками.

Разработки ecoins

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