caenHV / caen_tools

Set of microservices for CAEN management (WebService, DeviceBackend, SystemCheck, Monitor)
0 stars 0 forks source link

RampGuard feature #16

Closed AliensWithdrawPeople closed 1 month ago

AliensWithdrawPeople commented 1 month ago

tl;dr: По требованию Попова изменена логика отпрапвления ACK на МЧС.

Логика: Если на каналах происходит изменение напряжения (например, интерлок снялся и напряжение начало восстановливаться), то пото данных, то есть МЧС, должен быть заблокирован. Разблокировка происходит после выхода на рабочий режим.

Как сделал: Long story short, костыльно. Дописал ещё один скрипт в автопилот, который считывает статусы с devback, проверяет соответсвующие биты и лочит МЧС, если кто-то из них поднят. Скрипт подефолту запускается каждую секунду.

Работает?: Не знаю, не успел потестить на железе. А без железа нужно как-то эффективно мокнуть мчс, чтобы видеть результат.

@nikita-p Ты лучше разбираешься в этой части кода.

One more thing: Мне не нравится, что у нас сейчас каждая собака в SysCheck по любому чиху лазит в devback. Пока всё на одной машине, это не страшно. Но как-то напряжно вяглядит. Учитывая, что лазят части одного микросервиса, можно представить какую-то единую систему обращения к devback с буффером для k последних запросов. Как думаешь?

nikita-p commented 1 month ago
AliensWithdrawPeople commented 1 month ago

Я думал про то, что это можно впихнуть в Health control. Мне показалось, что это лишние усложнение его.

Ладно, мне главно побыстрее всё это решить. Сегодня впихну в HealthControl.

nikita-p commented 1 month ago

если у тебя времени мало, давай я перекину, ты же уже логику всю прописал, и как раз сразу проверю на фейке

AliensWithdrawPeople commented 1 month ago

Да, если можешь, то было бы хорошо. Спасибо.

Если что я на связи.

nikita-p commented 1 month ago

ок, влил логику в HealthControl, добавил проверку на низкое напряжение проверил работу на фейке, собрал, добавил релиз

https://github.com/caenHV/caen_tools/releases/tag/v2.3.5-dev2