GithubHelp home page GithubHelp logo

cionicwear / vent Goto Github PK

View Code? Open in Web Editor NEW
2.0 11.0 2.0 49.79 MB

License: MIT License

Python 45.23% CSS 10.09% JavaScript 20.36% HTML 6.84% Dockerfile 0.32% Jupyter Notebook 16.89% Shell 0.26%

vent's Introduction

vent

Vent is a collaboration between CIONIC and FuseProject to build a highly modular low cost ventilator to help address a potential capacity shortfall in emergency COVID-19 response.

Our design is a finalist in the Covent-19 Challenge

pi development

The fully featured Vent has been tested to run on Raspberry Pi 4

The headless version has been tested to run on Raspberry Pi 0

pi setup

git clone https://github.com/cionicwear/vent.git
cd vent
sudo pip3 install -r requirements.txt

Vent requires running two i2c busses to configure your pi Add the following overlay to /boot/config.txt

dtoverlay=i2c-gpio,i2c_gpio_sda=4,i2c_gpio_scl=26,bus=3

pi running

There are three different processes that need to be

  1. start the ui process
sudo ./ui.py

The UI process manages the rotary encoder and buttons translating them to system wide keystrokes

  1. start the vent process
sudo ./vent.py

The vent process is the primary control point that manges the web server, sensors, and valve.

  1. start the screen process
./vent.sh

The chromium browser serves as the surface for operator input and display of sensor values

desktop development

In order to enable hardware free development the vent can be run locally via docker.

git clone https://github.com/cionicwear/vent.git
cd vent
docker-compose up

command line testing

Much of the vent functionality can be tested via the command line.

sudo ./vent.py -h

will print out diffrent vent parameters that can be tested

usage: vent.py [-h] [-m MODE] [-a ASSIST] [-i INSPIRE] [-e EXPIRE] [-u RAMPUP]
               [-d RAMPDN] [-s START] [-t TOP] [-p PAUSE] [-b BOTTOM]
               [-c COUNT] [-f FIO2] [-v VTIDAL] [-w PWAIT] [-x PCROSS]

Run vent

optional arguments:
  -h, --help            show this help message and exit
  -m MODE, --mode MODE  0 = Demo 1 = Volume Control 2 = Pressure Control
  -a ASSIST, --assist ASSIST
                        pressure trigger for assist 0 = no assist
  -i INSPIRE, --inspire INSPIRE
                        seconds of inspiration time
  -e EXPIRE, --expire EXPIRE
                        seconds of expiration time
  -u RAMPUP, --rampup RAMPUP
                        seconds to ramp from <start> to <top>
  -d RAMPDN, --rampdn RAMPDN
                        seconds to ramp from <top> to <pause>
  -s START, --start START
                        percent open at start of breathing cycle
  -t TOP, --top TOP     percent open at peak of breathing cycle
  -p PAUSE, --pause PAUSE
                        percent open at pause in breathing cycle
  -b BOTTOM, --bottom BOTTOM
                        percent open at end of breathing cycle
  -c COUNT, --count COUNT
                        number of breathing cycles
  -f FIO2, --fio2 FIO2  fio2
  -v VTIDAL, --vtidal VTIDAL
                        tidal volume
  -w PWAIT, --pwait PWAIT
                        seconds to wait before closing peep
  -x PCROSS, --pcross PCROSS
                        peep crossing threshold

For example if you wanted to test

  • 1 second of inspire time
  • 90% air flow
  • with a 0.2 second peep time
  • for 10 cycles

You would run the command

sudo ./vent.py -c 10 -t 90 -w 0.2 -x 0.1

Note: the -x -1 sets the peep pressure threshold to -1 to set the auto peep to trigger at -1 cmH20. This is useful when testing the system with no airflow.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.