PDA

Просмотр полной версии : MaximAlarm: Будильник для съёмки через MaximDL


monstr
13.05.2010, 13:05
Достал меня глючащий максим, собираюсь опробовать GuideMaster (http://starlab.ru/showthread.php?t=18115), но пока пользуюсь максимом решил написать под него будильник.

Суть проблемы: Максим начинает делать кадр, но если фотик сбойнул (к примеру, пропало питание, отвалился провод, ещё что), то макс не заканчивает кадр, а ждёт на Reading или ещё как, может висеть так вечно, пока вручную не нажмёшь Stop.

Метод контроля: максим постоянно пишет лог в "мои документы"/MaximDL/logs, в том числе такие строки:
02:15:43*4 Started 60.000s 4290x2856 exposure, binned 1x1, ROI (0, 0)
02:15:12*4 Completed 60.000s 4290x2856 exposure, binned 1x1, ROI (0, 0)

Решение: Можно было бы написать бота, самого нажимающего стоп, потом дисконнект, потом коннект и опять старт, но ... долго, сложно и не факт, что поможет. Поэтому, пока что будильник.

"Будильник" подцепляется к каталогу логов, находит самый свежий файл и следит за его изменениями.
Находя Started начинает считать указанные секунды и, если через значение "паниковать через N секунд" после теоретического окончания экспозиции не находит строку "Сompleted", начинает в цикле проигрывать указанный wav-файл (сейчас есть бага, начинает проигрывать каждую секунду, исправлю потом - для нудного будильника на основе Ding.wav подходит) :).

Ещё есть анализ строки "Guide star потеряна" (нет под рукой точной строки). Начинает паниковать, если строка встречается больше указанного количества раз (аля "погодный сенсор" получается). Функционал готов, найду строку и будет готова эта часть проги.

Прога написана на C#.Net, требует .NET 3.5 для работы.

ЗЫ: Кому дать код проекта под C# 2010 - легко. Я сам третий день как C# в глаза вижу :)

monstr
13.05.2010, 13:13
Ну и большой такой прогресс-бар (надо будет ещё больше сделать), а то пока углядишь в максиме маленького червячка и его положение, все глаза сломаешь.

Поправка - требует 4.0 .net. Пытаюсь запустить на "чистом" компе :)