Страница 65 из 80
Разработки ecoins
Добавлено: 22 сен 2021, 16:14
Sancho
ecoins писал(а): 22 сен 2021, 13:08
Полагаем, что для ответственных проектов в качестве основного лучше использовать Nano,Mega или STM32, а ESP8266 (или ESP32 - 240мГц!!!) использовать для организации канала Wi-Fi.
Значит, не один я так считаю. Это радует.
Разработки ecoins
Добавлено: 22 сен 2021, 17:12
ecoins
Sancho писал(а): 22 сен 2021, 16:14
Значит, не один я так считаю. Это радует.
И для меня это оказалось неожиданно - уже трое, думаю что больше...
Разработки ecoins
Добавлено: 23 сен 2021, 13:56
Dryundel
К стати, [ref]ecoins[/ref], в продолжение разговора об огромных размерах проекта при сохранении.
Похоже к каждому блоку из пакета в проекте при сохранении прицепляется библиотека. И так много раз по количеству блоков в проекте. Попробуйте удалить библиотеку из мультиблоков, оставив ее в librsries.
Разработки ecoins
Добавлено: 23 сен 2021, 14:12
ecoins
Dryundel писал(а): 23 сен 2021, 13:56
К стати, ecoins, в продолжение разговора об огромных размерах проекта при сохранении.
Похоже к каждому блоку из пакета в проекте при сохранении прицепляется библиотека. И так много раз по количеству блоков в проекте. Попробуйте удалить библиотеку из мультиблоков, оставив ее в librsries.
Возможно это влияет, но не очень.
Библиотека RT_HW_BASE.h при большом ко-ве функций и развернутыми комментариями занимает 0.8 мБайт, а самое безобидное добавление в проекте добавляет 4-6 мБайт.
Разработки ecoins
Добавлено: 26 сен 2021, 14:45
o615ye161
Здравствуйте ecoins, скажите пожалуйста может у вас уже есть или вы сможете сделать блок масштабирования в вашем исполнении, так как стандартный работает немного не так как нужно, приведу пример к примеру на вход подается напряжение и его нужно перевести в проценты, допустим, входной верхний предел 12,85 нижний 11,75 и установка выходного предела от 0 до 100 и то что ниже входного предела или выше должно игнорироваться, вот в стандартном блоке не получается добиться такого. частенько нужны подобные преобразования.
Разработки ecoins
Добавлено: 26 сен 2021, 15:03
Naladchik
o615ye161 писал(а): 26 сен 2021, 14:45
...то что ниже входного предела или выше должно игнорироваться...
[spoiler]
111.png
[/spoiler]
Заверните в пользовательский блок на FBD и пользуйтесь.
Константы, само собой, в параметры блока.
Разработки ecoins
Добавлено: 26 сен 2021, 15:19
o615ye161
Naladchik писал(а): 26 сен 2021, 15:03
Заверните в пользовательский блок на FBD и пользуйтесь.
я так и делаю каждый раз, это не удобно, с напряжением это пример, есть куча других параметров, температура, значения и т.д, а под каждый блок городить это долго
Разработки ecoins
Добавлено: 26 сен 2021, 15:26
Dryundel
[ref]o615ye161[/ref], Блок SCALE работает правильно, а для ограничения пределов, воспользуйтесь блоком LIMIT из папки Алгебра.
Отправлено спустя 2 минуты 26 секунд:
Поставьте его хоть по выходу хоть по входу SCALE
Разработки ecoins
Добавлено: 26 сен 2021, 20:30
o615ye161
Dryundel писал(а): 26 сен 2021, 15:26
o615ye161, Блок SCALE работает правильно, а для ограничения пределов, воспользуйтесь блоком LIMIT из папки Алгебра.
А я и не говорил, что он работает не правильно, (не так как нужно), спасибо за совет обязательно попробую.
Разработки ecoins
Добавлено: 26 сен 2021, 21:20
Phazz
Могу предложить еще вариант
2021-09-26 23-19-24 Нелинейное масштабирование.png
Разработки ecoins
Добавлено: 26 сен 2021, 21:37
o615ye161
Phazz писал(а): 26 сен 2021, 21:20
Могу предложить еще вариант
Спасибо, на самом деле я активно использую блоки ecoins и одновременно их тестирую в развивающемся проекте, типа умный дом и контроль солнечной станции мощностью 700W с акб общей емкостью пока 460Ah? поэтому в проекте иногда нужны нестандартные решения так как все это хозяйство работает и одновременно что то в этом проекте изучаю, данный проект 100% создан с ноля именно мной от платы до программы, и еще есть куда развиваться, станция на 12V, но скоро еще добавится инвертор который будет брать излишки солнечной энергии и работать при отключении сети 220v
Разработки ecoins
Добавлено: 26 сен 2021, 22:06
ecoins
o615ye161 писал(а): 26 сен 2021, 14:45
Здравствуйте ecoins, скажите пожалуйста может у вас уже есть или вы сможете сделать блок масштабирования в вашем исполнении, так как стандартный работает немного не так как нужно, приведу пример к примеру на вход подается напряжение и его нужно перевести в проценты, допустим, входной верхний предел 12,85 нижний 11,75 и установка выходного предела от 0 до 100 и то что ниже входного предела или выше должно игнорироваться, вот в стандартном блоке не получается добиться такого. частенько нужны подобные преобразования.
Понял о чем Вы. Мне тоже в проектах такой бывает нужно.
Добавлю, но попозже.
Naladchik убедил меня, что для уменьшения размеров проекта блоки придётся немного переделывать.
Если от разработчика в течении пару недель не будет обратной связи, начну переделывать....
Разработки ecoins
Добавлено: 26 сен 2021, 22:07
Dryundel
o615ye161 писал(а): 26 сен 2021, 21:37
поэтому в проекте иногда нужны нестандартные решения
Ну так в чем же дело? Нужны нестандартные, как говорится СДЕЛАЙ САМ. Раз разобрался как сделать все это, то и С++ освоишь. Там делов то в одну строчку кода, чтобы объединить map() и constrain().
Типа вот это в блок и все. -
constrain(map(a, b, c, d, e), f, g) или так -
map(constrain(a, f, g), b, c, d, e)
в зависимости по входу или выходу лимитим. Это весь код для блока.
ecoins то тут зачем?
Разработки ecoins
Добавлено: 26 сен 2021, 22:23
ecoins
o615ye161 писал(а): 26 сен 2021, 21:37
Спасибо, на самом деле я активно использую блоки ecoins и
Спасибо за активное использование блоков ecoins.
У Вас интересный проект.
Успехов.
Отправлено спустя 14 минут 56 секунд:
Dryundel писал(а): 26 сен 2021, 22:07
Ну так в чем же дело? Нужны нестандартные, как говорится СДЕЛАЙ САМ. Раз разобрался как сделать все это, то и С++ освоишь. Там делов то в одну строчку кода, чтобы объединить map() и constrain().
Типа вот это в блок и все. - constrain(map(a, b, c, d, e), f, g) или так - map(constrain(a, f, g), b, c, d, e)
в зависимости по входу или выходу лимитим. Это весь код для блока.
Кажется у подобных функций Arduino не очень получается с дробными числами....
Разработки ecoins
Добавлено: 26 сен 2021, 22:35
o615ye161
ecoins писал(а): 26 сен 2021, 22:06
Добавлю, но попозже.
За раннее благодарю!
Разработки ecoins
Добавлено: 27 сен 2021, 00:36
Dryundel
ecoins писал(а): 26 сен 2021, 22:23
Кажется у подобных функций Arduino не очень получается с дробными числами....
Отчего же. constrain() очень даже принимает float , а map() не может возвращать float, возвращает целочисленное, но как аргумент принимает и отбрасывает дробную часть. Об этом даже в описании блока говорится.
Ну так это надо учитывать и множители использовать, если требуется точность.
А у Вас есть другое предложение? Типа mapf() ? Так не катит.
Хотя почему не катит.
Можно типа:
float mapf(float value, float istart, float istop, float ostart, float ostop) {
return ostart + (ostop - ostart) * ((value - istart) / (istop - istart));
}

Дарю. Будет еще одна команда в языке ECO++
Отправлено спустя 1 час 4 минуты 49 секунд:
o615ye161 писал(а): 26 сен 2021, 22:35
За раннее благодарю!
За что? Все это реализовано в стандартных блоках. Короче кода при компиляции не получится.
[spoiler=Лимиты]
Лимит.jpg
[/spoiler]
А хотите что бы точней было, добавьте множитель.
[spoiler=Лимиты2]
Лимит2.jpg
[/spoiler]
Разработки ecoins
Добавлено: 27 сен 2021, 19:14
Qwert855
кто то запускал MCP23017 на ESP8266 с блоками из шапки от
библиотека RT_00_HW_BASE_v6_71.rar
блоки EIS_01_СИСТЕМАвер_1_26(19_09_21).rar
MCP23017 запустилась на Arduino Nano и напрочь не желает это повторить на Wemos D1 mini (настройки блока одни и те же, ниже).
Скетч при этом заливается без ошибок, никаких больше устройств на шине нет.
сам скетч - это один блок на плате.
[spoiler]
MCP.png
[/spoiler]
В прошлой версии блоков MCP23017, IDE ругалась на строку кода с параметром блока "Y" == "Y" не зависимо от комбинации с "N" , скетч не заливался.
Спасибо.
Разработки ecoins
Добавлено: 27 сен 2021, 19:20
ecoins
Qwert855 писал(а): 27 сен 2021, 19:14
кто то запускал MCP23017 на ESP8266 с блоками из шапки от
библиотека RT_00_HW_BASE_v6_71.rar
блоки EIS_01_СИСТЕМАвер_1_26(19_09_21).rar
Пришлите проект.
Вы сканировали шину i2c - какие адреса были обнаружены.
На ESP32 тестировали недавно, на ESP8266 несколько ранее.
Давайте посмотрим на Вашем проекте.
Разработки ecoins
Добавлено: 28 сен 2021, 00:56
Qwert855
я не сканировал адреса i2c , т.к. штатный блок работал с нулевым адресом. (на обоих МК) но при этом унижал МК с 1200 циклов в сек до 48.
настройки на ардуино работают как на скрине выше.
прогнал поиск i2c - ЕСП видит адрес 20.
сам проект что не запустился ниже, на скрине выше он весь и есть. один блок на одной плате, хотел посмотреть как он повлияет на циклы МК.
Отправлено спустя 34 минуты 34 секунды:
залил то же самое в ESP01 так же тишина.
Отправлено спустя 1 час 31 минуту 25 секунд:
методом перебора встретил данный пост
viewtopic.php?f=181&t=5426&p=97069&hili ... 017#p97069
блок и библиотека с него запустились на ЕСП8266 (на той же сборке, те же платы, версии программы и тд).
ранее попадалась еще одна промежуточная версия библиотеки с блоком, там была ошибка на этой строке
библиотека RT_11_HW_MCP23017_2.2
Код: Выделить всё
if('Y' == 'Y') RT_HW_mcp23017.hive.permit_bus=true;
Отправлено спустя 30 минут 27 секунд:
Библиотека RT_11_HW_MCP23017_2.4 с блоком не идет в сравнение со штатной.
МК не просаживается

Разработки ecoins
Добавлено: 28 сен 2021, 01:55
ecoins
Qwert855 писал(а): 28 сен 2021, 00:56
методом перебора встретил данный пост
viewtopic.php?f=181&t=5426&p=97069&hili ... 017#p97069
блок и библиотека с него запустились на ЕСП8266 (на той же сборке, те же платы, версии программы и тд).
ранее попадалась еще одна промежуточная версия библиотеки с блоком, там была ошибка на этой строке
библиотека RT_11_HW_MCP23017_2.2
Qwert855 писал(а): 28 сен 2021, 00:56
Библиотека RT_11_HW_MCP23017_2.4 с блоком не идет в сравнение со штатной.
МК не просаживается
Выкладываю тест mcp23017 - бегущие "1" 50мс специально для ESP8266.
mcp23017.png
FLProg_Test08_DS1820_Lcd_mcp23017_ESP8266_v02.zip
Работает на библиотеках, размещенные в первом посте.
Тестировано на ESP8266.
На LCD выводится быстродействие, показание с DS1820 и мерцающая *.
Быстродействие теста 63800 циклов loop() в сек.