• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

CohenLabPrinceton / Ventilator-Dev / 258 / 1
78%
master: 78%

Build:
DEFAULT BRANCH: master
Ran 18 May 2020 11:21PM UTC
Files 35
Run time 3s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

18 May 2020 11:17PM UTC coverage: 73.663% (+4.6%) from 69.108%
258.1

push

travis-ci-com

web-flow
Pulling the Alarms (#64)

OK this is thee alarm system.
might be easier to get an overview from the docs:
https://ventilator.readthedocs.io/en/gui/alarm.html

Overview (sorry this is all out of order i'm really really hungry and am racing to go eat):

    AlarmType - There a specific set of alarms that can be triggered, rather than any out-of-bounds value, so it's actually an alarm system.
    AlarmSeverity - Explicit enum allows alarm severity to be compared numerically
    Alarm_Rule s describe how an alarm behaves, including what triggers what severity of alarm. They consist of a tuple of (AlarmSeverity, Condition) tuples. They also define whether an alarm latches or not (persistent) alarms are not implemented
    Conditions have essentially one check method that takes SensorValues. They can be subclassed to add iteratively complex behavior (easier to just see for yourself i think), and can also be + added together to require multiple conditions to be true for a given alarm severity.
    Conditions can also declare dependencies like being some transformation (subtract, multiple, any callable) of a ControlSetting . eg 115% of PIP. (tests are not finished for this)
    An Alarm_Rule check s each of its conditions -- each 'multiple (added)' Condition terminates at its first False so they're not super wasteful -- and emits the highest severity alarm that is true
    The default Alarm_Rules are declared in /vent/alarm/__init__.py
    The Alarm_Manager handles all the logic of raising, suppressing, and storing alarms. There can only be one Alarm_Manager instance, so it is safe to use instantiation to get a reference to it. The alarm manager loads the default alarms on creation. The alarm manager accepts SensorValues in its update method, which then checks all of its rules.
    The Alarm_Manager is evented -- it doesn't poll, but can be updated with new SensorValues whenever needed. You are not supposed to poll the Alarm_Manager (like get_al... (continued)

2218 of 3011 relevant lines covered (73.66%)

0.74 hits per line

Source Files on job 258.1
  • Tree
  • List 0
  • Changed 14
  • Source Changed 11
  • Coverage Changed 14
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 147
  • Travis Job 258.1
  • 9464f9b6 on github
  • Prev Job for on master (#250.1)
  • Next Job for on master (#265.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc