mindleaving / gedash

Network communication with GE Dash 4000
https://www.janscholtyssek.dk/blog-all/project-ge-dash-4000-how-to-decode-a-network-protocol/
12 stars 3 forks source link

Not creating GEDash_vitalSigns file anymore #2

Open mamelmahdy opened 5 years ago

mamelmahdy commented 5 years ago

Hey Jan,

Hope you had a great New Year's!

First time we used your software, we were able to generate a GEDash_vitalSigns.csv file. Now, however, we are generating waveform files but not vitalSigns. Do you think we changed a setting on the Dash? Can you help us figure out what might be wrong?

Thank you!

mindleaving commented 5 years ago

Hi.

I would recommend that you start by move the existing data folder to somewhere else and let the software create a new folder. In that way you can check whether it stopped working because there is some weired data or because of something else. You can try to debug the problem by setting a breakpoint in line 60 of WaveformAndVitalSignReceiver.cs and run the software in debug mode. If the breakpoint is triggered, it means that data is received. If data is received, the next breakpoint should be set at line 51 of VitalSignsStorer.cs and see if that is triggered. If it is, step through the code and see if it reaches line 74, which is where the data is written to the file. Let me know if you find any bugs.

mamelmahdy commented 5 years ago

Looks like we are not receiving vital sign data. Placed a breakpoint on line 60 in WaveformAndVitalSignReceiver.cs, and it was not triggered. Do you know if there is anything on the Dash unit that we can check for vital sign data transmission. Waveforms are being received.

mindleaving commented 5 years ago

If you are willing to try out Wireshark, which is a tool for recording the raw network traffic (packets), then try to check if there is any traffic to or from port 3073 and 3076, which are the ports where I received the vital sign packages. Maybe the problem is that the traffic is happening on another port.

See line 192 and 196 of this file: https://github.com/mindleaving/gedash/blob/master/NetworkCommunication/Informations.cs

mamelmahdy commented 5 years ago

Yes I am getting packets on 2000, 3073, 3074, and 7000 but not 3076

mindleaving commented 5 years ago

Strange. Unfortunately I have no idea what might cause that.

mamelmahdy commented 5 years ago

Hey Jan,

Finally got around to looking into this again and I was able to get vital signs again! Hurray!

The problem was that in Information.cs, for SensorType, I was receiving a 0x23, which is not mapped to anything and the ArgumentOutOfRangeException was thrown, which prevented receipt of any vital signs. I mapped 0x23 to the ECG sensor out of curiosity, and voila! vital signs again!

I believe this sensor type might be a temperature probe, which you do not have support for correct? The vitalsigns CSV ends up replacing the expected ECG heart rate values with the temp probe values, so will see if I can follow your script to add temperature support.