Разработки ecoins

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

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

Разработки ecoins

#1281

Сообщение Sancho » 22.09.2021{, 16:14}

ecoins писал(а):
22.09.2021{, 13:08}
Полагаем, что для ответственных проектов в качестве основного лучше использовать Nano,Mega или STM32, а ESP8266 (или ESP32 - 240мГц!!!) использовать для организации канала Wi-Fi.
Значит, не один я так считаю. Это радует.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

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

Разработки ecoins

#1282

Сообщение ecoins » 22.09.2021{, 17:12}

Sancho писал(а):
22.09.2021{, 16:14}
Значит, не один я так считаю. Это радует.
И для меня это оказалось неожиданно - уже трое, думаю что больше...

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Разработки ecoins

#1283

Сообщение Dryundel » 23.09.2021{, 13:56}

К стати, ecoins, в продолжение разговора об огромных размерах проекта при сохранении.
Похоже к каждому блоку из пакета в проекте при сохранении прицепляется библиотека. И так много раз по количеству блоков в проекте. Попробуйте удалить библиотеку из мультиблоков, оставив ее в librsries.

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

Разработки ecoins

#1284

Сообщение ecoins » 23.09.2021{, 14:12}

Dryundel писал(а):
23.09.2021{, 13:56}
К стати, ecoins, в продолжение разговора об огромных размерах проекта при сохранении.
Похоже к каждому блоку из пакета в проекте при сохранении прицепляется библиотека. И так много раз по количеству блоков в проекте. Попробуйте удалить библиотеку из мультиблоков, оставив ее в librsries.
Возможно это влияет, но не очень.
Библиотека RT_HW_BASE.h при большом ко-ве функций и развернутыми комментариями занимает 0.8 мБайт, а самое безобидное добавление в проекте добавляет 4-6 мБайт.

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

Разработки ecoins

#1285

Сообщение o615ye161 » 26.09.2021{, 14:45}

Здравствуйте ecoins, скажите пожалуйста может у вас уже есть или вы сможете сделать блок масштабирования в вашем исполнении, так как стандартный работает немного не так как нужно, приведу пример к примеру на вход подается напряжение и его нужно перевести в проценты, допустим, входной верхний предел 12,85 нижний 11,75 и установка выходного предела от 0 до 100 и то что ниже входного предела или выше должно игнорироваться, вот в стандартном блоке не получается добиться такого. частенько нужны подобные преобразования.

Naladchik
Капитан
Сообщения: 822
Зарегистрирован: 04.10.2015{, 19:10}
Репутация: 151
Откуда: Новосибирск
Имя: Павел

Разработки ecoins

#1286

Сообщение Naladchik » 26.09.2021{, 15:03}

o615ye161 писал(а):
26.09.2021{, 14:45}
...то что ниже входного предела или выше должно игнорироваться...
СпойлерПоказать
111.png
111.png (7.5 КБ) 438 просмотров
Заверните в пользовательский блок на FBD и пользуйтесь.
Константы, само собой, в параметры блока.
Win10-64. FLProg Portable.
Изображение

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

Разработки ecoins

#1287

Сообщение o615ye161 » 26.09.2021{, 15:19}

Naladchik писал(а):
26.09.2021{, 15:03}
Заверните в пользовательский блок на FBD и пользуйтесь.
я так и делаю каждый раз, это не удобно, с напряжением это пример, есть куча других параметров, температура, значения и т.д, а под каждый блок городить это долго

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Разработки ecoins

#1288

Сообщение Dryundel » 26.09.2021{, 15:23}

o615ye161, Блок SCALE работает правильно, а для ограничения пределов, воспользуйтесь блоком LIMIT из папки Алгебра.

Отправлено спустя 2 минуты 26 секунд:
Поставьте его хоть по выходу хоть по входу SCALE

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

Разработки ecoins

#1289

Сообщение o615ye161 » 26.09.2021{, 20:30}

