Skip to content
Snippets Groups Projects
Commit ede4d99b authored by Karol Hennessy's avatar Karol Hennessy
Browse files

debugging lost data

parent 07366e26
No related merge requests found
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
#include <Arduino.h> #include <Arduino.h>
#define CONST_TIMEOUT_ALARM 5 #define CONST_TIMEOUT_ALARM 5
#define CONST_TIMEOUT_DATA 10 #define CONST_TIMEOUT_DATA 10
#define CONST_TIMEOUT_CMD 50 #define CONST_TIMEOUT_CMD 50
#define PAYLOAD_MAX_SIZE_BUFFER 128 #define PAYLOAD_MAX_SIZE_BUFFER 128
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
#define COMMS_MAX_SIZE_RB_SENDING 1 #define COMMS_MAX_SIZE_RB_SENDING 1
#else #else
#define COMMS_MAX_SIZE_RB_RECEIVING 10 #define COMMS_MAX_SIZE_RB_RECEIVING 10
#define COMMS_MAX_SIZE_RB_SENDING 5 #define COMMS_MAX_SIZE_RB_SENDING 15
#endif #endif
#define COMMS_MAX_SIZE_PACKET 128 #define COMMS_MAX_SIZE_PACKET 128
......
...@@ -14,7 +14,7 @@ UILoop::UILoop(BreathingLoop *bl, AlarmLoop *al, CommsControl *comms) ...@@ -14,7 +14,7 @@ UILoop::UILoop(BreathingLoop *bl, AlarmLoop *al, CommsControl *comms)
_fast_report_timeout = 10; //ms _fast_report_timeout = 10; //ms
_readback_report_timeout = 300; _readback_report_timeout = 300;
_cycle_report_timeout = 500; // this should probably be based on fsm state _cycle_report_timeout = 1000; // this should probably be based on fsm state
_alarm_report_timeout = 1000; // max timeout to report, actual sending timeout is timeout/priority _alarm_report_timeout = 1000; // max timeout to report, actual sending timeout is timeout/priority
_ivt_report_timeout = 510; // this should probably be based on fsm state _ivt_report_timeout = 510; // this should probably be based on fsm state
...@@ -118,7 +118,8 @@ void UILoop::reportReadbackValues() ...@@ -118,7 +118,8 @@ void UILoop::reportReadbackValues()
_readback_data.peep = _breathing_loop->getPEEP(); _readback_data.peep = _breathing_loop->getPEEP();
_readback_data.inhale_exhale_ratio = _breathing_loop->getIERatio(); _readback_data.inhale_exhale_ratio = _breathing_loop->getIERatio();
_plSend.setPayload(PRIORITY::DATA_ADDR, reinterpret_cast<void *>(&_readback_data), sizeof(_readback_data)); //_plSend.setPayload(PRIORITY::DATA_ADDR, reinterpret_cast<void *>(&_readback_data), sizeof(_readback_data));
_plSend.setPayload(PRIORITY::CMD_ADDR, reinterpret_cast<void *>(&_readback_data), sizeof(_readback_data));
_comms->writePayload(_plSend); _comms->writePayload(_plSend);
_readback_report_time = tnow; _readback_report_time = tnow;
} }
...@@ -254,7 +255,8 @@ void UILoop::reportTargets(target_variables targets) ...@@ -254,7 +255,8 @@ void UILoop::reportTargets(target_variables targets)
_target_data.peep = targets.peep; _target_data.peep = targets.peep;
_target_data.fiO2 = targets.fiO2; _target_data.fiO2 = targets.fiO2;
_target_data.inhale_time = targets.inhale_time; _target_data.inhale_time = targets.inhale_time;
_plSend.setPayload(PRIORITY::DATA_ADDR, reinterpret_cast<void *>(&_target_data), sizeof(_target_data)); //_plSend.setPayload(PRIORITY::DATA_ADDR, reinterpret_cast<void *>(&_target_data), sizeof(_target_data));
_plSend.setPayload(PRIORITY::CMD_ADDR, reinterpret_cast<void *>(&_target_data), sizeof(_target_data));
_comms->writePayload(_plSend); _comms->writePayload(_plSend);
} }
......
...@@ -121,10 +121,10 @@ void loop() ...@@ -121,10 +121,10 @@ void loop()
ui_loop.reportIVTReadings(); ui_loop.reportIVTReadings();
ui_loop.reportDebugValues(); ui_loop.reportDebugValues();
// per cycle sender
comms.sender();
// per cycle receiver // per cycle receiver
comms.receiver(); comms.receiver();
// per cycle sender
comms.sender();
// // check any received payload // // check any received payload
ui_loop.receiveCommands(); ui_loop.receiveCommands();
......
...@@ -41,7 +41,7 @@ class Dependant(object): ...@@ -41,7 +41,7 @@ class Dependant(object):
if payload.getType() == PAYLOAD_TYPE.DATA.value: if payload.getType() == PAYLOAD_TYPE.DATA.value:
#logging.info(f"payload received: {payload}") #logging.info(f"payload received: {payload}")
#logging.info(f"payload received: {payload.timestamp} pc {payload.flow:3.6f} dc {payload.volume:3.6f} fsm {payload.fsm_state}") #logging.info(f"payload received: {payload.timestamp}")
#logging.info(f"Fsm state: {payload.fsm_state}") #logging.info(f"Fsm state: {payload.fsm_state}")
fsm = payload.fsm_state fsm = payload.fsm_state
#if payload.getType() == PAYLOAD_TYPE.IVT.value: #if payload.getType() == PAYLOAD_TYPE.IVT.value:
...@@ -52,8 +52,8 @@ class Dependant(object): ...@@ -52,8 +52,8 @@ class Dependant(object):
# logging.info(f"payload received: inhale exhale ratio = {payload.inhale_exhale_ratio} ") # logging.info(f"payload received: inhale exhale ratio = {payload.inhale_exhale_ratio} ")
#if payload.getType() == PAYLOAD_TYPE.CYCLE.value: #if payload.getType() == PAYLOAD_TYPE.CYCLE.value:
# logging.info(f"payload received: {payload} ") # logging.info(f"payload received: {payload} ")
#if payload.getType() == PAYLOAD_TYPE.READBACK.value: if payload.getType() == PAYLOAD_TYPE.READBACK.value:
# logging.info(f"payload received: {payload} ") logging.info(f"payload received: {payload} ")
#if payload.getType() == PAYLOAD_TYPE.DEBUG.value: #if payload.getType() == PAYLOAD_TYPE.DEBUG.value:
# logging.info(f" PID {payload.kp:3.6f} {payload.ki:3.6f} {payload.kd:3.6f} {payload.proportional:3.6f} {payload.integral:3.6f} {payload.derivative:3.6f} {payload.valve_duty_cycle:3.6f} {payload.target_pressure:3.6f} {payload.process_pressure:3.6f} fsm {fsm}") # logging.info(f" PID {payload.kp:3.6f} {payload.ki:3.6f} {payload.kd:3.6f} {payload.proportional:3.6f} {payload.integral:3.6f} {payload.derivative:3.6f} {payload.valve_duty_cycle:3.6f} {payload.target_pressure:3.6f} {payload.process_pressure:3.6f} fsm {fsm}")
if payload.getType() == PAYLOAD_TYPE.LOGMSG.value: if payload.getType() == PAYLOAD_TYPE.LOGMSG.value:
...@@ -81,47 +81,56 @@ async def commsDebug(): ...@@ -81,47 +81,56 @@ async def commsDebug():
await asyncio.sleep(1) await asyncio.sleep(1)
# # Change TIMEOUT of breathing cycle (BUFF-PRE-INHALE) # # Change TIMEOUT of breathing cycle (BUFF-PRE-INHALE)
await asyncio.sleep(1) await asyncio.sleep(1)
print('get targets pcac, current') #print('get targets pcac, current')
send_cmd(cmd_type="GET_TARGETS", cmd_code="PC_AC", param=0) #send_cmd(cmd_type="GET_TARGETS", cmd_code="PC_AC", param=0)
send_cmd(cmd_type="GET_TARGETS", cmd_code="TEST", param=0) #send_cmd(cmd_type="GET_TARGETS", cmd_code="TEST", param=0)
send_cmd(cmd_type="GET_TARGETS", cmd_code="CURRENT", param=0) #send_cmd(cmd_type="GET_TARGETS", cmd_code="CURRENT", param=0)
await asyncio.sleep(1) #await asyncio.sleep(1)
print('set pcac rr=10, t_inh=1110') #print('set pcac rr=10, t_inh=1110')
send_cmd(cmd_type="SET_TARGET_PC_AC", cmd_code="RESPIRATORY_RATE", param=10.0) #send_cmd(cmd_type="SET_TARGET_PC_AC", cmd_code="RESPIRATORY_RATE", param=10.0)
send_cmd(cmd_type="SET_TARGET_PC_AC", cmd_code="INHALE_TIME", param=1110) #send_cmd(cmd_type="SET_TARGET_PC_AC", cmd_code="INHALE_TIME", param=1110)
print('set curr rr=11 ') #print('set curr rr=11 ')
send_cmd(cmd_type="SET_TARGET_CURRENT", cmd_code="RESPIRATORY_RATE", param=11.0) #send_cmd(cmd_type="SET_TARGET_CURRENT", cmd_code="RESPIRATORY_RATE", param=11.0)
await asyncio.sleep(1) #await asyncio.sleep(1)
print('get targets pcac, current') #print('get targets pcac, current')
send_cmd(cmd_type="GET_TARGETS", cmd_code="PC_AC", param=0) #send_cmd(cmd_type="GET_TARGETS", cmd_code="PC_AC", param=0)
send_cmd(cmd_type="GET_TARGETS", cmd_code="TEST", param=0) #send_cmd(cmd_type="GET_TARGETS", cmd_code="TEST", param=0)
send_cmd(cmd_type="GET_TARGETS", cmd_code="CURRENT", param=0) #send_cmd(cmd_type="GET_TARGETS", cmd_code="CURRENT", param=0)
await asyncio.sleep(1) #await asyncio.sleep(1)
print('change mode to pcac') #print('change mode to pcac')
send_cmd(cmd_type="SET_MODE", cmd_code="PC_AC", param=0) #send_cmd(cmd_type="SET_MODE", cmd_code="PC_AC", param=0)
await asyncio.sleep(1) #await asyncio.sleep(1)
print('get targets pcac, current') #print('get targets pcac, current')
send_cmd(cmd_type="GET_TARGETS", cmd_code="PC_AC", param=0) #send_cmd(cmd_type="GET_TARGETS", cmd_code="PC_AC", param=0)
send_cmd(cmd_type="GET_TARGETS", cmd_code="TEST", param=0) #send_cmd(cmd_type="GET_TARGETS", cmd_code="TEST", param=0)
send_cmd(cmd_type="GET_TARGETS", cmd_code="CURRENT", param=0) #send_cmd(cmd_type="GET_TARGETS", cmd_code="CURRENT", param=0)
await asyncio.sleep(1) #await asyncio.sleep(1)
send_cmd(cmd_type="SET_TARGET_CURRENT", cmd_code="INHALE_TIME", param=1220) #send_cmd(cmd_type="SET_TARGET_CURRENT", cmd_code="INHALE_TIME", param=1220)
await asyncio.sleep(1) #await asyncio.sleep(1)
print('get targets pcac, current') #print('get all targets pcac')
send_cmd(cmd_type="GET_TARGETS", cmd_code="PC_AC", param=0) #send_cmd(cmd_type="GET_TARGETS", cmd_code="PC_AC", param=0)
send_cmd(cmd_type="GET_TARGETS", cmd_code="TEST", param=0) #send_cmd(cmd_type="GET_TARGETS", cmd_code="PC_PSV", param=0)
send_cmd(cmd_type="GET_TARGETS", cmd_code="CURRENT", param=0) #send_cmd(cmd_type="GET_TARGETS", cmd_code="PC_AC_PRVC", param=0)
#cmd = send_cmd(cmd_type="GENERAL", cmd_code="START", param=0) #send_cmd(cmd_type="GET_TARGETS", cmd_code="CPAP", param=0)
print('send start') #send_cmd(cmd_type="GET_TARGETS", cmd_code="TEST", param=0)
#send_cmd(cmd_type="GET_TARGETS", cmd_code="CURRENT", param=0)
##cmd = send_cmd(cmd_type="GENERAL", cmd_code="START", param=0)
#print('send start')
#print('sent inhale + exhale trigger -> 1') #print('sent inhale + exhale trigger -> 1')
while True: while True:
await asyncio.sleep(20) await asyncio.sleep(1)
send_cmd(cmd_type="GET_TARGETS", cmd_code="PC_AC", param=0)
send_cmd(cmd_type="GET_TARGETS", cmd_code="PC_PSV", param=0)
send_cmd(cmd_type="GET_TARGETS", cmd_code="PC_AC_PRVC", param=0)
send_cmd(cmd_type="GET_TARGETS", cmd_code="CPAP", param=0)
send_cmd(cmd_type="GET_TARGETS", cmd_code="TEST", param=0)
send_cmd(cmd_type="GET_TARGETS", cmd_code="CURRENT", param=0)
#send_cmd(cmd_type="GENERAL", cmd_code="STANDBY", param=0) #send_cmd(cmd_type="GENERAL", cmd_code="STANDBY", param=0)
print('sent cmd standby') print('sent cmd get targets')
try: try:
# setup serial device and init server # setup serial device and init server
......
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