Как я обновляю прошивки и что мне нужно.
В один прекрасный день при попытке запустить mprog.exe я вдруг обнаружил, что программа ожидает от меня каких-то аргументов:
А в логе выполнения после загрузки прошивки на очередной блок увидел следующую строчку:
Код
22.12.2015 04:37:06 Start -n2 -u0 -s14 -a1
Зная особенность ЛБ перехватывать подходящие для него прошивки, предназначенные для другого ЛБ на этой же ЛШ, я решил сэкономить свое время и чуть-чуть автоматизировать процесс. Был написан командный файл (mprog_run.cmd) в одну строчку:
Код
FOR /L %%i IN (%4,1,%5) DO mprog.exe -n%1 -u%2 -s%3 -a%%i
Собственно вся суть работы этого файла сводится к тому, что он ПО ОЧЕРЕДИ открывает интерфейс загрузки прошивки на ЛБ в конкретном слоте конкретного УМ, причем список ЛБ можно ограничить с двух сторон (например открыть загрузку в блоки с 5 по 10, а не все с 1 по 31).
Таким образом, запуская мой файл с ключами:
Код
c:\LKDSDrv\Common\mprog_run.cmd 0 2 6 4 28
Сначала откроется mprog для загрузки прошивки в четвертый ЛБ в шестом слоте второго узлового модуля в нулевой подсети. После загрузки прошивки и закрытия окна mprog автоматически откроется новое окно mprog для загрузки прошивки уже в пятый ЛБ и так далее до 28...
Если тип очередного блока такой же как и у какого-нибудь из предыдущих, то есть большая (8 из 10), что загружать прошивку будет не нужно, т.к. она уже будет в блоке и ее останется только активировать!
Собственно ни кто не мешает запустить несколько потоков для раазных узловых модулей:
Код
c:\LKDSDrv\Common\mprog_run.cmd 0 2 6 4 28
c:\LKDSDrv\Common\mprog_run.cmd 0 3 6 1 12
c:\LKDSDrv\Common\mprog_run.cmd 0 8 6 5 31
Количество потоков ограничено только размером экрана монитора!

Единственное за чем нужно следить, это чтоб после активации нужной прошивки в блоке оставалась свободная страничка для следующего раза (при необходимости нужно будет очистить какую-нибудь не используемую страницу(ы)). Ну и естественно mprog_run.cmd и mprog.exe должны лежать в одной папке!
Теперь о "хотелках" - добавьте в mprog поддержку ключей очистки страниц(ы)(-c1[2345678]), указания файла (-f), страницы для загрузки (-p), активации страницы (-r) и автоматического завершения работы после выполнения (-q), либо реализуйте поддержку ключей запуска в MultiProg!
Я понимаю, что остаются проблемы с определением типа блока, версии действующей прошивки, наличия/отсутствия голосовых кодеков и т.д. и т.п., но реализация поддержки предложенных мной ключей здорово развяжет руки продвинутым пользователям и независимым разработчикам!
Спасибо за понимание и извините за много слов! )