Dryundel писал(а):
26.09.2021{, 15:26}
o615ye161, Блок SCALE работает правильно, а для ограничения пределов, воспользуйтесь блоком LIMIT из папки Алгебра.
А я и не говорил, что он работает не правильно, (не так как нужно), спасибо за совет обязательно попробую.

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Разработки ecoins

#1290

Сообщение Phazz » 26.09.2021{, 21:20}

Могу предложить еще вариант
2021-09-26 23-19-24 Нелинейное масштабирование.png

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

Разработки ecoins

#1291

Сообщение o615ye161 » 26.09.2021{, 21:37}

Phazz писал(а):
26.09.2021{, 21:20}
Могу предложить еще вариант
Спасибо, на самом деле я активно использую блоки ecoins и одновременно их тестирую в развивающемся проекте, типа умный дом и контроль солнечной станции мощностью 700W с акб общей емкостью пока 460Ah? поэтому в проекте иногда нужны нестандартные решения так как все это хозяйство работает и одновременно что то в этом проекте изучаю, данный проект 100% создан с ноля именно мной от платы до программы, и еще есть куда развиваться, станция на 12V, но скоро еще добавится инвертор который будет брать излишки солнечной энергии и работать при отключении сети 220v
Вложения
WhatsApp Image 2021-09-26 at 21.27.17.jpeg
WhatsApp Image 2021-09-26 at 21.27.18.jpeg

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

Разработки ecoins

#1292

Сообщение ecoins » 26.09.2021{, 22:06}

o615ye161 писал(а):
26.09.2021{, 14:45}
Здравствуйте ecoins, скажите пожалуйста может у вас уже есть или вы сможете сделать блок масштабирования в вашем исполнении, так как стандартный работает немного не так как нужно, приведу пример к примеру на вход подается напряжение и его нужно перевести в проценты, допустим, входной верхний предел 12,85 нижний 11,75 и установка выходного предела от 0 до 100 и то что ниже входного предела или выше должно игнорироваться, вот в стандартном блоке не получается добиться такого. частенько нужны подобные преобразования.
Понял о чем Вы. Мне тоже в проектах такой бывает нужно.
Добавлю, но попозже.
Naladchik убедил меня, что для уменьшения размеров проекта блоки придётся немного переделывать.
Если от разработчика в течении пару недель не будет обратной связи, начну переделывать....

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Разработки ecoins

#1293

Сообщение Dryundel » 26.09.2021{, 22:07}

o615ye161 писал(а):
26.09.2021{, 21:37}
поэтому в проекте иногда нужны нестандартные решения
Ну так в чем же дело? Нужны нестандартные, как говорится СДЕЛАЙ САМ. Раз разобрался как сделать все это, то и С++ освоишь. Там делов то в одну строчку кода, чтобы объединить map() и constrain().
Типа вот это в блок и все. - constrain(map(a, b, c, d, e), f, g) или так - map(constrain(a, f, g), b, c, d, e)
в зависимости по входу или выходу лимитим. Это весь код для блока. :)
ecoins то тут зачем?
Последний раз редактировалось Dryundel 26.09.2021{, 22:20}, всего редактировалось 2 раза.

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

Разработки ecoins

#1294

Сообщение ecoins » 26.09.2021{, 22:09}

o615ye161 писал(а):
26.09.2021{, 21:37}
Спасибо, на самом деле я активно использую блоки ecoins и
Спасибо за активное использование блоков ecoins.
У Вас интересный проект.
Успехов.

Отправлено спустя 14 минут 56 секунд:
Dryundel писал(а):
26.09.2021{, 22:07}
Ну так в чем же дело? Нужны нестандартные, как говорится СДЕЛАЙ САМ. Раз разобрался как сделать все это, то и С++ освоишь. Там делов то в одну строчку кода, чтобы объединить map() и constrain().
Типа вот это в блок и все. - constrain(map(a, b, c, d, e), f, g) или так - map(constrain(a, f, g), b, c, d, e)
в зависимости по входу или выходу лимитим. Это весь код для блока.
Кажется у подобных функций Arduino не очень получается с дробными числами....

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

Разработки ecoins

#1295

Сообщение o615ye161 » 26.09.2021{, 22:35}

ecoins писал(а):
26.09.2021{, 22:06}
Добавлю, но попозже.
За раннее благодарю!

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Разработки ecoins

#1296

Сообщение Dryundel » 26.09.2021{, 23:31}

ecoins писал(а):
26.09.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.09.2021{, 22:35}
За раннее благодарю!
За что? Все это реализовано в стандартных блоках. Короче кода при компиляции не получится.
ЛимитыПоказать
Лимит.jpg
Лимит.jpg (11.82 КБ) 934 просмотра
А хотите что бы точней было, добавьте множитель.
Лимиты2Показать
Лимит2.jpg

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

Разработки ecoins

#1297

Сообщение Qwert855 » 27.09.2021{, 19:14}

кто то запускал MCP23017 на ESP8266 с блоками из шапки от
библиотека RT_00_HW_BASE_v6_71.rar
блоки EIS_01_СИСТЕМАвер_1_26(19_09_21).rar

MCP23017 запустилась на Arduino Nano и напрочь не желает это повторить на Wemos D1 mini (настройки блока одни и те же, ниже).
Скетч при этом заливается без ошибок, никаких больше устройств на шине нет.
сам скетч - это один блок на плате.
СпойлерПоказать
MCP.png
В прошлой версии блоков MCP23017, IDE ругалась на строку кода с параметром блока "Y" == "Y" не зависимо от комбинации с "N" , скетч не заливался.

Спасибо.

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

Разработки ecoins

#1298

Сообщение ecoins » 27.09.2021{, 19:20}

Qwert855 писал(а):
27.09.2021{, 19:14}
кто то запускал MCP23017 на ESP8266 с блоками из шапки от
библиотека RT_00_HW_BASE_v6_71.rar
блоки EIS_01_СИСТЕМАвер_1_26(19_09_21).rar
Пришлите проект.
Вы сканировали шину i2c - какие адреса были обнаружены.
На ESP32 тестировали недавно, на ESP8266 несколько ранее.
Давайте посмотрим на Вашем проекте.

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

Разработки ecoins

#1299

Сообщение Qwert855 » 27.09.2021{, 22:20}

я не сканировал адреса 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 с блоком не идет в сравнение со штатной.
МК не просаживается :smile9:
Вложения
D1.zip
(134.57 КБ) 18 скачиваний

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

Разработки ecoins

#1300

Сообщение ecoins » 28.09.2021{, 01:55}

Qwert855 писал(а):
28.09.2021{, 00:56}
методом перебора встретил данный пост
viewtopic.php?f=181&t=5426&p=97069&hili ... 017#p97069
блок и библиотека с него запустились на ЕСП8266 (на той же сборке, те же платы, версии программы и тд).

ранее попадалась еще одна промежуточная версия библиотеки с блоком, там была ошибка на этой строке
библиотека RT_11_HW_MCP23017_2.2
Qwert855 писал(а):
28.09.2021{, 00:56}
Библиотека RT_11_HW_MCP23017_2.4 с блоком не идет в сравнение со штатной.
МК не просаживается
Выкладываю тест mcp23017 - бегущие "1" 50мс специально для ESP8266.
mcp23017.png
FLProg_Test08_DS1820_Lcd_mcp23017_ESP8266_v02.zip
(931.54 КБ) 33 скачивания
Работает на библиотеках, размещенные в первом посте.
Тестировано на ESP8266.
На LCD выводится быстродействие, показание с DS1820 и мерцающая *.
Быстродействие теста 63800 циклов loop() в сек.

Закрыто

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