Patch I2C (Wire) for Raspberry Pi 2040

Пользовательские блоки не подходящее под другие разделы
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Ответить
Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Patch I2C (Wire) for Raspberry Pi 2040

#1

Сообщение Dryundel » 25.08.2022{, 17:14}

Patch I2C (Wire) for Raspberry Pi 2040
Для работы с блоками использующими I2C
1.jpg
1.jpg (5.4 КБ) 1494 просмотра
.
Актуальная версия - Добавлена настройка выбора пинов подключения шины I2C(0)
.
История версий .
Это заплатка для работы Raspberry Pi 2040 со штатными блоками использующими I2C.
Такими, как например: Штатный дисплей (HD44780), MCP23017, ADS1115 и другие.
В некоторых случаях возможны предупреждения компилятора, но прошивается и работает нормально.
(тестировалось не со всеми блоками)
Применение:
- Разместить Patch-блок в любом месте проекта.
- Настроить пины подключения I2C (SDA, SCL).
- Использовать штатные блоки с I2C как обычно

Решение это, я так думаю, временное.
Внимание! Данный блок предназначен для работы со штатными блоками. Совместная работа с авторскими блоками типа ecoins не гарантирована, возможны конфликты.

Описание контроллеров Raspberry Pi 2040 берем здесь. Спасибо DrMario.
Библиотеку контроллера устанавливаем эту.Показать
1.jpg

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

Patch I2C (Wire) for Raspberry Pi 2040

#2

Сообщение ecoins » 25.08.2022{, 20:39}

Dryundel писал(а):
25.08.2022{, 17:14}
Заплатка_I2C_(Wire)_для_Raspberry_Pi_2040_(Code_-_Professional).ubi
(69.01 КБ) 0 скачиваний
Dryundel писал(а):
25.08.2022{, 17:14}
- Пины подключения I2C ...... (0) - SDA, (1) - SCL.
Не очень понимаю зачем перестраивать пины по умолчанию(GPO20,GPO21) на 0,1.
И по умолчанию пины 0,1 это UART1 - в cхемах показан как UART0, а ядро идентифицирует как UART1.
-------
Raspberry Pi Pico очень гибок к выбору разнообразных вариантов пинов для UART,i2c,SPI.
В ESP32 вообще можно произвольно выбирать пины (почти...)
------
Dryundel писал(а):
25.08.2022{, 17:14}
Штатный дисплей на HD44780 тоже работает, хоть IDE и ругается сильно на LiquidCrystal_I2C при компиляции. ))
(тестировалось не со всеми блоками)
И не только эти проблемы будут всплывать, есть и еще... И достаточно не приятные и не простые...
И эти проблемы преодолены в библиотеках и блоках ecoins, о чем уже и писалось, и тесты выложены, и отдельный раздел создан.
"Экосреда ecoins - RaspBerry Pi Pico"

В том числе там приведен простейший тест "Сканирования шины i2c".
Библиотека поддерживает одновременную работу с двумя шинами i2c c настраиваиваемой под каждое устройство скоростью,
возможность настраивать номера пинов под каждую шину.

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

Patch I2C (Wire) for Raspberry Pi 2040

#3

Сообщение Dryundel » 25.08.2022{, 21:32}

ecoins писал(а):
25.08.2022{, 20:39}
И эти проблемы преодолены в библиотеках и блоках ecoins,
Это очень хорошо.
Вот только жаль что с этими библиотеками невозможно работать. Абсолютная каша, паутина и сумбур. Ни описаний толковых ни структурности кода. Разобраться в них может только автор.
Стремление сократить количество библиотек не ведёт к упорядочиванию, а наоборот, все свалено в одну большую кучу, так же как и все вопросы на форуме.
Не подписан ни один метод ни один аргумент. Есть какие-то пояснения к коду, которые больше походят на пометки на полях и служат только для того, что бы сам автор не забыл что к чему.
Так что Пользуйтесь на здоровье этими библиотеками единолично, никому не рассказывайте и запутывайте ещё больше.
И теште себя надеждой на то, что ваши ученики, когда придет время, не кинут все это в топку, ибо проще переписать все заново, чем разобраться.

Вас тут недавно попросили выделить в отдельную библиотеку функции для работы с 18b20. Что Вы ответили? Мягко послали товарища, да и дело с концом.

Так что не вижу особого повода гордиться своими библиотеками. Они Вас не переживут.

