Если есть возможность можно и мне такой стенд? Имеется f411 blackpill, f407 blackpill..bsn писал(а): 25 июн 2022, 14:49 Сейчас есть возможность подготовить стенд на Mega2560 (если у Вас есть такой контроллер - у нас они в ограниченном количестве) или STM32F411
ЭкоСреда ecoins
ЭкоСреда ecoins
-
- Полковник
- Сообщения: 4012
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 158 раз
ЭкоСреда ecoins
Пять инструментальных плат на STM32F411 вчера получили, будем распаивать, если не будет неожиданностей один стенд отправим Вам, тоже ближе к середине недели.
Возможно он пока не будет укомплектован lcd 20x4(ждем поставку в в июле).
По f407 blackpill. Мы на нем работаем, но для стенд он не очень удобен.
Сделали на макетке стенд на DevEBox STM32F4XX_M. Теперь с учетом имеющегося опыта хотим сделать инструментальную плату, пока времени не хватает.
Примерно тоже самое и с платой WeActStudio STM32H743 - очень мощный контроллер на CORE-M 7-го поколения.
--------
Пришлите в личку адрес и способ доставки(СДЭК, почта).
- bsn
- Лейтенант
- Сообщения: 414
- Зарегистрирован: 22 июл 2018, 07:24
- Откуда: Новошахтинск
- Имя: Сергей
- Благодарил (а): 105 раз
- Поблагодарили: 23 раза
ЭкоСреда ecoins
Одна Mega2560 используется мной как мастер Modbus, к которому подкинуты мелкие Nano. Есть резервная Mega2560, которую поставлю в Ваш стенд.
Nano собирают информацию от разных датчиков, для Mega2560, или управляют исполнительными устройствами. Modbus вначале работал со скрипом, и со сбоями. Сейчас, через Modbus,подключено лишь несколько точек. В настоящий момент всё настроено и связь очень устойчива и надёжна. Но буду удлинять шлейф Modbus и увеличивать количество точек slave до нескольких десятков. Может вновь и возникнут какие проблемы.
Кроме того, эта же Mega2560 связана через Ethernet с домашним роутером. И можно видеть всю информацию об инженерных системах дома на всех, подключенных к сети, домашних компьютерах, планшетах и смартфонах (через WiFi роутера).
Для вывода картинок использую Скада ситему от FLProg. Но эта скада ещё очень сильно сырая бета, пока ещё весьма тормозит.
Так что тестировать и экспериментировать ещё непочатый край. В идеале, хотелось бы все эксперименты проводить именно с Вашим стендом, особо не тревожа эту, пока ещё устойчиво работающую, систему.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Делай как должно, и пусть всё будет как будет.
-
- Полковник
- Сообщения: 4012
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 158 раз
ЭкоСреда ecoins
Вы очень скромны в своей оценке относительно своих компетентностей - очень интересная система.bsn писал(а): 25 июн 2022, 17:09 Одна Mega2560 используется мной как мастер Modbus, к которому подкинуты мелкие Nano. Есть резервная Mega2560, которую поставлю в Ваш стенд.
Nano собирают информацию от разных датчиков, для Mega2560, или управляют исполнительными устройствами. Modbus вначале работал со скрипом, и со сбоями. Сейчас, через Modbus,подключено лишь несколько точек. В настоящий момент всё настроено и связь очень устойчива и надёжна. Но буду удлинять шлейф Modbus и увеличивать количество точек slave до нескольких десятков. Может вновь и возникнут какие проблемы.
Кроме того, эта же Mega2560 связана через Ethernet с домашним роутером. И можно видеть всю информацию об инженерных системах дома на всех, подключенных к сети, домашних компьютерах, планшетах и смартфонах (через WiFi роутера).
Надеюсь совместными усилиями Вы дополните современными электронными и программными возможностями свою систему.
Да, конечно, потом могут быть подтянуты и другие компактные стенды - ESP32(M5STACK-ATOM), Raspberry Pi Pico (RP24040-zero)bsn писал(а): 25 июн 2022, 17:09 В идеале, хотелось бы все эксперименты проводить именно с Вашим стендом, особо не тревожа эту, пока ещё устойчиво работающую, систему.
-
- Полковник
- Сообщения: 4012
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 158 раз
ЭкоСреда ecoins
ДЛЯ ИНФОРМАЦИИ.
1. Повозиться пришлось с 74HC595 (соединен с контроллером кабелем 20см) - когда несколько устройств на SPI одновременно работает, проскакивают помехи.
Оказалось очень чувствительный вход cs. Похоже на него надо ставить небольшой конденсатор.
2. ПРОТЕСТИРОВАЛ использование второго ядра на RP2040-zero. Просто перенес вручную код из одной платы в loop1().
РАБОТАЕТ. Ура!!!!!
Это открывает принципиально иные (более простые и эффективные) для задач, у которых требования к реальную времени боле жесткие - программный ШИМ или генератор, шаговый двигатель и прочее.
До этого несколько раз пытался найти приемлемый решение организации таких задач, но все они были завязаны на прерывания от таймера и там есть проблемы и с организацией блоков FLProg, и с возможными конфликтами с библиотеками которые могут использовать таймер, и с многозадачностью с точным вызовом по времени и пр.
Похоже подобное можно попробовать на ESP32, но там видимо будет посложнее.
-----
Успехов.
1. Повозиться пришлось с 74HC595 (соединен с контроллером кабелем 20см) - когда несколько устройств на SPI одновременно работает, проскакивают помехи.
Оказалось очень чувствительный вход cs. Похоже на него надо ставить небольшой конденсатор.
2. ПРОТЕСТИРОВАЛ использование второго ядра на RP2040-zero. Просто перенес вручную код из одной платы в loop1().
РАБОТАЕТ. Ура!!!!!
Это открывает принципиально иные (более простые и эффективные) для задач, у которых требования к реальную времени боле жесткие - программный ШИМ или генератор, шаговый двигатель и прочее.
До этого несколько раз пытался найти приемлемый решение организации таких задач, но все они были завязаны на прерывания от таймера и там есть проблемы и с организацией блоков FLProg, и с возможными конфликтами с библиотеками которые могут использовать таймер, и с многозадачностью с точным вызовом по времени и пр.
Похоже подобное можно попробовать на ESP32, но там видимо будет посложнее.
-----
Успехов.
- Dryundel
- Полковник
- Сообщения: 2451
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 6 раз
- Поблагодарили: 31 раз
ЭкоСреда ecoins
Значит так, нашел я решение проблемы.ecoins писал(а): 24 июн 2022, 18:20 В закрытой теме "Разработки ecoins" был задан вопрос:
Вот интересно как так средний проект может быть 300мб..
viewtopic.php?f=247&t=5426&start=1620#p115537
Привожу пример рабочего теста от 14.05.22 на профессиональных блоках.
В распакованном виде проект 268.12мб.
С таким размером даже на быстром компьютере работать не просто - очень долго грузится и сохраняется.
Пришлось переделывать его на простые блоки, вроде получалось меньше 10мб (не помню).

