The aim of this project is to test the reliability of automatic oscillometric blood pressure measurements by implementing a real-time application in C++. The application automatically measures the user's pulse and blood pressure by using a manual blood pressure cuff equipped with a pressure sensor that is connected to a USB-DUX-SIGMA converter, connected to a Linux computer.
If there is no USB-DUX devide connected to the computer, the application will not start up. If the USBDUX-D device is used, a warning will be written into the programs log file, but the application will still run. The USBDUX-D device has only 12-bit instead of 24, like the SIGMA device, which is not enough for the blood pressure detection to work.
A demonstration of the application can be found on YouTube.
The Doxygen documentation is available on GitHub pages: https://itsbelinda.github.io/obp/
Alternatively, it can be built from the configuration file in the doxygen folder.
The following instructions concern the code located in the C++ folder.
The following libraries are required to compile and run the program:
IMPORTANT: This repository contains a submodule, the software will not build, if the submodule is not cloned. To clone both this repository and the submodule run the following commands:
git clone https://github.com/itsBelinda/obp.git
git submodule init
git submodule update
This quick guide assumes g++ and cmake are installed with a g++ verstion that supports C++20.
sudo apt-get install libcomedi-dev
sudo apt-get install qt-default
sudo apt-get install libqwt-qt5-dev
Link the repository to the package manager:
sudo add-apt-repository ppa:berndporr/dsp
Then install as usual:
sudo apt-get install iir1-dev
The project is set-up as a cmake project (details are defined in CMakeList.txt).
Run cmake .
from the console in the source foler (c++) to generate the Makefile and make
to compile.
Run ctest
to run the test.
Finally, run the application form the source folder with ./obp
.
This piece of software is released under the GNU General Public License. http://www.gnu.org/licenses/licenses.html#GPL So please go ahead and modify/extend it.
The first C++ setup of this project is based on a data aquisiton project by Bernd Porr, which can be found here. This was initially developed by Tobi Delbrücks (http://http://www.ini.uzh.ch/~tobi/friend/).