Git Product home page Git Product logo

cardia's People

Contributors

uwburn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cardia's Issues

Feature proposal: HRV rates

Hi!

Would it be possible to use this app for HRV measurements with compatible devices, like the Polar H10? Even just RR values would be very useful for me if possible.

There are a couple solutions for this, but they are all built for mobile or arduino, there is no PC version. (example: https://github.com/oerjanti/BLE-Heart-rate-variability-demo)

I need this for a realtime application, so the other features (mostly live logging) is very handy for me already with this app. Maybe I could implement it too, I'm just not sure if it is even possible.

Possible to change color scheme by hex color?

I know nothing of coding but your application worked flawlessly. I would like to try to change the color to a specific hex code to stay on brand for a stream - could paypal you if it would be too much trouble.

If not, no big deal white works too

Hex code: #2BC1FF

Massive amount of changes on pull request

I've made a fork and added a colour picker instead of a combo box to allow any colour to be used. I thought it would be great to put a pull request in for it but when I did github says there are 1,400 plus changes. I suspect that Visual Studio 2019 saved a file with altered line endings, even though I told it not to alter them. What is the best way to resolve this?

Zephyr HxM not transmitting on serial port

Hey,

I downloaded Cardia for a stream. I bought the Zephyr HxM for the cardia. I connected the Zephyr to my pc's bluetooth. I started cardia but I kept getting "Zephyr HxM not transmitting on serial port COM1. COM4 and COM5 did not work either. I don't really know anything about this. Can somebody help me?

Appreciate it

Possible to get a color change when reaching the Alarm Threshold?

I know this is a bit of an older project and hasn't been updated in a while. Something that would be extremely useful would be to specify a different color for the display to change to when the alarm threshold has been reached. i.e. the display would be green under normal use but change to red when the threshold is tripped, then return to green once the heart rate returns to below the threshold.

Thanks.

No Window Displaying

Getting a weird issue where all of a sudden the window does not appear. It seems like a Windows thing, possibly a recent update because it was working fine for a while. The program appears to still run fine I have the window being captured by streamlabs but I cant interact with the menu because I don't see the window. And its happening across multple pcs. Tried updating windows and that didn't help. Any suggestion?

CMS 50D+

Have you looked at all into implementing the Contec CMS 50D+? It's one of the cheaper versions of CMS 50E. I would imagine that CMS 50D+ would be somewhat easier to implement since it already supports CMS 50E.

Great work!

Source code rebuild - windows 10 and VS2019

Hi,

I'd like to build your sources on a Windows 10 machine, using VS2019 (or later),
but I'm facing errors for an unresolved dependency in HRM project, for the assembly with ID "windows"
build_error

Could you specify which SDK are required to build this source code?

Thank you

Polar H10 - no ECG stream logging?

From Polad H10, apart from RR/heartrate data, ECG stream can be captured as well.
I see, that raw ECG stream is (I suppose) showing on the Cardia, but I don't see it logged anywhere?

Cardia wont find Zephyr HxM BT

Hello there!

I got an issue that my new Zephyr HxM BT (it's not the Smart model), won't be shown on any Serial Ports and can't connect at all.
Windows (10, newest updates installed) says that it's paired successfully. The device is turned on and should be fully functional.

Tried to reset all Bluetooth configuration settings. Reinstalled BT drivers, changed the Serial Ports in Device manager but didn't helped either so I resetted that to default again.

Wont connect via Bluetooth Smart HRP either. So I got the exact same screenshots as in #36.

The logs are as following:

2021-01-14 19:44:50,769 [1] INFO MGT.Cardia.Program - Starting Cardia
2021-01-14 19:44:50,865 [1] DEBUG MGT.Cardia.BtHrpBundle - Retrieving heart rate capable devices
2021-01-14 19:44:50,911 [1] DEBUG MGT.Cardia.BtHrpBundle - Attempting to retrieve async result...
2021-01-14 19:44:51,024 [1] DEBUG MGT.Cardia.BtHrpBundle - Found 0 heart rate capable deices
2021-01-14 19:44:55,020 [1] DEBUG MGT.HRM.Zephyr_HxM.ZephyrHxM - Starting Zephyr HxM
2021-01-14 19:45:25,332 [6] DEBUG MGT.HRM.Zephyr_HxM.ZephyrHxM - Communication timeout elapsed
2021-01-14 19:45:25,332 [6] DEBUG MGT.HRM.Zephyr_HxM.ZephyrHxM - Stopping Zephyr HxM
2021-01-14 19:45:25,333 [6] DEBUG MGT.HRM.Zephyr_HxM.ZephyrHxM - Resetting counters
2021-01-14 19:47:48,423 [1] INFO MGT.Cardia.Program - Starting Cardia
2021-01-14 19:47:48,506 [1] DEBUG MGT.Cardia.BtHrpBundle - Retrieving heart rate capable devices
2021-01-14 19:47:48,527 [1] DEBUG MGT.Cardia.BtHrpBundle - Attempting to retrieve async result...
2021-01-14 19:47:48,641 [1] DEBUG MGT.Cardia.BtHrpBundle - Found 0 heart rate capable deices
2021-01-14 19:47:52,954 [1] DEBUG MGT.HRM.Zephyr_HxM.ZephyrHxM - Starting Zephyr HxM
2021-01-14 19:48:01,864 [1] DEBUG MGT.HRM.Zephyr_HxM.ZephyrHxM - Stopping Zephyr HxM
2021-01-14 19:48:01,871 [1] DEBUG MGT.HRM.Zephyr_HxM.ZephyrHxM - Resetting counters
2021-01-14 19:48:06,369 [1] DEBUG MGT.HRM.Zephyr_HxM.ZephyrHxM - Starting Zephyr HxM
2021-01-14 19:48:36,715 [6] DEBUG MGT.HRM.Zephyr_HxM.ZephyrHxM - Communication timeout elapsed
2021-01-14 19:48:36,715 [6] DEBUG MGT.HRM.Zephyr_HxM.ZephyrHxM - Stopping Zephyr HxM
2021-01-14 19:48:36,716 [6] DEBUG MGT.HRM.Zephyr_HxM.ZephyrHxM - Resetting counters

Anyone got any Idea what I could try else to get it right?

Thanks in advance!

Exe not found

I´m sorry if this is completely dumb question but since the "installation" section says
"Just download the zip from the releases pages, uncompress it and run Cardia.exe."

Am i wrong to assume there should be an exe file in the zip file given from github?

Been trough the files trying to figure out how to get the program running without much luck

Windows 10 support

Hello Michele,

After searching for a long time your program is the only one doing exactly what I am looking for.
But I have an issue: Couldn't launch it on Windows 10.

It appears adter installing Visual Studio that the problem is due to reference to certain DLL:
System.Runtime
System.Runtime.InteropServices.WindowsRuntime
Windows

I found the good DLL for the 2 firsts in .Net Framework but couldn't find for Windows.
Can you help?

Thanks you very much for your program who is so rare.
Regards,
Simon

Gaat Protection Level Issue.

Hello. I bought a new HR monitor: Magene H603. Reading Gaat gives characteristic.ProtectionLevel = plain.
In
\HRM\HRP\BtHrp.cs:
256: characteristic.ProtectionLevel = GattProtectionLevel.EncryptionRequired;
Forcing ProtectionLevel to EncryptionRequired blocks my device from connecting.
I don't know yet is it necessary to do that.
But if I leave ProtectionLevel as is, everything works fine.

Failed to Start Logger

Using Polar H10 with Cardia works great!

However when enabling log, I receive the error "Failed to start logger".

graph timeline as option (in place of ecg simulation)

Build something like this in the past and used a graph instead.

It might be more interesting to see the pulse behavior over time instead of just the current value (and min/max).

Remember when I streamed Alien Isolation and my pulse just rocketed up and ppl could see it for a minute (as that was the scale I set) how my pulse reacted to a specific scenario in the game.

Might be able to add that option and create a pull request once I got into the project structure a little more.

Polar H10 support

I have a Polar H10. What would it take to support another device? I might be able to work on it.

Chart and numbers are not configurable

When using solely as is with OBS, are bound to the display capture from Cardia. Depending on the streamers use case, this may, or may not, take up valuable real estate on screen.

The work around would be to do a display capture of each stat separately or make Cardia have different display types that allow for a more compact fit.

One thing that I feel is necessary is to change the LENGTH of the chart. This change would let me shorten display while saving real estate. Maybe a 1/4, 1/2, 3/4, 4/4 chart length options would be nice in conjunction with the already existing ability to modify chart time.

Windows 11 support (dev)

I updated to Windows 11. I tried connecting my Bluetooth Smart HRP and Cardia still searching. My Bluetooth Smart HRP still connecting on my PC with Bluetooth USB Driver. Maybe something need fix with new OS Windows 11.

cardia_2021-12-26.log
g

Is it possible to use the cardia api for a unity plugin ?

Hello everyone,

this is not an issue, but a question about cardia in generell. I am kind of new to the usage of pulse devices and would like to know if it is possible to extract the pulse data from cardia and integrate it to the game engine unity ? Is there a documentation for the api ?

How is the Bt Smart branch going?

Hello!
I was wondering how it was possessing, I've been looking for hours but you seem to be the only one with this solution!
I just got my monitor today and I tryed to dl you're pre-lease but it won't open.
Hope you're doing well.

Keeps timing out/disconnecting

Keeps timing out so I cannot keep it up on screen. Am a VR player SO I dont know that it had stopped until someone in my chat tells me.

Cardia.exe

Where can i find cardia.exe for app installation?

Program fails to open

Basically it doesn't matter how I try to open it it fails to do so.
It is the most current version from what I know.

image

RealTime

It appears the BPM is reading an average. Is there a way to get it to display real time bpm for things like jump scares?

Can't Build from Source -- Component 'Windows' Not Found

Howdy uwburn,

I cloned this project earlier this evening because I wanted to investigate adding hex color support. However, I've had a heck of a time getting the solution to build.

The base error I'm getting is: "The referenced component 'Windows' could not be found."

From what I can tell, this would be referring to the Windows 10 UWP APIs. I've attempted to install the latest Windows 10 SDK, but that has not resolved the problem.

Could you run me through how you have the references to the Windows namespace set up on your machine, so that I can get it building on my machine?

Thanks!

connection between cardia and modern arm-band

Support for the HxM Smart?

Whats the issue with supporting the Smart? I received one for Christmas and can pair it with my PC. I would love to be able to use this in some game streams.

I'm willing to help with it, I just don't know where to start. I wasn't sure if there was a reason.

Zephyr Bioharness

Hi,

I've recently obtained a Zephyr Bioharness sensor, which I hoped will work with Cardia, since it should work similar as HxM, but no luck unfortunately.
The Cardia wasn't able to connect to the device. Do you have experience with other sensors than HxM by any chance?

Thanks,
Martin

Issues pairing with Wahoo TICKR

Hey, thanks for making the cool application! I'm trying to get it to work with my Wahoo TICKR. However, it's not going smoothly. Log is below:

2018-11-09 02:08:10,705 [1] INFO MGT.Cardia.Program - Starting Cardia
2018-11-09 02:08:13,408 [1] DEBUG MGT.HRM.HRP.BtHrp - Starting HRP
2018-11-09 02:08:13,416 [1] DEBUG MGT.HRM.HRP.BtHrp - Getting GattDeviceService TICKR 1BCF with id \?\BTHLEDevice#{0000180d-0000-1000-8000-00805f9b34fb}_fe2c0b36d397#9&143fc30&2&0022#{6e3bb679-4372-40c8-9eaa-4509df260cd8}
2018-11-09 02:08:13,999 [1] DEBUG MGT.HRM.HRP.BtHrp - Getting HeartRateMeasurement GattCharacteristic 1
2018-11-09 02:08:14,006 [1] WARN MGT.HRM.HRP.BtHrp - Error configuring HRP device
System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
Parameter name: index
at System.Runtime.InteropServices.WindowsRuntime.IVectorViewToIReadOnlyListAdapter.Indexer_Get[T](Int32 index)
at MGT.HRM.HRP.BtHrp.d__77.MoveNext()
2018-11-09 02:08:14,015 [1] DEBUG MGT.HRM.HRP.BtHrp - Stopping HRP
2018-11-09 02:08:14,018 [1] DEBUG MGT.HRM.HRP.BtHrp - Stopping timeout timer
2018-11-09 02:08:14,021 [1] DEBUG MGT.HRM.HRP.BtHrp - Clearing GattDeviceService
2018-11-09 02:08:14,025 [1] DEBUG MGT.HRM.HRP.BtHrp - Resetting counters
2018-11-09 02:11:24,258 [1] INFO MGT.Cardia.Program - Starting Cardia
2018-11-09 02:24:28,536 [1] DEBUG MGT.HRM.HRP.BtHrp - Starting HRP
2018-11-09 02:24:28,546 [1] DEBUG MGT.HRM.HRP.BtHrp - Getting GattDeviceService TICKR 1BCF with id \?\BTHLEDevice#{0000180d-0000-1000-8000-00805f9b34fb}_fe2c0b36d397#9&143fc30&2&0022#{6e3bb679-4372-40c8-9eaa-4509df260cd8}
2018-11-09 02:24:29,126 [1] DEBUG MGT.HRM.HRP.BtHrp - Getting HeartRateMeasurement GattCharacteristic 16
2018-11-09 02:24:29,130 [1] WARN MGT.HRM.HRP.BtHrp - Error configuring HRP device
System.NullReferenceException: Object reference not set to an instance of an object.
at MGT.HRM.HRP.BtHrp.d__77.MoveNext()
2018-11-09 02:24:29,137 [1] DEBUG MGT.HRM.HRP.BtHrp - Stopping HRP
2018-11-09 02:24:29,141 [1] DEBUG MGT.HRM.HRP.BtHrp - Stopping timeout timer
2018-11-09 02:24:29,144 [1] DEBUG MGT.HRM.HRP.BtHrp - Resetting counters

Not wanting to send you down a rabbit hole, I found a program called Bluetooth LE Explorer. I'm not sure if it's using the same API, but when querying my TICKR it showed that HeartRate was characteristic 35, but that the value is "Read Not Permitted". I also noticed that Cardia can only accept characteristics 0-16. I tried characteristic 13, which should be BatteryLevel, but that didn't work either. Here's the log from your test program when trying that:

Getting GattDeviceService TICKR 1BCF with id \?\BTHLEDevice#{0000180d-0000-1000-8000-00805f9b34fb}_fe2c0b36d397#9&143fc30&2&0022#{6e3bb679-4372-40c8-9eaa-4509df260cd8}
Getting HeartRateMeasurement GattCharacteristic 13
Error configuring HRP device System.NullReferenceException: Object reference not set to an instance of an object.
at BtSmartHrp.FrmBtSmartHrp.d__7.MoveNext()

Any chance you know what's going on? It would be great if it's an easy fix.

Any chance of getting a history graph option?

I love the project and I'm using for on-screen heartrate while streaming games, however I'd love to be able to show a history graph to clearly see spikes and lulls in heartrate over time. Would it be possible to implement this? Happy to contribute financially to help make this feature a reality quickly. Thanks for this project!!

ANT+ Devices

Will this sync up with ANT+ devices? I can't seem to get my Garmin HRM to connect..

Thanks!

Connecting Polar H10

Hey Guys
Polar error

Would love to be able to use this software on my stream, When I try to connect it says Bluetooth HRP device initialization failed. Any thoughts?

No executable - How to run under windows 10?

Is there a way to launch the program in Windows 10 ?
We cannot find any executable file in the folder.

EDIT: Looks like we downloaded the code program and not the ''Release v1.2 main'' files.
It works now! Will send donation soon.

Possible to have it not timeout?

Would it be possible to implement this so, once you hit Start, it doesn't stop...even if it loses signal?

The scenario is that I'm running a network of 4 multiplayer and the Pulse Oximeter gets connected/loses pulse then turns off. This turns off Cardia requiring us to hit Start again. Can Cardua stay running, even though it's disconnected? I know it will say 0BPM/Alarm but that's ok!

Possibly have a menu item or settings checkbox to "enable persistent" too?

Thanks!

UDP Packet

Dear,

I had a look to your nice project to receive polar H7 signal.
I would be very interested to get a new feature on the application that send the heart rate signal on UDP in order to use it in an other application.
Could you answer via [email protected] ?
We would be very happy to pay the development time in order to get this new feature.

Regards
Alex

Zephyr HxM not pairing with cardia

Trying to pair my HxM with cardia and it's not connecting on either the "Bluetooth Smart HRP" option or the zephyr device option.
the HxM is connected to windows 10 and shows "paired" on the Bluetooth device lists.

image
image
image

all serial port COMs are empty (1-6)

Samsung Galaxy Watch Active2

Is it possible with this smartwatch? Want to use it as an overlay when streaming horror games but I dont get this work :(

can't connect Mi Band 4

I'm trying to connect Mi Band 4 to Cardia, but getting an error

2020-02-06 18:51:32,700 [1] INFO MGT.Cardia.Program - Starting Cardia
2020-02-06 18:51:32,901 [1] DEBUG MGT.Cardia.BtHrpBundle - Retrieving heart rate capable devices
2020-02-06 18:51:32,940 [1] DEBUG MGT.Cardia.BtHrpBundle - Attempting to retrieve async result...
2020-02-06 18:51:33,047 [1] DEBUG MGT.Cardia.BtHrpBundle - Found 1 heart rate capable deices
2020-02-06 18:51:33,057 [1] DEBUG MGT.Cardia.BtHrpBundle - Mi Smart Band 4: id = \?\BTHLEDevice#{0000180d-0000-1000-8000-00805f9b34fb}_Dev_VID&010157_PID&0024_REV&0101_d265dfd98888#9&8a36b41&1&0024#{6e3bb679-4372-40c8-9eaa-4509df260cd8}, default = False, enabled = True, paired = False
2020-02-06 18:51:37,374 [1] DEBUG MGT.HRM.HRP.BtHrp - Starting HRP
2020-02-06 18:51:37,390 [1] DEBUG MGT.HRM.HRP.BtHrp - Getting GattDeviceService Mi Smart Band 4 with id \?\BTHLEDevice#{0000180d-0000-1000-8000-00805f9b34fb}_Dev_VID&010157_PID&0024_REV&0101_d265dfd98888#9&8a36b41&1&0024#{6e3bb679-4372-40c8-9eaa-4509df260cd8}
2020-02-06 18:51:38,049 [1] DEBUG MGT.HRM.HRP.BtHrp - GattDeviceService instatiated successfully
2020-02-06 18:51:38,056 [1] DEBUG MGT.HRM.HRP.BtHrp - GattSession status = Closed, mantain connection = False, can mantain connection = False
2020-02-06 18:51:38,061 [1] DEBUG MGT.HRM.HRP.BtHrp - Getting all GattCharacteristic...
2020-02-06 18:51:38,078 [1] DEBUG MGT.HRM.HRP.BtHrp - GattCharacteristicsResult status Success
2020-02-06 18:51:38,086 [1] DEBUG MGT.HRM.HRP.BtHrp - GattCharacteristic 00002a37-0000-1000-8000-00805f9b34fb: description = , protection level = Plain
2020-02-06 18:51:38,092 [1] DEBUG MGT.HRM.HRP.BtHrp - GattCharacteristic 00002a39-0000-1000-8000-00805f9b34fb: description = , protection level = Plain
2020-02-06 18:51:38,097 [1] DEBUG MGT.HRM.HRP.BtHrp - Getting HeartRateMeasurement GattCharacteristic 0
2020-02-06 18:51:38,106 [1] DEBUG MGT.HRM.HRP.BtHrp - GattCharacteristicsResult status Success
2020-02-06 18:51:38,111 [1] DEBUG MGT.HRM.HRP.BtHrp - GattCharacteristic 00002a37-0000-1000-8000-00805f9b34fb: description = , protection level = Plain
2020-02-06 18:51:38,118 [1] DEBUG MGT.HRM.HRP.BtHrp - Setting EncryptionRequired protection level on GattCharacteristic
2020-02-06 18:51:38,643 [1] DEBUG MGT.HRM.HRP.BtHrp - Registering event handler onction level on GattCharacteristic
2020-02-06 18:51:38,656 [1] DEBUG MGT.HRM.HRP.BtHrp - Reading GattCharacteristic configuration descriptor
2020-02-06 18:51:41,880 [1] DEBUG MGT.HRM.HRP.BtHrp - Setting GattCharacteristic configuration descriptor to enable notifications
2020-02-06 18:51:41,946 [1] WARN MGT.HRM.HRP.BtHrp - Error configuring HRP device
System.Exception: The attribute cannot be written. (Exception from HRESULT: 0x80650003)
в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
в System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
в MGT.HRM.HRP.BtHrp.d__77.MoveNext()
2020-02-06 18:51:41,977 [1] DEBUG MGT.HRM.HRP.BtHrp - Stopping HRP
2020-02-06 18:51:41,986 [1] DEBUG MGT.HRM.HRP.BtHrp - Stopping timeout timer
2020-02-06 18:51:41,992 [1] DEBUG MGT.HRM.HRP.BtHrp - Clearing GattCharacteristic
2020-02-06 18:51:41,998 [1] DEBUG MGT.HRM.HRP.BtHrp - Clearing GattDeviceService
2020-02-06 18:51:42,008 [1] DEBUG MGT.HRM.HRP.BtHrp - Resetting counters

I can't debug Cardia, but i also have my own simple app and i get the same error in my app here:
await characteristic.WriteClientCharacteristicConfigurationDescriptorAsync(CHARACTERISTIC_NOTIFICATION_TYPE);

The exception says: The attribute cannot be written. (Exception from HRESULT: 0x80650003)

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.