Вот вам пример структурности и порядка.
https://github.com/GyverLibs
Поучитесь делать продукт для людей, а не только для себя. Откройте любую из этих библиотек и сразу понятно что к чему. Бери и пользуйся. Но видимо вы такой цели не преследуете. По вашему все должно быть покрыто завесой таинственности и все должны понимать, что это непосильный труд работать с библиотеками.
Пользуйтесь господа блоками для FLProg от ecoins и не лезьте в высшие материи.

Если бы ваши библиотеки были действительно так хороши, как Вы об этом пишете, то давно бы уже были созданы блоки на основе этих библиотек другими пользователями FLProg.
Есть такие? Покажите хоть один.

А почему? Вы не задавались этим вопросом?

.

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

Patch I2C (Wire) for Raspberry Pi 2040

#4

Сообщение ecoins » 25.08.2022{, 23:43}

Dryundel писал(а):
25.08.2022{, 22:40}
ecoins, Вы в курсе что с установленными вашими библиотеками и пакетами блоков, FLProg начинает жутко тормозить, даже если в проекте нет ни одного блока от ecoins?
Dryundel писал(а):
25.08.2022{, 22:40}
Это не эко-среда, а эко-куча, копаться в которой нет никакого желания.
Уже не в первый раз нагрубили... Это смягченная формулировка...
----------------------------------------------
Вновь прекращаем общение с Вами.

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

Patch I2C (Wire) for Raspberry Pi 2040

#5

Сообщение Dryundel » 25.08.2022{, 23:52}

ecoins писал(а):
25.08.2022{, 23:43}
Уже не в первый раз нагрубили... Это смягченная формулировка...
Не нагрубил, а назвал вещи своими именами.
Я понимаю, что обидно когда не поют дифирамбы по поводу многолетнего труда, а говорят горькую, но правду.
Однако это наверное не с проста. Вероятно есть на то основания.
Доводов было много, но внимание Вы обратили только на формулировку. А почему? Вероятно потому, что есть в моих словах то, с чем не поспоришь. Не так ли?

Отправлено спустя 5 минут 2 секунды:
ecoins писал(а):
25.08.2022{, 23:43}
Вновь прекращаем общение с Вами.
Это проще всего. И это личное дело каждого с кем общаться, а с кем нет.
А вместо того что бы дуться не по делу, лучше бы обдумали сказанное и повысили КАЧЕСТВО, а не КОЛИЧЕСТВО.

Аватара пользователя
Rovki
Полковник
Сообщения: 4877
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 268
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Patch I2C (Wire) for Raspberry Pi 2040

#6

Сообщение Rovki » 26.08.2022{, 12:21}

Dryundel,
Ни описаний толковых ни структурности кода. Разобраться в них может только автор.
А во всех библиотеках а ардуино иде есть подробное описание?
Для большенства пользователей ,в том числе меня нет необходимости лезть в коды библиотек, не для того мы сюда пришли...Нам бы "квадратики" со входами и выходами.
Но для любого ,кто пишет блоки и библиотеки (таких единицы) огромное спасибо.
Без библиотек и блоков от экойнс многие проекты пользователей просто бы не работали как нужно, с использованием штатных средств ФЛпрог .
Нужно уважать труд (бескорыстный) других пользователей и не опускаться до оскорблений , принижать заслуги других (тем самым, порой превышая свои,имхо) .
Назвать труд коллектива "КУЧЕЙ" чего то -это явный перебор и проявление мании величия ,имхо.
Думаю что меня поддержат пользователи разработок от экойнс (достаточно поставить лайк посту).
Вас, кто владеет кодом единицы , берегите друг друга, вы работаете на благо пользователей. За что спасибо.В жизни и так хватает нервотрепки .

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

Patch I2C (Wire) for Raspberry Pi 2040

#7

Сообщение Dryundel » 26.08.2022{, 13:34}

Rovki, решил вступиться. Типа "Наших бьют!" :D
Ок. У меня есть ответы на все Ваши неуместные реплики.
Rovki писал(а):
26.08.2022{, 12:21}
А во всех библиотеках а ардуино иде есть подробное описание?
Нахамить что ли Вам? Ладно не буду. :)
Уверяю Вас ЕСТЬ! Ну возьмем к примеру самую ардуиновскую из ардуиновских библиотек Arduino.h
Есть подробнейшее описание абсолютно всех функций, принимаемых аргументов, существует миллион примеров использования. Код структурирован как положено.
https://www.arduino.cc/reference/en/
Что еще? Остались реплики в данном направлении ?
Rovki писал(а):
26.08.2022{, 12:21}
Для большенства пользователей ,в том числе меня нет необходимости лезть в коды библиотек, не для того мы сюда пришли...
Для большинства пользователей ,в том числе и Вас, абсолютным меньшинством создаются блоки на основе все тех же ПРАВИЛЬНЫХ библиотек с описанием. А Вы видели хоть один блок созданный на основе библиотек ecoins но не от ecoins? Нет? А почему? Библиотеки плохо работают? Нет, работают хорошо. Может быть что то мешает?
Надеюсь и в эту сторону реплик больше нет.
Rovki писал(а):
26.08.2022{, 12:21}
Нужно уважать труд (бескорыстный) других пользователей и не опускаться до оскорблений..
Назвать труд коллектива "КУЧЕЙ" чего то -это явный перебор...
Кто кого оскорбил? Кого то назвали дебилом, дураком, идиотом? Или еще как нибудь унизили? Не было такого.
Человеку уже не однократно говорили (и не только я), что не надо всё валить в одну кучу, что необходимо делать подробные описания, что надо структурировать плоды своего труда. А когда на одном прилавке кожа, мёд, навоз и гвозди, кому этот товар нужен?
Нет, конечно можно попросить лавочника оттереть от навоза банку с мёдом, вытащить из нее гвозди и выдать. Что в принципе и происходит в темах от ecoins. Но далеко не все такие общительные. Кому то гораздо проще в тишине почитать инструкцию, а её нет. И что он тогда делает? Естественно проходит мимо.
По отдельности каждый товар хорош и кожа и мёд и гвозди и даже навоз нужный продукт. НО НЕ В ОДНОЙ КУЧЕ !!!
Rovki писал(а):
26.08.2022{, 12:21}
Назвать труд коллектива "КУЧЕЙ" чего то -это явный перебор
А вот тут, уважаемый Rovki, не надо пожалуйста додумывать и необоснованно обвинять. Не чего то, а просто кучей. Про это чего то Вы сам придумали и озвучили. Меня сюда не приплетайте.
Rovki писал(а):
26.08.2022{, 12:21}
Думаю что меня поддержат пользователи разработок от экойнс (достаточно поставить лайк посту).
А давайте! Не вопрос! Хорошая идея! Посмотрим кто что думает по этому поводу.

Объявляется голосование. Кто согласен с Rovki - ставьте лайк в предыдущий пост. У кого другое мнение - голосуйте за этот пост.

Аватара пользователя
Rovki
Полковник
Сообщения: 4877
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 268
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Patch I2C (Wire) for Raspberry Pi 2040

#8

Сообщение Rovki » 26.08.2022{, 14:38}

Согласен на голосование ,за одно посмотрим на тех пользователей для которых работает екойнс и стоит ли ему тратить свое драгоценное время :smile427: Блоки от экойнс использовал ,поэтому проголосую :smile44:
Поймите ,пожалуйста, Экойнс работает в основном не на тех ,кто создает блоки на базе его библиотек ,он и сам с этим справляется для конечных пользователей ,которые программируют без кода и не заглядывают в какие-то библиотеки. Согласен , что нужно стремиться к лучшему , надеюсь со временем дойдут и до этого руки. А пока используем блоки "как есть" . :smile44:
Раньше даже модбас с дисплеем(I2C) нормально не работали ,а теперь летают как угорелые ..

Отправлено спустя 16 минут 39 секунд:
Думаю неделя покажет мнение пользователей , экойнс и вы сделаете правильные выводы.
Вы оба нужны форуму
Электронщик до мозга костей и не только

vovka1973
Майор
Сообщения: 1060
Зарегистрирован: 14.02.2016{, 14:16}
Репутация: 42
Откуда: kazahstan

Patch I2C (Wire) for Raspberry Pi 2040

#9

Сообщение vovka1973 » 26.08.2022{, 17:27}

Rovki писал(а):
26.08.2022{, 14:54}
Вы оба нужны форуму
голосовать не буду ,но сказано в точку!
Изображение

JonyBest
Сержант
Сообщения: 269
Зарегистрирован: 18.11.2015{, 22:42}
Репутация: 89
Откуда: Близко к Ставрополю
Имя: Евгений

Patch I2C (Wire) for Raspberry Pi 2040

#10

Сообщение JonyBest » 26.08.2022{, 17:39}

Жалко топикстартера. Тему засрали...
По существу - считаю голосование излишним. Голосовать не буду. Не стоит обижать разработчиков блоков. Я за ЛЮБОЕ развитие программы.
Блоки ecoins делает быстрые и стабильные. Стараюсь использовать их где возможно. Уровень вхождения у них заааметно выше чем у штатных. Но у нас свободная страна - не нравится - не используй, ни кто не заставляет. ТехПоддержка от ecoins не плохая, всегда активен на форуме. Обычно, хватает объяснения как использовать наработки. Из недостатков - инфа размазана по всей ветке форума, но люди работают над этой проблемой - собирают всё в первый пост...

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

Patch I2C (Wire) for Raspberry Pi 2040

#11

Сообщение Dryundel » 26.08.2022{, 18:10}

JonyBest писал(а):
26.08.2022{, 17:39}
Жалко топикстартера. Тему засрали...
Не страшно. Почистим позже. А пока СВОБОДУ МНЕНИЯМ!

Аватара пользователя
nalnik
Подполковник
Сообщения: 1324
Зарегистрирован: 14.05.2016{, 17:12}
Репутация: 100
Откуда: Кисловодск
Имя: Александр

Patch I2C (Wire) for Raspberry Pi 2040

#12

Сообщение nalnik » 26.08.2022{, 18:41}

Rovki писал(а):
26.08.2022{, 18:35}
а потом удивляемся- почему так живём
СпойлерПоказать
Я хочу быть добрее, но люди сами нарываются.

artemka19
Лейтенант
Сообщения: 540
Зарегистрирован: 03.09.2020{, 15:41}
Репутация: 216
Откуда: Питер
Имя: Артем

Patch I2C (Wire) for Raspberry Pi 2040

#13

Сообщение artemka19 » 26.08.2022{, 23:09}

Dryundel писал(а):
25.08.2022{, 22:40}
ecoins, Вы в курсе что с установленными вашими библиотеками и пакетами блоков, FLProg начинает жутко тормозить, даже если в проекте нет ни одного блока от ecoins?
интересна причина этого явления)
Отчего так происходит?

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

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

Patch I2C (Wire) for Raspberry Pi 2040

#14

Сообщение Dryundel » 27.08.2022{, 00:28}

artemka19 писал(а):
26.08.2022{, 23:09}
интересна причина этого явления)
Отчего так происходит?
Причина в том, что все пользовательские блоки, это один текстовый файл. Который FLProg подгружает для работы. Когда блоков в панели ПБ много файл просто огромный. Его содержимое похоже никак не индексирует я, а при работе каждый раз читается от начала и до конца. Это моё мнение. Возможно все немного не так с чтением. Но к примеру если я удаляю из панели архивы от ecoins, то первоначальная загрузка программы происходит на порядок быстрей.

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

Patch I2C (Wire) for Raspberry Pi 2040

#15

Сообщение Naladchik » 28.08.2022{, 08:44}

support, обратите пожалуйста внимание на этот пост.
(Ред. Dryundel)
--------------------------------------------
.
Dryundel писал(а):
25.08.2022{, 22:40}
с установленными ... пакетами блоков, FLProg начинает жутко тормозить
artemka19 писал(а):
26.08.2022{, 23:09}
...интересна причина этого явления)
Отчего так происходит?
Dryundel писал(а):
27.08.2022{, 00:28}
...все пользовательские блоки, это один текстовый файл. Который FLProg подгружает для работы...
Подгружает в ОЗУ, причем не только пользовательские блоки но и описания контроллеров и т.д. и т.п. (если не прав - поправьте).
У меня на текущий момент запущенная FLProg с ПУСТЫМ проектом сразу отъедает около 1Гб ОЗУ.
И тут уже вопрос к Сергею - а зачем все это в ОЗУ одновременно, неужели нельзя хотя бы пользовательские блоки хранить как отдельные файлы и подгружать в ОЗУ только после обращения к ним? В самой же библиотеке показывать только названия блоков.
Win10-64. FLProg Portable.
Изображение

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

Patch I2C (Wire) for Raspberry Pi 2040

#16

Сообщение Dryundel » 13.09.2022{, 14:04}

Версия блока обновлена. Добавлена возможность выбора пинов подключения I2C
Скачать в первом посте.

Ответить

Вернуться в «Другое»