Разработки ecoins

Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

Разработки ecoins

Сообщение Ingwar »

o615ye161 писал(а): 23 окт 2020, 09:15 только сопли размазываете по тазику
Это да, нам зачастую уже лениво брать в руки бубен и плясать :smile44:
Садимся у камина погреть старческие кости, накрываемся пледом и читаем книжки, а иногда даже даташиты...
o615ye161 писал(а): 23 окт 2020, 09:15 там где стандартные решения не работают!
Вот и по поводу
ecoins писал(а): 22 окт 2020, 21:33 Для уверенности мы подтягиваем SCL и SDA резисторами 10к к питанию
o615ye161 писал(а): 22 окт 2020, 21:59 Подтяжка есть
возникает вопрос, а есть ли резисторы в используемых чипах/платах, а соответствует ли ток, даже если сам поставил. И ваши 10Ком попадают в допустимый предел. Но знаете ли Вы емкость на шине? Есть документ от разработчика. И там есть такие занимательные картинки
[spoiler]
Безымянный.png
[/spoiler]
Как вариант можете понизить частоту шины.
o615ye161 писал(а): 23 окт 2020, 09:15 Даже если провод 35см, и это устройство находится там где есть наводки от сети, всеравно происходят зависания
Колхозил когда то... Провода на дисплей (I2C) не 35, а 20 с чем то. Но думаю не будете спорить, что при закрытой крышке они лежат на релюхах, которые коммутируют индуктивную нагрузку 220В. И сука не хочет виснуть уже пару лет... Что я делаю не так?
[spoiler]
122228.jpg
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
o615ye161
Сержант
Сообщения: 226
Зарегистрирован: 19 дек 2019, 14:47
Имя: Сергей

Разработки ecoins

Сообщение o615ye161 »

Ingwar писал(а): 23 окт 2020, 11:00
o615ye161 писал(а): 23 окт 2020, 09:15 только сопли размазываете по тазику
Это да, нам зачастую уже лениво брать в руки бубен и плясать :smile44:
Садимся у камина погреть старческие кости, накрываемся пледом и читаем книжки, а иногда даже даташиты...
o615ye161 писал(а): 23 окт 2020, 09:15 там где стандартные решения не работают!
Вот и по поводу
ecoins писал(а): 22 окт 2020, 21:33 Для уверенности мы подтягиваем SCL и SDA резисторами 10к к питанию
o615ye161 писал(а): 22 окт 2020, 21:59 Подтяжка есть
возникает вопрос, а есть ли резисторы в используемых чипах/платах, а соответствует ли ток, даже если сам поставил. И ваши 10Ком попадают в допустимый предел. Но знаете ли Вы емкость на шине? Есть документ от разработчика. И там есть такие занимательные картинки
[spoiler]Безымянный.png[/spoiler]
Как вариант можете понизить частоту шины.
o615ye161 писал(а): 23 окт 2020, 09:15 Даже если провод 35см, и это устройство находится там где есть наводки от сети, всеравно происходят зависания
Колхозил когда то... Провода на дисплей (I2C) не 35, а 20 с чем то. Но думаю не будете спорить, что при закрытой крышке они лежат на релюхах, которые коммутируют индуктивную нагрузку 220В. И сука не хочет виснуть уже пару лет... Что я делаю не так?
[spoiler]122228.jpg[/spoiler]
:smile44:

Отправлено спустя 18 минут 13 секунд:
В споре рождается истина и решение проблемы, немного подумал :smile453: и вспомнил, что на датчике HTU есть подтяжка :smile113:, я за него совсем забыл, сейчас выпоял посмотрю теперь как будет работать, на плате у меня есть подтяжка к +5в через 4,7к, если затронул чьи-то чувства самолюбия, прошу прощения!
o615ye161
Сержант
Сообщения: 226
Зарегистрирован: 19 дек 2019, 14:47
Имя: Сергей

Разработки ecoins

Сообщение o615ye161 »

