Commit 48ba452d authored by Karol Hennessy's avatar Karol Hennessy

Data extraction and buffer flow to volume

parent a5447c89
Pipeline #3265 failed with stages
......@@ -82,7 +82,13 @@ public:
float calculateFlow(const uint32_t &current_time, const float &pressure_patient, const float &pressure_buffer, float volume_tube = 1600, float volume_buffer = 10000);
float getFlow();
float getVolume();
float getFlowBuffer();
float getPreviousProcessFlow();
float getProcessFlow();
float getVolume();
float getVolumeBuffer();
float getPreviousProcessVolume();
float getProcessVolume();
float getAirwayPressure();
pid_variables& getPIDVariables();
target_variables &getTargetVariablesPC_AC();
......@@ -201,9 +207,37 @@ private:
uint16_t _inhale_cycle_duration[CYCLE_AVG_READINGS];
uint16_t _exhale_cycle_duration[CYCLE_AVG_READINGS];
uint32_t _counter;
float _filt_ant_1;
float _filt_ant_2;
float _filt_ant_3;
float _filt_ant_4;
float _sign_ant_1;
float _sign_ant_2;
float _sign_ant_3;
float _sign_ant_4;
float _filt_ant_flow_1;
float _filt_ant_flow_2;
float _filt_ant_flow_3;
float _filt_ant_flow_4;
float _sign_ant_flow_1;
float _sign_ant_flow_2;
float _sign_ant_flow_3;
float _sign_ant_flow_4;
float _flowbuff;
float _flowtempbuffer1;
float _flowtempbuffer2;
float _flowtempbuffer3;
float _flowtempbuffer4;
float _flowtempbuffer5;
float _flow;
float _flowb;
float _previousflowb;
float _processflowb;
float _volume;
float _volumeb;
float _previousvolumeb;
float _processvolumeb;
float _airway_pressure;
float _valve_inhale_PID_percentage;//from 0 to 1.
float _volume_inhale;
......@@ -212,9 +246,43 @@ private:
float _sum_airway_pressure;
bool _mandatory_inhale;
bool _mandatory_exhale;
float _var1 = 0.0;
float _var2 = 0.0;
float _var3 = 0.0;
float _var4 = 0.0;
float _var5 = 0.0;
float _var6 = 0.0;
float _var7 = 0.0;
float _var8 = 0.0;
float _var9 = 0.0;
float _var10 = 0.0;
float _var11 = 0.0;
float _var12 = 0.0;
float _var13 = 0.0;
float _var14 = 0.0;
float _var15 = 0.0;
float _var16 = 0.0;
float _var17 = 0.0;
float _var18 = 0.0;
float _var19 = 0.0;
float _var20 = 0.0;
float _var21 = 0.0;
float _var22 = 0.0;
float _var23 = 0.0;
float _var24 = 0.0;
float _var25 = 0.0;
float _var26 = 0.0;
float _var27 = 0.0;
float _var28 = 0.0;
float _var29 = 0.0;
float _var30 = 0.0;
float _flowb3 = 0.0;
uint32_t _ap_readings_N;
void doPID();
void doFlowPID();
// safety
void safetyCheck();
......
......@@ -129,9 +129,12 @@ void UILoop::reportFastReadings()
calculations<float> calc = _breathing_loop->getCalculations();
//_fast_data.pressure_patient= calc.volume;
//_fast_data.flow = calc.flow_buffer;
_fast_data.flow = calc.flow;
_fast_data.flow_calc = calc.flow_calc;
_fast_data.volume = calc.volume;
_fast_data.volume = calc.flow_buffer; //pid.error; //calc.volume; //pid.valve_duty_cycle;
//_fast_data.volume = calc.flow_buffer;
_fast_data.airway_pressure = calc.pressure_airway;
_pl_send.setPayload(PRIORITY::DATA_ADDR, reinterpret_cast<void *>(&_fast_data), sizeof(_fast_data));
......
......@@ -71,7 +71,7 @@ ValvesController::ValvesController()
#endif
_valve_params.inhale_duty_cycle = 0;
_valve_params.inhale_open_max = MAX_VALVE_FRAC_OPEN;
_valve_params.inhale_open_max = 0.0;//MAX_VALVE_FRAC_OPEN;
_valve_params.inhale_open_min = 0.0;
_valve_params.valve_air_in_enable = 1;
_valve_params.valve_o2_in_enable = 1;
......
......@@ -633,17 +633,25 @@ struct pid_variables {
float Kp; // proportional factor
float Ki; // integral factor
float Kd; // derivative factor
float valve;
float error;
float pid_gain;
uint8_t max_patient_pressure;
// results of calculation
float target_pressure ;
float target_flow ;
float process_pressure ;
float process_volume ;
float process_flow ;
float valve_duty_cycle ;
float proportional ;
float integral ;
float derivative ;
float previous_process_pressure ;
float previous_process_flow ;
float previous_process_volume ;
float target_final_pressure;
float target_final_flow;
int nsteps ;
int istep ;
};
......@@ -692,7 +700,13 @@ template <typename T> struct calculations {
uint32_t timestamp = 0;
T flow = 0;
T flow_calc = 0;
T flow_buffer = 0;
T previous_process_flow = 0;
T process_flow = 0;
T volume = 0;
T volume_buffer = 0;
T previous_process_volume = 0;
T process_volume = 0;
T pressure_airway = 0;
};
......
......@@ -298,7 +298,7 @@ Item {
Main_Ctrl {
type: "SET_TARGET_CURRENT"
code: "INSPIRATORY_PRESSURE"
title.text: qsTr("P_insp [cmH2O]")
title.text: qsTr("Volume [mL]")
value.readback: targets["CURRENT"]["inspiratory_pressure"].toFixed(1)
Layout.preferredWidth: parent.width / 5
value.font.pixelSize: Style.settingSize
......
......@@ -172,7 +172,7 @@ ApplicationWindow {
onClicked: askInputMode()
}
Text {
text: personal["name"] + ", " + personal["age"] + ", " + personal["weight"] + "kg"
text: personal["name"] + ", " + personal["age"] + ", " + personal["weight"] + "kgs" + "modified"
font.family: Style.fontFamily
font.weight: Font.DemiBold
font.pixelSize: Style.titleSize
......
......@@ -128,7 +128,12 @@ class DumpClient(HEVClient):
#for el,val in payload[payload_type].items():
# self.outfile.write(f"{val},")
row = [payload_type]+[val for val in payload[payload_type].values()]
print("\n",row)
global count
row[2]=count
self.cw.writerow(row)
count = count + 10
time.sleep(0.01)
except KeyboardInterrupt:
self.outfile.close()
sys.exit(0)
......@@ -141,7 +146,8 @@ class DumpClient(HEVClient):
# Instantiating the client
client = DumpClient()
global count
count = 0
if __name__ == '__main__':
......
LOGMSG 10560010:VTI: 428.14
2021-05-12 15:14:06,117 - INFO - LOGMSG 10560011:Plateau: 18.90
2021-05-12 15:14:06,128 - INFO - LOGMSG 10560011:peep: 3.29
2021-05-12 15:14:06,139 - INFO - LOGMSG 10560011:Vol_Buff: 378.62
2021-05-12 15:14:07,195 - INFO - LOGMSG 10561021:Presendbuffer: 241.11
2021-05-12 15:14:07,206 - INFO - LOGMSG 10561021:Presstartbuffer: 300.34
2021-05-12 15:14:10,101 - INFO - LOGMSG 10564010:VTI: 429.55
2021-05-12 15:14:10,134 - INFO - LOGMSG 10564010:VTE: 409.15
2021-05-12 15:14:10,145 - INFO - LOGMSG 10564010:peep: 3.33
2021-05-12 15:14:10,157 - INFO - LOGMSG 10564010:Vol_Buff: 379.57
2021-05-12 15:14:11,190 - INFO - LOGMSG 10565021:Presendbuffer: 241.56
2021-05-12 15:14:11,201 - INFO - LOGMSG 10565021:Presstartbuffer: 300.46
2021-05-12 15:14:14,101 - INFO - LOGMSG 10568010:VTI: 431.18
2021-05-12 15:14:14,135 - INFO - LOGMSG 10568010:VTE: 409.92
2021-05-12 15:14:14,146 - INFO - LOGMSG 10568010:Plateau: 19.27
2021-05-12 15:14:14,157 - INFO - LOGMSG 10568010:peep: 3.19
2021-05-12 15:14:14,168 - INFO - LOGMSG 10568010:Vol_Buff: 376.07
2021-05-12 15:14:18,090 - INFO - LOGMSG 10572009:VTI: 433.81
2021-05-12 15:14:18,099 - INFO - LOGMSG 10572010:VTE: 409.31
2021-05-12 15:14:18,113 - INFO - LOGMSG 10572010:Plateau: 19.27
2021-05-12 15:14:18,146 - INFO - LOGMSG 10572010:peep: 3.25
2021-05-12 15:14:18,156 - INFO - LOGMSG 10572010:Vol_Buff: 379.14
2021-05-12 15:14:19,179 - INFO - LOGMSG 10573021:Presendbuffer: 241.37
2021-05-12 15:14:19,202 - INFO - LOGMSG 10573021:Presstartbuffer: 300.12
2021-05-12 15:14:22,090 - INFO - LOGMSG 10576010:VTI: 434.10
2021-05-12 15:14:22,103 - INFO - LOGMSG 10576010:VTE: 409.43
2021-05-12 15:14:22,113 - INFO - LOGMSG 10576010:Plateau: 18.88
2021-05-12 15:14:22,123 - INFO - LOGMSG 10576010:peep: 3.30
2021-05-12 15:14:22,157 - INFO - LOGMSG 10576010:Vol_Buff: 375.79
2021-05-12 15:14:23,178 - INFO - LOGMSG 10577021:Presendbuffer: 241.40
2021-05-12 15:14:23,189 - INFO - LOGMSG 10577021:Presstartbuffer: 300.41
2021-05-12 15:14:26,079 - INFO - LOGMSG 10580010:VTI: 432.77
2021-05-12 15:14:26,092 - INFO - LOGMSG 10580010:VTE: 408.79
2021-05-12 15:14:26,112 - INFO - LOGMSG 10580010:Plateau: 19.30
2021-05-12 15:14:26,123 - INFO - LOGMSG 10580010:peep: 3.25
2021-05-12 15:14:26,135 - INFO - LOGMSG 10580010:Vol_Buff: 376.67
2021-05-12 15:14:30,079 - INFO - LOGMSG 10584009:VTI: 432.31
2021-05-12 15:14:30,093 - INFO - LOGMSG 10584010:VTE: 409.40
2021-05-12 15:14:30,113 - INFO - LOGMSG 10584010:Plateau: 19.30
2021-05-12 15:14:30,124 - INFO - LOGMSG 10584010:peep: 3.56
2021-05-12 15:14:30,135 - INFO - LOGMSG 10584010:Vol_Buff: 374.62
2021-05-12 15:14:31,201 - INFO - LOGMSG 10585020:Presendbuffer: 240.64
2021-05-12 15:14:31,223 - INFO - LOGMSG 10585020:Presstartbuffer: 300.17
2021-05-12 15:14:34,079 - INFO - LOGMSG 10588009:VTI: 431.11
2021-05-12 15:14:34,092 - INFO - LOGMSG 10588010:VTE: 411.31
2021-05-12 15:14:34,101 - INFO - LOGMSG 10588010:Plateau: 19.16
2021-05-12 15:14:34,112 - INFO - LOGMSG 10588010:peep: 3.11
2021-05-12 15:14:34,123 - INFO - LOGMSG 10588010:Vol_Buff: 381.38
2021-05-12 15:14:35,179 - INFO - LOGMSG 10589020:Presendbuffer: 241.24
2021-05-12 15:14:35,190 - INFO - LOGMSG 10589020:Presstartbuffer: 300.39
2021-05-12 15:14:38,079 - INFO - LOGMSG 10592009:VTI: 431.96
2021-05-12 15:14:38,092 - INFO - LOGMSG 10592010:VTE: 412.20
2021-05-12 15:14:38,102 - INFO - LOGMSG 10592010:Plateau: 19.11
2021-05-12 15:14:38,112 - INFO - LOGMSG 10592010:peep: 3.33
2021-05-12 15:14:38,123 - INFO - LOGMSG 10592010:Vol_Buff: 377.71
2021-05-12 15:14:39,190 - INFO - LOGMSG 10593020:Presendbuffer: 241.56
2021-05-12 15:14:39,201 - INFO - LOGMSG 10593020:Presstartbuffer: 300.46
2021-05-12 15:14:42,090 - INFO - LOGMSG 10596009:VTI: 433.09
2021-05-12 15:14:42,101 - INFO - LOGMSG 10596010:VTE: 412.47
2021-05-12 15:14:42,112 - INFO - LOGMSG 10596010:Plateau: 19.35
2021-05-12 15:14:42,123 - INFO - LOGMSG 10596010:peep: 3.24
2021-05-12 15:14:42,134 - INFO - LOGMSG 10596010:Vol_Buff: 375.82
2021-05-12 15:14:43,212 - INFO - LOGMSG 10597020:Presstartbuffer: 300.41
2021-05-12 15:14:46,090 - INFO - LOGMSG 10600009:VTI: 434.69
2021-05-12 15:14:46,102 - INFO - LOGMSG 10600010:VTE: 412.02
2021-05-12 15:14:46,113 - INFO - LOGMSG 10600010:Plateau: 19.38
2021-05-12 15:14:46,123 - INFO - LOGMSG 10600010:peep: 3.50
2021-05-12 15:14:46,136 - INFO - LOGMSG 10600010:Vol_Buff: 378.13
2021-05-12 15:14:47,201 - INFO - LOGMSG 10601020:Presstartbuffer: 300.38
2021-05-12 15:14:50,090 - INFO - LOGMSG 10604009:VTI: 435.16
2021-05-12 15:14:50,102 - INFO - LOGMSG 10604010:VTE: 413.44
2021-05-12 15:14:50,112 - INFO - LOGMSG 10604010:Plateau: 19.29
2021-05-12 15:14:50,123 - INFO - LOGMSG 10604010:peep: 3.38
2021-05-12 15:14:50,134 - INFO - LOGMSG 10604010:Vol_Buff: 379.73
2021-05-12 15:14:54,101 - INFO - LOGMSG 10608010:VTI: 433.40
2021-05-12 15:14:54,112 - INFO - LOGMSG 10608010:VTE: 413.00
2021-05-12 15:14:54,123 - INFO - LOGMSG 10608010:Plateau: 19.29
2021-05-12 15:14:54,134 - INFO - LOGMSG 10608010:peep: 3.38
2021-05-12 15:14:54,145 - INFO - LOGMSG 10608010:Vol_Buff: 381.17
2021-05-12 15:14:55,179 - INFO - LOGMSG 10609020:Presendbuffer: 241.76
2021-05-12 15:14:55,193 - INFO - LOGMSG 10609020:Presstartbuffer: 300.80
2021-05-12 15:14:58,090 - INFO - LOGMSG 10612009:VTI: 432.33
2021-05-12 15:14:58,101 - INFO - LOGMSG 10612010:VTE: 412.11
2021-05-12 15:14:58,123 - INFO - LOGMSG 10612010:Plateau: 19.16
2021-05-12 15:14:58,134 - INFO - LOGMSG 10612010:peep: 3.40
2021-05-12 15:14:58,145 - INFO - LOGMSG 10612010:Vol_Buff: 377.48
\ No newline at end of file
# -*- coding: utf-8 -*-
"""
Created on Wed Sep 22 15:14:48 2021
@author: carlo
"""
import pandas as pd
import csv
arreglo= []
def datos(payload):
a = str(payload)
arreglo.append(a)
def guardar():
with open('test.txt', 'w') as f:
for values in arreglo:
f.write(values)
f.write('\n')
#print(values)
#print(arreglo)
......@@ -26,6 +26,7 @@
#
# Author: Dónal Murray <donal.murray@cern.ch>
import enviar
import copy
import asyncio
import json
......@@ -111,6 +112,9 @@ class HEVServer(object):
]
if payload_type in whitelist:
# fork data to broadcast threads
if payload_type == PAYLOAD_TYPE.DATA:
enviar.datos(payload)
time.sleep(0.01)
for queue in self._broadcasts.values():
self.push_to(queue, payload)
......@@ -477,5 +481,6 @@ if __name__ == "__main__":
logging.critical(e)
except KeyboardInterrupt:
logging.info("Server stopped")
enviar.guardar()
except StructError:
logging.error("Failed to parse packet")
This diff is collapsed.
2021-10-28 11:03:42,168 - INFO - LOGMSG 2940969:VTI: 313.55
2021-10-28 11:03:42,178 - INFO - LOGMSG 2940969:VTE: 433.92
2021-10-28 11:03:52,192 - INFO - LOGMSG 2950969:VTE: 427.46
2021-10-28 11:04:02,150 - INFO - LOGMSG 2960969:VTI: 314.52
2021-10-28 11:04:02,164 - INFO - LOGMSG 2960969:VTE: 430.43
2021-10-28 11:04:12,170 - INFO - LOGMSG 2970969:VTE: 431.54
2021-10-28 11:04:22,159 - INFO - LOGMSG 2980969:VTI: 317.32
2021-10-28 11:04:22,171 - INFO - LOGMSG 2980969:VTE: 442.27
2021-10-28 11:04:32,171 - INFO - LOGMSG 2990969:VTI: 312.41
2021-10-28 11:04:32,182 - INFO - LOGMSG 2990969:VTE: 437.50
2021-10-28 11:04:42,159 - INFO - LOGMSG 3000969:VTI: 299.76
2021-10-28 11:04:42,171 - INFO - LOGMSG 3000970:VTE: 427.69
2021-10-28 11:04:52,164 - INFO - LOGMSG 3010969:VTI: 300.54
2021-10-28 11:04:52,175 - INFO - LOGMSG 3010969:VTE: 426.48
2021-10-28 11:05:02,170 - INFO - LOGMSG 3020969:VTI: 311.48
\ No newline at end of file
2021-10-28 10:31:28,374 - INFO - LOGMSG 1007152:VTI: 227.35
2021-10-28 10:31:28,385 - INFO - LOGMSG 1007152:VTE: 438.61
2021-10-28 10:31:38,376 - INFO - LOGMSG 1017152:VTE: 416.02
2021-10-28 10:31:48,362 - INFO - LOGMSG 1027152:VTI: 232.60
2021-10-28 10:31:48,374 - INFO - LOGMSG 1027152:VTE: 441.34
2021-10-28 10:31:58,378 - INFO - LOGMSG 1037152:VTE: 407.25
2021-10-28 10:32:08,355 - INFO - LOGMSG 1047152:VTI: 216.87
2021-10-28 10:32:08,366 - INFO - LOGMSG 1047152:VTE: 414.52
2021-10-28 10:32:18,377 - INFO - LOGMSG 1057152:VTI: 212.75
2021-10-28 10:32:18,388 - INFO - LOGMSG 1057152:VTE: 408.19
2021-10-28 10:32:28,373 - INFO - LOGMSG 1067152:VTI: 221.68
2021-10-28 10:32:28,390 - INFO - LOGMSG 1067152:VTE: 422.46
2021-10-28 10:32:38,361 - INFO - LOGMSG 1077152:VTI: 198.74
2021-10-28 10:32:38,373 - INFO - LOGMSG 1077152:VTE: 392.09
2021-10-28 10:32:48,383 - INFO - LOGMSG 1087152:VTE: 390.79
2021-10-28 10:32:58,385 - INFO - LOGMSG 1097152:VTI: 203.07
2021-10-28 10:32:58,396 - INFO - LOGMSG 1097152:VTE: 396.23
2021-10-28 10:33:08,365 - INFO - LOGMSG 1107152:VTI: 209.02
2021-10-28 10:33:08,375 - INFO - LOGMSG 1107153:VTE: 404.81
2021-10-28 10:33:18,393 - INFO - LOGMSG 1117152:VTE: 390.74
2021-10-28 10:33:28,362 - INFO - LOGMSG 1127152:VTI: 181.92
2021-10-28 10:33:28,379 - INFO - LOGMSG 1127152:VTE: 369.55
2021-10-28 10:33:38,384 - INFO - LOGMSG 1137152:VTI: 173.75
2021-10-28 10:33:38,395 - INFO - LOGMSG 1137152:VTE: 357.25
2021-10-28 10:59:22,181 - INFO - LOGMSG 2680969:VTI: 419.18
2021-10-28 10:59:22,192 - INFO - LOGMSG 2680969:VTE: 519.59
2021-10-28 10:59:32,183 - INFO - LOGMSG 2690969:VTE: 521.77
2021-10-28 10:59:42,160 - INFO - LOGMSG 2700969:VTI: 426.78
2021-10-28 10:59:52,159 - INFO - LOGMSG 2710969:VTI: 422.72
2021-10-28 10:59:52,170 - INFO - LOGMSG 2710970:VTE: 516.55
2021-10-28 11:00:02,183 - INFO - LOGMSG 2720969:VTI: 421.53
2021-10-28 11:00:12,150 - INFO - LOGMSG 2730969:VTI: 419.03
2021-10-28 11:00:12,164 - INFO - LOGMSG 2730970:VTE: 509.74
2021-10-28 11:00:22,152 - INFO - LOGMSG 2740969:VTI: 424.05
2021-10-28 11:00:22,163 - INFO - LOGMSG 2740969:VTE: 515.81
2021-10-28 11:00:32,181 - INFO - LOGMSG 2750969:VTE: 514.17
2021-10-28 11:00:42,172 - INFO - LOGMSG 2760969:VTI: 425.47
2021-10-28 11:00:42,183 - INFO - LOGMSG 2760969:VTE: 510.63
2021-10-28 11:00:52,161 - INFO - LOGMSG 2770969:VTI: 423.44
2021-10-28 11:00:52,173 - INFO - LOGMSG 2770969:VTE: 506.92
2021-10-28 11:01:02,163 - INFO - LOGMSG 2780969:VTI: 420.31
2021-10-28 11:01:02,175 - INFO - LOGMSG 2780969:VTE: 506.01
2021-10-28 11:01:12,170 - INFO - LOGMSG 2790969:VTI: 412.11
2021-10-28 11:01:12,182 - INFO - LOGMSG 2790970:VTE: 502.06
2021-10-28 11:01:22,183 - INFO - LOGMSG 2800969:VTE: 505.63
\ No newline at end of file
2021-10-28 10:36:18,371 - INFO - LOGMSG 1297152:VTE: 611.67
2021-10-28 10:36:28,367 - INFO - LOGMSG 1307152:VTI: 367.63
2021-10-28 10:36:28,378 - INFO - LOGMSG 1307152:VTE: 616.76
2021-10-28 10:36:38,380 - INFO - LOGMSG 1317152:VTE: 614.68
2021-10-28 10:36:48,356 - INFO - LOGMSG 1327152:VTI: 370.32
2021-10-28 10:36:48,367 - INFO - LOGMSG 1327152:VTE: 610.36
2021-10-28 10:36:58,358 - INFO - LOGMSG 1337152:VTI: 356.03
2021-10-28 10:36:58,369 - INFO - LOGMSG 1337152:VTE: 588.20
2021-10-28 10:37:08,360 - INFO - LOGMSG 1347152:VTI: 359.00
2021-10-28 10:37:08,372 - INFO - LOGMSG 1347153:VTE: 590.65
2021-10-28 10:37:18,366 - INFO - LOGMSG 1357152:VTI: 346.08
2021-10-28 10:37:18,378 - INFO - LOGMSG 1357152:VTE: 566.91
2021-10-28 10:37:28,369 - INFO - LOGMSG 1367152:VTI: 365.01
2021-10-28 10:37:28,379 - INFO - LOGMSG 1367152:VTE: 597.54
2021-10-28 10:37:38,368 - INFO - LOGMSG 1377152:VTI: 337.47
2021-10-28 10:37:38,379 - INFO - LOGMSG 1377152:VTE: 557.56
2021-10-28 10:37:48,368 - INFO - LOGMSG 1387152:VTE: 564.24
2021-10-28 10:37:58,367 - INFO - LOGMSG 1397152:VTI: 310.81
2021-10-28 10:37:58,378 - INFO - LOGMSG 1397152:VTE: 522.47
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment