Спасибо за содержательное обсуждение.
Много полезного. При этом придерживаюсь иного мнения.
----------------------
Использовать внешние устройства в слепую можно, но обычно это становится источником многочисленных проблем.
Как следствие - переживания, попытка перейти на более мощный контроллер, новые переживания, поскольку это не помогло, шараханья в поисках подходящего решения и т.д.
Крепкие выдерживают, иные могут довести себя до нервного истощения.
-----------------------
НУЖНО ПРЕДСТАВЛЯТЬ С КАКИМ ОБОРУДОВАНИЕМ РАБОТАЕШЬ - и для этого есть datasheets.
С ними надо хотя бы поверхностно знакомиться.
По mpc23017 - эти микросхемы есть с интерфейсом i2c и с интерфейсом SPI.
Блок написан для микросхемы c интерфейсом i2c.
Интерфейс i2c может быть настроен по умолчанию. Это хорошо когда в устройстве пины совпадают с default библиотеки.
Для ESP-01 это не так - там потребуется дополнительные усилия.
Интерфейс i2c не быстрый. И потому транзакции (посылки) должны быть оптимизированы.
В стандартном блоке FLProg каждый из 16-ти входов/выходов обрабатывается отдельно - отсюда "тормоза". Ну и еще причины там есть. Тот блок более гибок, но не быстрый.
В datasheet указано, что устройство имеет два регистра А и В. Не думаю, что в ПБ нужно подробно переписывать общие сведения из datasheet.
Шесть предложенных режимов настройки - это выбранный оптимум используемых возможностей.
В устройстве не использовано использование прерываний - получился бы сложный блок.
Передача данных в упакованной форме - в данном блоке 8 бит в байте это распространенная и в данном случае правильная практика - и памяти существенно меньше использует и работает быстрее.
-----------
По внешнему виду в сравнении с блоком из FLPROG. Лично я противник блоков с большим количеством входов/выходов - на схеме это как "паук" - читается/документируется плохо.
------------
Можно еще доводы привести....
------------
По "поправка для тех для кого создана FLProg" - видимо подразумеваются не опытные пользователи.
Не знаю - от разработчика не было утверждений, что продукт только для этой категории пользователей.
ПОЗИЦИЯ ecoins по этому вопросу: FLProg уже (начиная с версии 4.2) годится для применения как не опытными пользователями, так и для профессионального использования.
Для использования в профессионального индустриального применения мы прикладываем усилия - думаем, что это может быть лучше, проще, гибче, дешевле чем системы автоматизации типа CodeSys и т.п. На это есть свои предпосылки - но об этом не здесь.
При этом "полируем" свои разработки и на мало опытных пользователей - на детях в Детско-юношеческой Академии Инновационного развития (г.Шатура Жарова д.41). Влияние этих пользователей во многом сказывается на потребительских свойствах разрабатываемых блоков и библиотек.
Слушаем мы всех. Услышанное накапливаем и осмысливаем.
И продолжаем работать...
----------
Желаю Всем нам успехов в области автоматизации интересующих каждого из нас областей практического применения разработок.