Все таки эксперимент показал противоположное, замена подтягивающих резисторов ничего не дает после того как убрал фильтры зависания опять вернулись, но возможно я был прав, что стандартный блок Flprog HTU глючит и он плохо влияет на саму шину I2C., ecoins пожалуйста сделайте нормальный ваш блок для GY-21 если вам не сложно, думаю данный блок многим будет полезен у вас это отлично получается! заранее СПАСИБО!
Причем если не задействовать этот блок, а сам датчик находится на шине I2C зависаний нет :smile44: все прекрасно работает!
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

Разработки ecoins

Сообщение Ingwar »

o615ye161 писал(а): 24 окт 2020, 23:16 я был прав, что стандартный блок Flprog HTU глючит и он плохо влияет на саму шину I2C
Точно, это Flprog виноват :smile9:
И данные, которые я 4 года наблюдаю на табло уличного термометра, просто плод моего больного воображения :crazy:
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
o615ye161
Сержант
Сообщения: 226
Зарегистрирован: 19 дек 2019, 14:47
Имя: Сергей

Разработки ecoins

Сообщение o615ye161 »

Ingwar писал(а): 25 окт 2020, 01:33
o615ye161 писал(а): 24 окт 2020, 23:16 я был прав, что стандартный блок Flprog HTU глючит и он плохо влияет на саму шину I2C
Точно, это Flprog виноват :smile9:
И данные, которые я 4 года наблюдаю на табло уличного термометра, просто плод моего больного воображения :crazy:
Так посмотрите внимательно может он уже 4 года висит, а вы досихпор ходите в шапке и валинках!

Отправлено спустя 15 минут 37 секунд:
Ingwar писал(а): 25 окт 2020, 01:33 И данные, которые я 4 года наблюдаю на табло уличного термометра
У вас Mega? У меня Nano, ESP тоже несколько лет работают речь идет именно о работе шины I2C на Mega2560 :smile38:
Аватара пользователя
Fuji1604
Сержант
Сообщения: 282
Зарегистрирован: 19 янв 2016, 06:09
Откуда: Березники
Имя: Сергей

Разработки ecoins

Сообщение Fuji1604 »

[ref]ecoins[/ref], В ранних библиотеках был блок который настраивает вывод на Lcd дисплей, подключенный через 4-битную шину:
RS - Выбор регистра;
E - Еnable (строб по спаду);
DB4-DB7 – Старшие биты интерфейса 4-битного интерфейса

Есть ли такой блок для БИБЛИОТЕКи BASE_v02.2_6.3.1_13102020 ?
Использую MEGA2560 с шилдом дисплея robotdyn у него распиновка отличается от заложенной вами в проектах. (RS=8 EN=9 DB4-DB7=4-7 пинам)
на данный момент пин RS назначил 2 пин и бросил перемычки со 2 пина на 8, с 3 пина на 9
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 152 раза

Разработки ecoins

Сообщение ecoins »

Fuji1604 писал(а): 25 окт 2020, 21:02 Есть ли такой блок для БИБЛИОТЕКи BASE_v02.2_6.3.1_13102020 ?
Использую MEGA2560 с шилдом дисплея robotdyn у него распиновка отличается от заложенной вами в проектах. (RS=8 EN=9 DB4-DB7=4-7 пинам)
на данный момент пин RS назначил 2 пин и бросил перемычки со 2 пина на 8, с 3 пина на 9
На данный момент для упрощения сделано с указанием 1 пина RS - далее (EN,DB4-DB7) по нарастанию.
С этим Вы разобрались. Если считаете, что полезно добавить блок с произвольным указанием номеров пинов, то могу вернуть эту возможность?
Аватара пользователя
Fuji1604
Сержант
Сообщения: 282
Зарегистрирован: 19 янв 2016, 06:09
Откуда: Березники
Имя: Сергей

Разработки ecoins

Сообщение Fuji1604 »

Было бы очень хорошо, в вашей библиотеке нашел где присваиваются пины, но как исправить непридумал.
когда мастерю обычно подсматриваю,
не рыли ли окоп в том же направлении,
не изобретали ли велосипед с такими-же квадратными как у меня колёсами,
а уже потом - не торопясь, торю свою лыжню
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 152 раза

Разработки ecoins

Сообщение ecoins »

Fuji1604 писал(а): 26 окт 2020, 18:50 Было бы очень хорошо, в вашей библиотеке нашел где присваиваются пины, но как исправить непридумал.
Сегодня сделаю, немного и в библиотеку расширю допол.функцией.
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 152 раза

Разработки ecoins

Сообщение ecoins »

Fuji1604 писал(а): 26 окт 2020, 18:50 Было бы очень хорошо, в вашей библиотеке нашел где присваиваются пины, но как исправить непридумал.
Добавил такую возможность в библиотеку и добавил пользовательский блок.
RT_HW_LIB_117_271020_alfa.zip
БИБЛИОТЕКА BASE_v02.3_6.3.1_27102020.zip
Проверил одновременную работу пяти разных дисплеев на mega2560
BASE_test1_v4.01_171020_ALL.zip
------
P.S.
Наверное со временем стоит переписать всю библиотеку - не всё там эстетично :) - но и в таком виде устойчиво работает.
Возможно это будет сделано после перехода на версию FLProg 7.x.x. Пока переходить на неё не решаемся.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Fuji1604
Сержант
Сообщения: 282
Зарегистрирован: 19 янв 2016, 06:09
Откуда: Березники
Имя: Сергей

Разработки ecoins

Сообщение Fuji1604 »

Протестировал в флпрог версии 7,1,1 все работает. Подключены два дисплея, один шилдом через 6 контактов, другой по I2C. Спосибо.
когда мастерю обычно подсматриваю,
не рыли ли окоп в том же направлении,
не изобретали ли велосипед с такими-же квадратными как у меня колёсами,
а уже потом - не торопясь, торю свою лыжню
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 152 раза

Разработки ecoins

Сообщение ecoins »

GDAN7777 писал(а): 28 окт 2020, 09:10 ecoins,второй день мучаюсь с вашим диспетчером и никак не могу разобраться толком.Если Вас не затруднит,набросайте простой пример с диспетчером и экраном 16x2 по i2c.Нужно-4 текстовых блока с выводом по номеру строки(строки произвольные по 3-4 символа).Первые два блока выводятся в первую строку,вторые два -во вторую.Нужно,чтобы время смены строки для первого блока составляло-250 мс,второго-500 мс,третьего-1 сек,четвертого-2 сек.Это все примерно,чтобы на глаз определить насколько все быстро работает.Так я быстрее соображу.
Со вчерашними вашими библиотеками.
Проект.
BASE_Test_LCD_динамический_v01_281020.flp
----После запуска на консоль выдается отчет, в котором отображаются параметры используемого контроллера и пины подключения.
Этот проект может быть запущен на Nano,MEGA,DUE,ESP,STM32F1
Отчет на консоли.JPG
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 152 раза

Разработки ecoins

Сообщение ecoins »

GDAN7777 писал(а): 28 окт 2020, 19:23 Выкладываю проект.Подскажите,как правильно засинхронизировать вывод текста в каждом блоке?
В целом проекте немного исправлений:
1. Плату 3 (работа с LCD) рекомендуется вызывать как свободную задачу.
2. В плате 3 наверное на входе блоков должны стоять разные имена контактов (исправил).
3.В плате 2 лучше использовать иной способ синхронизации.
ecoins_task+lcd_proba_03.flp
--------------------------------------------------
Рекомендую шаблон для проектов:
BASE_Шаблон для проектов.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
o615ye161
Сержант
Сообщения: 226
Зарегистрирован: 19 дек 2019, 14:47
Имя: Сергей

Разработки ecoins

Сообщение o615ye161 »

Добавил в проект ESP диспетчер задач и вот такие ошибки, на Mega2560 этот диспетчер работает в чем может быть причина


d:\Flprog\6.3.1\ideV5\libraries\RT_00_HW_BASE_v2.2\src\RT_HW_BASE_12_Device.cpp: In member function 'void RT_HW_BASE::beginI2C(int8_t, int8_t, uint16_t)':

