Да, конечно можно организовать опрос ICPCON гораздо проще. Почти в две команды.
Но-тогда
опрос каждого ICPCON только при подаче новой команды PMCR.
Олег писал(а):
а вот организация связи с ICPCON как-то слишком сложна, можно значительно проще.
В даном примере, опрос ICPCON производится для всех ICPCON одной командой, а перебор адресов делает сам SCU. Это дает выигрыш во времени передачи данных в модуль SCU и обратно.
Можно конечно упростить протокол для ICPCON, и опрашивать всех одновременно без вываливания из выполнения команды на неответившем модуле. Но в этом случае мы не узнем кто не ответил, А так как модуль ICPCON с дискретными входами 16штук, заполнить поле принятых данных несуществующим значением перед передачей данных, не представляется возможным.
Вообще протокол для ICPCON попал в программу до кучи. Я выдал на сайт рабочий пример реализации протокола "ОВЕН", с формированием CRC, из требуемых данных. С распаковыванием принятых данных, и их контролем.
Олег писал(а):
Программер давно поддерживает массивы. CJ1M кажись с четвёртой версии начал поддерживать массивы с указателем в виде адреса (символа), т.е. в функции можно записать Символ[указатель] и не мучатся с индексными регистрами.
Да массивы поддерживает даже 3 версия, и при возможности я активно этим пользуюсь. Но в "лестничной диаграммой" смещение внутри массива в качестве переменной не поддерживается.
Олег писал(а):
А если лень лепить символы в программере, то их очень быстро можно наклепать в экселе и скопировать в программер contents/content.php
"Лепить" - насколько я вижу по своей программе, особенно в опросе ICPCON, мне совершенно не лень.