Есть разница, и огромная, как вставлять новый блок в проект.
Если каждый раз вытаскивать из панели ПБ очередную копию блока, файл растет непомерными темпами.
Если же скопировать и вставить уже имеющийся в проекте блок, прибавка к размеру файла копеечная.
Последующее изменение параметров, на размер влияет незначительно.
В качестве эксперимента заменил таким образом в вашем проекте всего два блока отправки переменной. Результат - минус 13,5 MB. Нехило так отрезалось.

275 - это после пересохранения в версии 7.5.2
262 - после изменений (копирования блоков) -
Не за что.

У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 4012
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 158 раз
ЭкоСреда ecoins
Ну Вы даёте! Вот уж спасибо, так спасибо огромное.Dryundel писал(а): 29 июн 2022, 16:01 Значит так, нашел я решение проблемы.
Есть разница, и огромная, как вставлять новый блок в проект.
Если каждый раз вытаскивать из панели ПБ очередную копию блока, файл растет непомерными темпами.
Если же скопировать и вставить уже имеющийся в проекте блок, прибавка к размеру файла копеечная.
Последующее изменение параметров, на размер влияет незначительно.
Неожиданное решение. Видимо его можно реализовать и в FLProg - если у разработчика будет время и он сочтет эту проблему значимой.
Это бы снизило порог и вхождения - на профессиональных блоках интерфейс проще сделать интуитивно-понятным.
Еще раз спасибо.
-
- Полковник
- Сообщения: 4012
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 158 раз
ЭкоСреда ecoins
Стендовые контроллеры ecoins
MEGA2560, Raspberry PI Pico, Raspberry PI Pico-zero, ESP32-ATOM, M5Stack-Core-ESP32, STM32F103C, STM32F4x1, дисплеи HD44780.SPI, дисплей Nextion 7’’.
Участники, проявившие интерес к нашим стендам, скоро получат согласованные комплекты.
Лучшая половина команды ecoins подготовила к распределению и отправке стендовые контроллеры на базе MEGA2560, Raspberry PI Pico, Raspberry PI Pico-zero, ESP32-ATOM, M5Stack-Core-ESP32, STM32F103C, STM32F4x1, дисплеи HD44780.SPI, дисплей Nextion 7’’.
Участники, проявившие интерес к нашим стендам, скоро получат согласованные комплекты.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ЭкоСреда ecoins
Большой респект и благодарность команде Ecoins.
Стенд получил..)) Одна неприятность, CDEK - гады, стойку дисплея сломали.. Ну ничего, я металлическую изготовлю..
Благодарю Вас за Ваш труд)
Отправлено спустя 40 минут 24 секунды:
а поделитесь файлом проекта, который зашит в контроллер?
Стенд получил..)) Одна неприятность, CDEK - гады, стойку дисплея сломали.. Ну ничего, я металлическую изготовлю..
Благодарю Вас за Ваш труд)
Отправлено спустя 40 минут 24 секунды:
а поделитесь файлом проекта, который зашит в контроллер?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 4012
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 158 раз
ЭкоСреда ecoins
Нам надо подумать о конструкции с учетом транспортировки.
Немного другой файл, только что грузил в контроллер. Библиотеки лучше брать новые из #1.
Пока плотно не возобновили работу на STM32, ждем новую партию плат на STM32103С и STM32F4x1 и тогда возобновим работы.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 4012
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 158 раз
ЭкоСреда ecoins
Попробовали на Raspberry Pi Pico "тяжелый тест" с одновременной запуском на втором ядре программного ШИМ - быстродействие такой програмки с выводом значения на пин оказалась >200тыс циклов loop1(). это быстродействие не зависит от загрузки 0-го ядра.
Хороший чип, наверное откроем отдельную тему как для STM32.
Хороший чип, наверное откроем отдельную тему как для STM32.
- Phazz
- Полковник
- Сообщения: 3135
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 235 раз
- Поблагодарили: 114 раз
- Phazz
- Полковник
- Сообщения: 3135
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 235 раз
- Поблагодарили: 114 раз
ЭкоСреда ecoins
[ref]ecoins[/ref], что я делаю не так?
[spoiler]In file included from c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/RT_HW_BASE.h:69,
from C:\Users\user\AppData\Local\Temp\flprog\pr23\pr23.ino:6:
c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/BASE_005_Board descriptions/Board_511_ESP8266.hpp:239:73: error: 'D9' was not declared in this scope; did you mean 'D8'?
239 | const uint8_t PROGMEM RT_HW_PGM_PIN_ALL[] ={D0, D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,A0,RT_HW_PGM_END};
| ^~
| D8
c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/BASE_005_Board descriptions/Board_511_ESP8266.hpp:239:76: error: 'D10' was not declared in this scope; did you mean 'D1'?
239 | const uint8_t PROGMEM RT_HW_PGM_PIN_ALL[] ={D0, D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,A0,RT_HW_PGM_END};
| ^~~
| D1
c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/BASE_005_Board descriptions/Board_511_ESP8266.hpp:240:73: error: 'D9' was not declared in this scope; did you mean 'D8'?
240 | const uint8_t PROGMEM RT_HW_PGM_PIN_DIN[] ={255,D1,D2,D3,D4,D5,D6,D7,D8,D9,D10, RT_HW_PGM_END};
| ^~
| D8
c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/BASE_005_Board descriptions/Board_511_ESP8266.hpp:240:76: error: 'D10' was not declared in this scope; did you mean 'D1'?
240 | const uint8_t PROGMEM RT_HW_PGM_PIN_DIN[] ={255,D1,D2,D3,D4,D5,D6,D7,D8,D9,D10, RT_HW_PGM_END};
| ^~~
| D1
c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/BASE_005_Board descriptions/Board_511_ESP8266.hpp:247:73: error: 'D9' was not declared in this scope; did you mean 'D8'?
247 | const uint8_t PROGMEM RT_HW_PGM_PIN_N5V[] ={D0, D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,A0,RT_HW_PGM_END};
| ^~
| D8
c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/BASE_005_Board descriptions/Board_511_ESP8266.hpp:247:76: error: 'D10' was not declared in this scope; did you mean 'D1'?
247 | const uint8_t PROGMEM RT_HW_PGM_PIN_N5V[] ={D0, D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,A0,RT_HW_PGM_END};
| ^~~
| D1
In file included from c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/RT_HW_BASE.h:122,
from C:\Users\user\AppData\Local\Temp\flprog\pr23\pr23.ino:6:
c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/BASE_010_API System.h/API_015_SystemFuncNamePinSTM32_h.hpp: In member function 'String RT_HW_BASE::getNamePin(uint8_t)':
c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/BASE_010_API System.h/API_015_SystemFuncNamePinSTM32_h.hpp:16:9: error: 'D9' was not declared in this scope; did you mean 'D8'?
16 | if(pin==D9) {return String(F("D9"));}
| ^~
| D8
c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/BASE_010_API System.h/API_015_SystemFuncNamePinSTM32_h.hpp:17:9: error: 'D10' was not declared in this scope; did you mean 'D1'?
17 | if(pin==D10){return String(F("D10"));}
| ^~~
| D1
In file included from c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/RT_HW_BASE.h:135,
from C:\Users\user\AppData\Local\Temp\flprog\pr23\pr23.ino:6:
c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/BASE_050_API Console.h/API_052_ConsoleHeadFunc_h.hpp: In member function 'void RT_HW_BASE::consolePinsAll()':
c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/BASE_050_API Console.h/API_052_ConsoleHeadFunc_h.hpp:81:61: error: 'D9' was not declared in this scope; did you mean 'D8'?
81 | {consoleVar(String(F("[D9-D10,A0]----->"))); uint8_t arr[]={D9,D10,A0}; consoleArrVar(arr,'E',mess.lenPin,'P',3);}
| ^~
| D8
c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/BASE_050_API Console.h/API_052_ConsoleHeadFunc_h.hpp:81:64: error: 'D10' was not declared in this scope; did you mean 'D1'?
81 | {consoleVar(String(F("[D9-D10,A0]----->"))); uint8_t arr[]={D9,D10,A0}; consoleArrVar(arr,'E',mess.lenPin,'P',3);}
| ^~~
| D1
[/spoiler]
[spoiler]In file included from c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/RT_HW_BASE.h:69,
from C:\Users\user\AppData\Local\Temp\flprog\pr23\pr23.ino:6:
c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/BASE_005_Board descriptions/Board_511_ESP8266.hpp:239:73: error: 'D9' was not declared in this scope; did you mean 'D8'?
239 | const uint8_t PROGMEM RT_HW_PGM_PIN_ALL[] ={D0, D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,A0,RT_HW_PGM_END};
| ^~
| D8
c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/BASE_005_Board descriptions/Board_511_ESP8266.hpp:239:76: error: 'D10' was not declared in this scope; did you mean 'D1'?
239 | const uint8_t PROGMEM RT_HW_PGM_PIN_ALL[] ={D0, D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,A0,RT_HW_PGM_END};
| ^~~
| D1
c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/BASE_005_Board descriptions/Board_511_ESP8266.hpp:240:73: error: 'D9' was not declared in this scope; did you mean 'D8'?
240 | const uint8_t PROGMEM RT_HW_PGM_PIN_DIN[] ={255,D1,D2,D3,D4,D5,D6,D7,D8,D9,D10, RT_HW_PGM_END};
| ^~
| D8
c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/BASE_005_Board descriptions/Board_511_ESP8266.hpp:240:76: error: 'D10' was not declared in this scope; did you mean 'D1'?
240 | const uint8_t PROGMEM RT_HW_PGM_PIN_DIN[] ={255,D1,D2,D3,D4,D5,D6,D7,D8,D9,D10, RT_HW_PGM_END};
| ^~~
| D1
c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/BASE_005_Board descriptions/Board_511_ESP8266.hpp:247:73: error: 'D9' was not declared in this scope; did you mean 'D8'?
247 | const uint8_t PROGMEM RT_HW_PGM_PIN_N5V[] ={D0, D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,A0,RT_HW_PGM_END};
| ^~
| D8
c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/BASE_005_Board descriptions/Board_511_ESP8266.hpp:247:76: error: 'D10' was not declared in this scope; did you mean 'D1'?
247 | const uint8_t PROGMEM RT_HW_PGM_PIN_N5V[] ={D0, D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,A0,RT_HW_PGM_END};
| ^~~
| D1
In file included from c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/RT_HW_BASE.h:122,
from C:\Users\user\AppData\Local\Temp\flprog\pr23\pr23.ino:6:
c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/BASE_010_API System.h/API_015_SystemFuncNamePinSTM32_h.hpp: In member function 'String RT_HW_BASE::getNamePin(uint8_t)':
c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/BASE_010_API System.h/API_015_SystemFuncNamePinSTM32_h.hpp:16:9: error: 'D9' was not declared in this scope; did you mean 'D8'?
16 | if(pin==D9) {return String(F("D9"));}
| ^~
| D8
c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/BASE_010_API System.h/API_015_SystemFuncNamePinSTM32_h.hpp:17:9: error: 'D10' was not declared in this scope; did you mean 'D1'?
17 | if(pin==D10){return String(F("D10"));}
| ^~~
| D1
In file included from c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/RT_HW_BASE.h:135,
from C:\Users\user\AppData\Local\Temp\flprog\pr23\pr23.ino:6:
c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/BASE_050_API Console.h/API_052_ConsoleHeadFunc_h.hpp: In member function 'void RT_HW_BASE::consolePinsAll()':
c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/BASE_050_API Console.h/API_052_ConsoleHeadFunc_h.hpp:81:61: error: 'D9' was not declared in this scope; did you mean 'D8'?
81 | {consoleVar(String(F("[D9-D10,A0]----->"))); uint8_t arr[]={D9,D10,A0}; consoleArrVar(arr,'E',mess.lenPin,'P',3);}
| ^~
| D8
c:\Users\user\Downloads\PortableFLProg_7-4-6_Win64\ideV8\portable\sketchbook\libraries\RT_00_HW_BASE_v7.06_04.07.22\src/BASE_050_API Console.h/API_052_ConsoleHeadFunc_h.hpp:81:64: error: 'D10' was not declared in this scope; did you mean 'D1'?
81 | {consoleVar(String(F("[D9-D10,A0]----->"))); uint8_t arr[]={D9,D10,A0}; consoleArrVar(arr,'E',mess.lenPin,'P',3);}
| ^~~
| D1
[/spoiler]
-
- Полковник
- Сообщения: 4012
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 158 раз
ЭкоСреда ecoins
В IDE Вы видимо выбираете модель контроллера ESP8266, который не поддерживается библиотекой - RT_HW_BASE.h
[spoiler] [/spoiler]
Если контроллер другого типа, то он должен идентифицироваться как неизвестный ESP8266.
К сожалению из-за того, что ядро ESP8266 от времени меняется (в лучшую сторону), в данном случае утеряна идентификация перечислений enum{D8,D9,10}.
Со временем это преодолеем.
Сейчас просто выбирайте контроллеры из вышеприведенного списка, тем более, что в случае с ESP8266 почти все (кроме пожалуй ESP-01) с программной точки зрения идеинтичны:
(Generic ESP8266 module, LOLIN(WEMOS) D1 mini Lite, LOLIN(WEMOS) D1 mini Pro, NodeMCU 0.9, NodeMCU 1.0 - обычно использую предпоследний.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Сержант
- Сообщения: 146
- Зарегистрирован: 05 дек 2020, 23:42
- Имя: Михаил
- Поблагодарили: 2 раза
ЭкоСреда ecoins
Подскажите, а где в спецификации на шину SPI указано про кабель и 20см?ecoins писал(а): 25 июн 2022, 20:31 Повозиться пришлось с 74HC595 (соединен с контроллером кабелем 20см) - когда несколько устройств на SPI одновременно работает, проскакивают помехи.
-
- Полковник
- Сообщения: 4012
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 158 раз
ЭкоСреда ecoins
А какую спецификацию Вы имеете в ввиду - если можно, то пришлите ссылку на неё.MihailK писал(а): 07 июл 2022, 09:48 Подскажите, а где в спецификации на шину SPI указано про кабель и 20см?
В своих разработках мы поставили задачу создать возможность удлинения шин i2c и SPI за пределы контроллера.
Кроме чисто аппаратных средств в библиотеки заложили возможность изменения скорости (частоты) индивидуально для каждого устройства.
Исследовали результаты в том числе и на логическом анализаторе (>20 мГц на сигнал).
При снижении частоты (нижний порог установлен 10кГц) расстояние может быть существенно и существенно выше, чем 20см.
На наш взгляд с одной стороны SPI очень удобный интерфейс, а с другой весьма недооцененный в среде Arduino и FLProg.
-
- Сержант
- Сообщения: 146
- Зарегистрирован: 05 дек 2020, 23:42
- Имя: Михаил
- Поблагодарили: 2 раза
ЭкоСреда ecoins
Вроде все в открытом доступе. spi изобрели в 1980г. https://en.wikipedia.org/wiki/Serial_Pe ... plications
используется used for short-distance communication. Применяется для передачи данных в пределах платы.
для I2C изобрели в 1995г. https://en.wikipedia.org/wiki/I²C Такая же история.
Да в интернете есть примеры spi длина провода 5м один слэйв, но такие устройства единичны, для каждого устройства требуется индивидуальная настройка. Совершенно другую историю наблюдаем при использовании шины SPI в пределах платы. Все стабильно работает как на столе, так и на объекте.
ps Может пригодится Extending the SPI bus for long-distance communication https://www.ti.com/lit/an/slyt441/slyt441.pdf
используется used for short-distance communication. Применяется для передачи данных в пределах платы.
для I2C изобрели в 1995г. https://en.wikipedia.org/wiki/I²C Такая же история.
Да в интернете есть примеры spi длина провода 5м один слэйв, но такие устройства единичны, для каждого устройства требуется индивидуальная настройка. Совершенно другую историю наблюдаем при использовании шины SPI в пределах платы. Все стабильно работает как на столе, так и на объекте.
ps Может пригодится Extending the SPI bus for long-distance communication https://www.ti.com/lit/an/slyt441/slyt441.pdf
-
- Полковник
- Сообщения: 4012
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 158 раз
ЭкоСреда ecoins
А еще раньше начали использовать сдвиговые регистры. Они использовались и в дисплее 64x16 СИД-1000(1979г.) для отображения текущей строки - были построены по принципуMihailK писал(а): 08 июл 2022, 01:11 Вроде все в открытом доступе. spi изобрели в 1980г. https://en.wikipedia.org/wiki/Serial_Pe ... plications
кратковременного сохранения электрического заряда и потому должны были работать постоянно.
http://mirebs.com/fozu/ru/cmt.html
https://ru.wikipedia.org/wiki/%D0%A0%D0 ... %BA%D0%B0)
Но это и то что Вы привели, любопытная теория.
В действительности все существенно проще.
Интерфейс SPI это прежде всего простой тактируемый двунаправленный сдвиговый регистр.
Электрические возможности по быстродействию в основном определяются способностью передавать тактирующий сигнал.
Современные реализации SPI в чипах уже 50мГц, по умолчанию обычно используют 4мгц. Еще можно использовать встроенные делители, мы их не используем, указывая частоту.
Если Вы зададите частоту 10кГц, то длина линии может быть и десятки метров, и больше, что не отменяет требования к качеству линии и к её согласованию.
По согласованию доступно написано по Вашей последней ссылке.
-
- Сержант
- Сообщения: 146
- Зарегистрирован: 05 дек 2020, 23:42
- Имя: Михаил
- Поблагодарили: 2 раза
ЭкоСреда ecoins
Я почему спросил про спецификацию. Вы пытаетесь повторить какое то серийное устройство, где используется шина SPI и длинные провода, или считаете что за 40 лет никто не додумался понизить частоту и использовать проводное подключение?
-
- Полковник
- Сообщения: 4012
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 158 раз
ЭкоСреда ecoins
Если Вам что-то неизвестно, это не значит что этого не было.MihailK писал(а): 09 июл 2022, 08:27 почему спросил про спецификацию. Вы пытаетесь повторить какое то серийное устройство, где используется шина SPI и длинные провода, или считаете что за 40 лет никто не додумался понизить частоту и использовать проводное подключение?
Можно удлинять.
Но у SPI ecть родовые недостатки SPI - это и отсутствие обратной связи по отправке транзакции (в i2c есть), и отсутствие контроля достоверности переданной транзакции у приемника. Потому удлинение SPI может быть реально полезно в не очень ответственных применениях - например управление новогодними гирляндами через регистры 74HC595 или тому подобное.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя