Библиотеки для разных контроллеров
По EEPROM - тема не совсем моя. Мог бы попробовать разобраться, но нужно уточнение - используемая версия FLProg и какой проект.Ecomat писал(а): ↑11.11.2019{, 11:13}Уважаемый Ecoins, подскажите пожалуйста, не работает штатный блок записи и чтения в EEPROM? При компилировании выдает ошибку :Mexit status 1
'class EEPROMClass' has no member named 'update'
В пустой, базовый, дописываю, записать в EEPROM. Не хочет компилироваться.
Спасибо за блок 18b20. Который без указания адреса. Я мудрил способ определения, какой рабочий. Платы одинаковые а сенсоры разные
.
А зачем блоки на 4 и на 8 пинов? Почему нельзя обходиться только блоком на 4 пина?
Да то что параметры в отдельной плате это понятно. Но для этого достаточно переменной.
Это как? Что значит повторяет? Где пины и где адрес! Зачем эта путаница?
Почему с этой функцией не может справиться обычная переменная? Зачем нужен целый блок?
Ну так может не доставать пока цыпленка из под прилавка и не озвучивать что это будущий бройлер?
Ха-ха-ха! Компактную функцию! Это Вы с кем сейчас?
.ecoins писал(а): ↑11.11.2019{, 11:30}Эта функция родилась не сразу, после поисков, проб и т.п. Её достоинство - используются строки для задания параметров, но при этом памяти строковые переменные не занимают. Только один массив int16[4].
На выводах описанных блоков с точки зрения пользователя находятся константы, которые могут быть записаны в созданные слева в тэгах переменные, но это лишнее и избыточно - выходы блоков уже регистры типа int, использовать клеммы на наш взгляд гораздо удобнее - спасибо разработчику за этот метод FLProg.
Этот флаг, также как и reset не выведены на выход ПБ "ДИСПЕТЧЕР".
Проще можно, если только помолчать...
ecoins не художник, а ремесленник. Наукой тоже занимаемся, там много творчества.Dryundel писал(а): ↑11.11.2019{, 12:26}ecoins, Вы даже в топике с ответом умудрились свалить все в одну кучу. У вас стиль жизни такой?
Не надо дописывать мою цитату. Эти вопросы не просто так. Во первых очень надеюсь что с их помощью кто то все-таки разберется. Во вторых силы ворошить эту "кучу" заканчиваются и возникло стойкое желание все упорядочить, раз Вы сами этого не можете сделать.
Требовать или даже просить Вас сделать это, чувствую абсолютно бесполезно. Вы художник, а художников понять сложно. Бардак в мастерской их кредо. Прекрасно понимая это обстоятельство, пытаюсь понять где мухи а где котлеты, дабы разложить по полкам.
Если нужно STM32F или ESP32, программу можно грузить и туда - будет работать (обмен по ModBus, LCD), но чтение и запись на пины выполняться не будет, пока не будут прописаны требуемые в проекте пины.Dryundel писал(а): ↑11.11.2019{, 12:26}1. Прошу разжевать сложносочиненное предложение из Вашего ответа:
ecoins писал(а): ↑Сегодня{, 08:30}
Если нужно STM32F или ESP32, программу можно грузить и туда - будет работать (обмен по ModBus, LCD), но чтение и запись на пины выполняться не будет, пока не будут прописаны требуемые в проекте пины.
.
.
Это как раз и сделано, чтобы подчеркнуть функциональное различие между пинами и адресами. Различие в этих блоках будут появляться по мере развития системы - но об этом и долго, и в не в этом посте.
Можно. Сделано для удобства проектирования - это дополнительная возможность и дело вкуса проектировщика.
Может. Но выбранный метод проектирования предполагает, что все переменные описываются в 1-ой плате и им всем прикрепляются клеммы с вменяемым названием на родном языке.
Она действительно компактная. За счет использования макросов будет сгенерирован только код, имеющий отношение только к выбранному контроллеру.
Обращу внимание, что задание параметров проекта в FLProg в формате строковой переменной почти уникально (встречал давно и только один раз).Dryundel писал(а): ↑11.11.2019{, 12:26}Ну и на последок:
ecoins писал(а): ↑Сегодня{, 08:30}
Эта функция родилась не сразу, после поисков, проб и т.п. Её достоинство - используются строки для задания параметров, но при этом памяти строковые переменные не занимают. Только один массив int16[4].
На выводах описанных блоков с точки зрения пользователя находятся константы, которые могут быть записаны в созданные слева в тэгах переменные, но это лишнее и избыточно - выходы блоков уже регистры типа int, использовать клеммы на наш взгляд гораздо удобнее - спасибо разработчику за этот метод FLProg.
.
Вопрос в зал:
Народ, поднимите руку те, кто хоть что нибудь понял из этого заклинания!
Рекомендую вам в таком случае делать блоки на 1, 2, 4, 8 пина в таком случае можно набрать нужное количество пинов до 7ecoins писал(а): ↑11.11.2019{, 11:30}Почему только на 4 выхода? Есть пользовательский блок и на 8 пинов. Блоки могут использоваться в нужном кол-ве. Разработчик FLProg обладает инструментом для работы с графическими возможностями при создании блоков - ecoins не обладает такими возможностями и потому проектируемые блоки имеют фиксированное кол-во входов/выходов.
Вы уже сами нашли ответ - штатный блок EEPROM не работает с ESP32. В ESP32 нет отдельной EEPROM. Реализуют программно, но для этого нужно создавать отдельный блок. Не очевидно, что для ESP32 это требуется - если только для совместимости с более простыми контроллерами.Ecomat писал(а): ↑11.11.2019{, 11:53}Версия FlProg 5.3.0 Проект Ваш, Базовый. Т.е. первые 4 платы без изменений. Штатный блок EEPROM ставлю на 5 ю плату. Все компилирую для записи в ESP32. Библиотека 211я. Если в IDE выбираю плату MEGA 2560, то и компилируется и грузится. Проблемка при попытке писать в ESP32
Иронию принимаю, ценю.Hijin писал(а): ↑11.11.2019{, 13:58}Рекомендую вам в таком случае делать блоки на 1, 2, 4, 8 пина в таком случае можно набрать нужное количество пинов до 7ecoins писал(а): ↑11.11.2019{, 11:30}Почему только на 4 выхода? Есть пользовательский блок и на 8 пинов. Блоки могут использоваться в нужном кол-ве. Разработчик FLProg обладает инструментом для работы с графическими возможностями при создании блоков - ecoins не обладает такими возможностями и потому проектируемые блоки имеют фиксированное кол-во входов/выходов.
Куда уж очевидней. Отправлено спустя 21 минуту 22 секунды:
А если внешнею eeprom подключить?Ecomat писал(а): ↑11.11.2019{, 19:54}Ecoins, спасибо за ответ. "В ESP32 нет отдельной EEPROM." Подскажите рядовому. Как тогда хранить переменную после выключения ? Если нет EEPROM, можно было бы SD карту, но штатный блок для нее может изменять только PIN CS. Остальные не меняются т.к. проект в FlProg на Mega а компилируется для ESP32. Как при этом SD подключить к ESP32? Если у кого то получилось с EEPROM или SD картой для ESP32 из FlProg, поделитесь информацией.
не это ищите тутEcomat писал(а): ↑11.11.2019{, 19:54}Ecoins, спасибо за ответ. "В ESP32 нет отдельной EEPROM." Подскажите рядовому. Как тогда хранить переменную после выключения ? Если нет EEPROM, можно было бы SD карту, но штатный блок для нее может изменять только PIN CS. Остальные не меняются т.к. проект в FlProg на Mega а компилируется для ESP32. Как при этом SD подключить к ESP32? Если у кого то получилось с EEPROM или SD картой для ESP32 из FlProg, поделитесь информацией.
У меня как у Вас не получилось - плата подкрашивается красным. Это особенность FLProg - "ругается" на неиспользуемые переменные.Dryundel писал(а): ↑11.11.2019{, 15:58}Куда уж очевидней.
2019-11-11_153552.jpg
Отправлено спустя 21 минуту 22 секунды:
С другой стороны - если есть переменная, клемма не сильно то и нужна.
Да и недолюбливаю я эти клеммы. Отваливаются они бывает при редактировании проекта. А потом ищи, вспоминай к какой клемме блок был подключен. Если на плате есть переменная подключенная к блоку, то при замене этого блока на другой, переменная так и останется на месте, а вот клеммы и след простынет. А если к блоку штук 5 клем подключено? Вот тут то и .... Подумаешь десять раз использовать клеммы или как.
-------bsn писал(а): ↑11.11.2019{, 03:26}ecoins писал(а): ↑Вчера{, 19:52}
Не моделировали (и не планируем) проект на Proteus - этим не занимаемся.
ecoins писал(а): ↑Вчера{, 19:52}
не проверил через физические адаптеры RS-485 - контроллеры соединил напрямую
Что ж... Нет, так нет.
Печально. А так верилось...