d:\Flprog\6.3.1\ideV5\libraries\RT_00_HW_BASE_v2.2\src\RT_HW_BASE_12_Device.cpp:35:76: error: no matching function for call to 'TwoWire::begin(int8_t&, int8_t&, uint32_t)'

Wire.begin(device.i2c.sda, device.i2c.scl, (device.i2c.freq*(uint32_t)1000));

^

d:\Flprog\6.3.1\ideV5\libraries\RT_00_HW_BASE_v2.2\src\RT_HW_BASE_12_Device.cpp:35:76: note: candidates are:

In file included from d:\Flprog\6.3.1\ideV5\libraries\RT_00_HW_BASE_v2.2\src\RT_HW_BASE.h:19:0,

from d:\Flprog\6.3.1\ideV5\libraries\RT_00_HW_BASE_v2.2\src\RT_HW_BASE_12_Device.cpp:1:

D:\Flprog\6.3.1\ideV5\portable\packages\esp8266\hardware\esp8266\2.4.2\libraries\Wire/Wire.h:53:10: note: void TwoWire::begin(int, int)

void begin(int sda, int scl);

^

D:\Flprog\6.3.1\ideV5\portable\packages\esp8266\hardware\esp8266\2.4.2\libraries\Wire/Wire.h:53:10: note: candidate expects 2 arguments, 3 provided

D:\Flprog\6.3.1\ideV5\portable\packages\esp8266\hardware\esp8266\2.4.2\libraries\Wire/Wire.h:55:10: note: void TwoWire::begin()

void begin();

^

D:\Flprog\6.3.1\ideV5\portable\packages\esp8266\hardware\esp8266\2.4.2\libraries\Wire/Wire.h:55:10: note: candidate expects 0 arguments, 3 provided

D:\Flprog\6.3.1\ideV5\portable\packages\esp8266\hardware\esp8266\2.4.2\libraries\Wire/Wire.h:56:10: note: void TwoWire::begin(uint8_t)

void begin(uint8_t);

^

D:\Flprog\6.3.1\ideV5\portable\packages\esp8266\hardware\esp8266\2.4.2\libraries\Wire/Wire.h:56:10: note: candidate expects 1 argument, 3 provided

D:\Flprog\6.3.1\ideV5\portable\packages\esp8266\hardware\esp8266\2.4.2\libraries\Wire/Wire.h:57:10: note: void TwoWire::begin(int)

void begin(int);

^

D:\Flprog\6.3.1\ideV5\portable\packages\esp8266\hardware\esp8266\2.4.2\libraries\Wire/Wire.h:57:10: note: candidate expects 1 argument, 3 provided

exit status 1
Ошибка компиляции для платы NodeMCU 0.9 (ESP-12 Module).
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 152 раза

Разработки ecoins

Сообщение ecoins »

o615ye161 писал(а): 28 окт 2020, 23:45 Добавил в проект ESP диспетчер задач и вот такие ошибки, на Mega2560 этот диспетчер работает в чем может быть причина
У меня компилируется без ошибок - ядро ESP8266 версии 2.5.1
[spoiler]
Архивирование откомпилированного ядра (кэширование) в: C:\Users\inver\AppData\Local\Temp\arduino_cache_727756\core\core_fd240e9d76c0d95594a66561181fd121.a
Linking everything together...
"C:\\Users\\inver\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\2.5.0-3-20ed2b9/bin/xtensa-lx106-elf-gcc" -CC -E -P -DVTABLES_IN_FLASH "C:\\Users\\inver\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.1/tools/sdk/ld/eagle.app.v6.common.ld.h" -o "C:\\Users\\inver\\AppData\\Local\\Temp\\arduino_build_297699/local.eagle.app.v6.common.ld"
"C:\\Users\\inver\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\2.5.0-3-20ed2b9/bin/xtensa-lx106-elf-gcc" -fno-exceptions -Wl,-Map "-Wl,C:\\Users\\inver\\AppData\\Local\\Temp\\arduino_build_297699/pr2.ino.map" -g -w -Os -nostdlib -Wl,--no-check-sections -u app_entry -u _printf_float -u _scanf_float -Wl,-static "-LC:\\Users\\inver\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.1/tools/sdk/lib" "-LC:\\Users\\inver\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.1/tools/sdk/lib/NONOSDK221" "-LC:\\Users\\inver\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.1/tools/sdk/ld" "-LC:\\Users\\inver\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.1/tools/sdk/libc/xtensa-lx106-elf/lib" -Teagle.flash.512k.ld -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,spi_flash_read -o "C:\\Users\\inver\\AppData\\Local\\Temp\\arduino_build_297699/pr2.ino.elf" -Wl,--start-group "C:\\Users\\inver\\AppData\\Local\\Temp\\arduino_build_297699\\sketch\\pr2.ino.cpp.o" "C:\\Users\\inver\\AppData\\Local\\Temp\\arduino_build_297699\\libraries\\ESP8266WiFi\\ESP8266WiFi.a" "C:\\Users\\inver\\AppData\\Local\\Temp\\arduino_build_297699\\libraries\\Wire\\Wire.cpp.o" "C:\\Users\\inver\\AppData\\Local\\Temp\\arduino_build_297699\\libraries\\RT_00_HW_BASE_v2.2\\RT_HW_BASE_10_Main.cpp.o" "C:\\Users\\inver\\AppData\\Local\\Temp\\arduino_build_297699\\libraries\\RT_00_HW_BASE_v2.2\\RT_HW_BASE_11_Console.cpp.o" "C:\\Users\\inver\\AppData\\Local\\Temp\\arduino_build_297699\\libraries\\RT_00_HW_BASE_v2.2\\RT_HW_BASE_12_Device.cpp.o" "C:\\Users\\inver\\AppData\\Local\\Temp\\arduino_build_297699\\libraries\\RT_00_HW_BASE_v2.2\\RT_HW_BASE_13_Pins.cpp.o" "C:\\Users\\inver\\AppData\\Local\\Temp\\arduino_build_297699\\libraries\\RT_00_HW_BASE_v2.2\\RT_HW_BASE_14_UART.cpp.o" "C:\\Users\\inver\\AppData\\Local\\Temp\\arduino_build_297699\\libraries\\SPI\\SPI.cpp.o" "C:\\Users\\inver\\AppData\\Local\\Temp\\arduino_build_297699\\libraries\\DHTU21D\\HTU21D.cpp.o" "C:\\Users\\inver\\AppData\\Local\\Temp\\arduino_build_297699\\core\\core.a" -lhal -lphy -lpp -lnet80211 -llwip2-536-feat -lwpa -lcrypto -lmain -lwps -lbearssl -laxtls -lespnow -lsmartconfig -lairkiss -lwpa2 -lstdc++ -lm -lc -lgcc -Wl,--end-group "-LC:\\Users\\inver\\AppData\\Local\\Temp\\arduino_build_297699"
"C:\\Users\\inver\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\python\\3.7.2-post1/python" "C:\\Users\\inver\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.1/tools/elf2bin.py" --eboot "C:\\Users\\inver\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.1/bootloaders/eboot/eboot.elf" --app "C:\\Users\\inver\\AppData\\Local\\Temp\\arduino_build_297699/pr2.ino.elf" --flash_mode dout --flash_freq 40 --flash_size 512K --path "C:\\Users\\inver\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\2.5.0-3-20ed2b9/bin" --out "C:\\Users\\inver\\AppData\\Local\\Temp\\arduino_build_297699/pr2.ino.bin"
Creating BIN file "C:\Users\inver\AppData\Local\Temp\arduino_build_297699/pr2.ino.bin" using "C:\Users\inver\AppData\Local\Temp\arduino_build_297699/pr2.ino.elf"
"C:\\Users\\inver\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\python\\3.7.2-post1/python" "C:\\Users\\inver\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.1/tools/signing.py" --mode sign --privatekey "C:\\Users\\inver\\AppData\\Local\\Temp\\flprog\\pr2/private.key" --bin "C:\\Users\\inver\\AppData\\Local\\Temp\\arduino_build_297699/pr2.ino.bin" --out "C:\\Users\\inver\\AppData\\Local\\Temp\\arduino_build_297699/pr2.ino.bin.signed"
Используем библиотеку ESP8266WiFi версии 1.0 из папки: C:\Users\inver\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.1\libraries\ESP8266WiFi
Используем библиотеку Wire версии 1.0 из папки: C:\Users\inver\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.1\libraries\Wire
Используем библиотеку RT_00_HW_BASE_v2.2 версии 0.2 из папки: c:\EIS\1013_arduino-1.8.13\libraries\RT_00_HW_BASE_v2.2
Используем библиотеку SPI версии 1.0 из папки: C:\Users\inver\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.1\libraries\SPI
Используем библиотеку DHTU21D в папке: c:\EIS\1013_arduino-1.8.13\libraries\DHTU21D (legacy)
"C:\\Users\\inver\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\2.5.0-3-20ed2b9/bin/xtensa-lx106-elf-size" -A "C:\\Users\\inver\\AppData\\Local\\Temp\\arduino_build_297699/pr2.ino.elf"
Скетч использует 285012 байт (57%) памяти устройства. Всего доступно 499696 байт.
Глобальные переменные используют 27932 байт (34%) динамической памяти, оставляя 53988 байт для локальных переменных. Максимум: 81920 байт.
[/spoiler]
Отправлено спустя 54 минуты 27 секунд:
GDAN7777 писал(а): 28 окт 2020, 23:25 Проверил.На глаз показания меняются равномерно.Но вывод текста в блоках происходит в произвольном порядке.А должен в порядке возрастания.То есть синхронизация отсутствует.
Доработал Ваш тест - теперь все хорошо.
BASE_Test_LCD_динамический_v01_281020.flp
IMG_2925.jpg
Что следует иметь ввиду:
1.Сами блоки LCD имеют внутреннюю синхронизацию. Поскольку Вы хотите видеть скорость изменения от 100мс, в блоках Lcd период их синхронизации в настройках изменено до 2-тиков. Это означает, что каждые 100 мс блок проверяет по входному значению нужно менять текст или нет.
2.У Вас в блоках LCD были установлены времена 10,20,10,40.
Логический анализатор.png
По логическому анализатору (MEGA2560):
1.Основной цикл loop() - 15mcs
2.В момент вызова платы LCD (каждый 20-й цикла loop()) и если нет вывода по i2c - 68mcs.
3.В моменты вывода на lcd появляются "вкрапления" порядка 1ms.
----
Т.е. тест занимает немного процессорного времени.
Основная задержка от вывода на lcd по i2c. Если перейти на SPI или подключение через 6 пин, то и эта задержка уйдет.
Можно и
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 152 раза

Разработки ecoins

Сообщение ecoins »

GDAN7777 писал(а): 29 окт 2020, 07:28 Подправил,исходя из Ваших рекомендаций.Теперь это внешне простая на вид задача(на самом деле довольно не простая)работает просто изумительно.Большое спасибо за помощь.Стандартными блоками программы такое вряд ли реализуешь.Теперь хочу задать вопрос по поводу диспетчера.Все-таки Ваша справка о нем при ее наличии довольно таки туманна и не проясняет многих моментов.Не в упрек сказано.
Интересно знать,как проходит полный цикл диспетчера.Начну с маленького.Диспетчер.Пункт 1.Кол-во-срочных задач-5.Время на одну задачу-10 мс.Полный цикл получается 50 мс.Если я укажу кол-во срочных задач-2,означает ли это,что полный цикл измениться до 20 мс?
Есть несколько устаревшие, но вполне актуальные описания:
05. Руководство по LCD.pdf
01. Планирование задач.pdf
---------------------------------------
По изменению кол-ва срочных задач:
1.Можно менять кол-во и период задач, но делать это из блока диспетчера не получится - эти опции не предусмотрены.
2.Для изменения этих параметров можно сделать отдельный блок - это просто. Не включили, поскольку и так много блоков и это усложняет изучение и восприятие.
О подобных опциях будем думать при переходе на версию FLProg 7.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
o615ye161
Сержант
Сообщения: 226
Зарегистрирован: 19 дек 2019, 14:47
Имя: Сергей

Разработки ecoins

Сообщение o615ye161 »

ecoins писал(а): 29 окт 2020, 03:11 У меня компилируется без ошибок - ядро ESP8266 версии 2.5.1
Спасибо, попробую поменять ядро
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 152 раза

Разработки ecoins

Сообщение ecoins »

GDAN7777 писал(а): 29 окт 2020, 09:37 А зачем тогда опция количества задач в настройках?
Вы правы. Раньше в блоке "Диспетчер" были опции настройки, потом для упрощения блока их убрали, а параметры пользователя остались - в следующей версии уберем.
Общая концепция блоков сейчас такова - они по коду должны быть простыми, все необходимое убирается в библиотеки.
GDAN7777 писал(а): 29 окт 2020, 09:37 P.S/Не забрасывайте ваши разработки-в них заложены огромные перспективы.
Спасибо за добрую оценку. Мы проводим большую работу в этом направлении. Видимые в FLProg результаты не столь видны, так как значительные усилия тратятся на системные функции (RT_HW_BASE.h). Планируется большая работа по коммуникациям (интерфейсы SPI,UART,W-Fi,BlueTooth(ESP32),Ethernet,CAN с разными протоколами). Часть подготовительной работы сделано. Приходится отвлекаться и на другие задачи. Сейчас это дисплей Nextion - интересное устройство (особенно с индексом P) и пока неплохие результаты. Ищем подходы как это оформить в FLProg в приемлемой форме.
GDAN7777 писал(а): 29 окт 2020, 09:37 Очень порадовало горячее подключение на шине i2c-вечная проблема с китайскими проводами и платами.
Наши блоки устройств предусматривают горячее подключение и отфильтрование ошибочных транзакций и измерений.
GDAN7777 писал(а): 29 окт 2020, 09:37 Хотелось бы также видеть доработанный блок HTU21.У меня в инкубаторе в этом году или датчик или дисплей вешали прогу несколько раз
Вы не первый спрашиваете об этом блоке. Не очень понимаю почему подвешивает стандартная библиотека и блок FLProg, может что-то и не рассмотрел...
Попробуем сделать библиотеку и блок в ближайшее время. Но сейчас есть хороший блок BME280 - рекомендую этот сенсор к использованию. Библиотека для него получилась не простая, но точность показаний у него весьма высокая (сенсор BOSH) и измеряет температуру, влажность и атмосферное давление.
o615ye161
Сержант
Сообщения: 226
Зарегистрирован: 19 дек 2019, 14:47
Имя: Сергей

Разработки ecoins

Сообщение o615ye161 »

GDAN7777 писал(а): 29 окт 2020, 09:37 Хотелось бы также видеть доработанный блок HTU21.У меня в инкубаторе в этом году или датчик или дисплей вешали прогу несколько раз,хорошо есть аварийный термостат с простой логикой работы-при превышении аварийной температуры снимает питание с главного термостата.
Вот, и я за тоже, HTU блок очень нужен!
Trivius
Рядовой
Сообщения: 11
Зарегистрирован: 16 авг 2020, 20:41
Имя: Trivius

Разработки ecoins

Сообщение Trivius »

ecoins писал(а): 18 авг 2020, 17:10
Trivius писал(а): 17 авг 2020, 20:19 Мой тестовый скетч "шаговик ищем ноль - туда-обратно - ищем ноль, и снова туда-обратно" работает
теперь буду просить кого-то слепить блок шаговика на FastAccelStepper (25khz),
На 25 кHz полагаю нужен более мощной контроллер.
Если будете использовать STM32F103C,R мы наверное займемся библиотекой и блоком приоритетно - что-то из текущего отложим.
Доброй ночи. Не могли бы вы сделать блок ШД на 25кГц, уже есть esp8266 скоро будет 32. Там вычислительной мощности должно хватить... если нет возможности на есп, куплю стм, хотя есп по функционалу больше нравится. В планах управлять двумя шд асинхронно: к примеру,40000 шагов ускорение-остановка - короткий реверс, шагов 400 (в полушаге) - и снова разгон, один тормозит, другой в это время ускоряется.
Закрыто

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость