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

moved trigger thresholds to set_targets

parent dc19d4ff
Branches
No related merge requests found
......@@ -74,12 +74,6 @@ BreathingLoop::BreathingLoop()
_cycle_index = 0;
_inhale_trigger_threshold = 0.005; // abs flow ?unit
_exhale_trigger_threshold = 0.2; // 30% of peak
_inhale_trigger_threshold = _valves_controller.getValveParams().inhale_trigger_threshold;
_exhale_trigger_threshold = _valves_controller.getValveParams().exhale_trigger_threshold;
_min_inhale_time = 150;
_min_exhale_time = 300;
_max_exhale_time = 30000; // for mandatory cycle - changed to 30s for the sponteneous breath testing
......@@ -100,7 +94,11 @@ void BreathingLoop::initTargets()
_targets_pcac.inhale_time= 1000;
_targets_pcac.peep = 5;
_targets_pcac.fiO2_percent = 21;
_targets_pcac.buffer_lower_pressure = 0.0;
_targets_pcac.inhale_trigger_threshold = 0.0005; // abs flow ? unit /
_targets_pcac.exhale_trigger_threshold = 0.25; // 25% of the peak flow
_targets_pcac.buffer_lower_pressure = 285.0;
_targets_pcac.buffer_upper_pressure = 300.0;
// copy all from PCAC
......@@ -109,6 +107,21 @@ void BreathingLoop::initTargets()
_targets_cpap = _targets_pcac;
_targets_test = _targets_pcac;
_targets_pcac.inhale_trigger_enable = true;
_targets_pcac.exhale_trigger_enable = false;
_targets_pcac.volume_trigger_enable = false;
_targets_pcac_prvc.inhale_trigger_enable = true;
_targets_pcac_prvc.exhale_trigger_enable = false;
_targets_pcac_prvc.volume_trigger_enable = true;
_targets_pc_psv.inhale_trigger_enable = true;
_targets_pc_psv.exhale_trigger_enable = true;
_targets_pc_psv.volume_trigger_enable = false;
_targets_cpap.inhale_trigger_enable = true;
_targets_cpap.exhale_trigger_enable = true;
_targets_cpap.volume_trigger_enable = false;
_targets_test.inhale_trigger_enable = true;
_targets_test.exhale_trigger_enable = true;
_targets_test.volume_trigger_enable = false;
// "current" mode is set by ventilation mode
// set modes for readback
......@@ -301,37 +314,34 @@ void BreathingLoop::updateCycleReadings()
void BreathingLoop::setVentilationMode(VENTILATION_MODE mode)
{
_ventilation_mode = mode;
valve_params &vp = _valves_controller.getValveParams();
switch(_ventilation_mode){
case VENTILATION_MODE::PC_AC :
vp.inhale_trigger_enable = true;
vp.exhale_trigger_enable = false;
vp.volume_trigger_enable = false;
_targets_pcac.inhale_trigger_enable = true;
_targets_pcac.exhale_trigger_enable = false;
_targets_pcac.volume_trigger_enable = false;
_targets_current = &_targets_pcac;
break;
case VENTILATION_MODE::PC_AC_PRVC :
vp.inhale_trigger_enable = true;
vp.exhale_trigger_enable = false;
vp.volume_trigger_enable = true;
_targets_pcac_prvc.inhale_trigger_enable = true;
_targets_pcac_prvc.exhale_trigger_enable = false;
_targets_pcac_prvc.volume_trigger_enable = true;
_targets_current = &_targets_pcac_prvc;
break;
case VENTILATION_MODE::PC_PSV :
vp.inhale_trigger_enable = true;
vp.exhale_trigger_enable = true;
vp.volume_trigger_enable = false;
_targets_pc_psv.inhale_trigger_enable = true;
_targets_pc_psv.exhale_trigger_enable = true;
_targets_pc_psv.volume_trigger_enable = false;
_targets_current = &_targets_pc_psv;
break;
case VENTILATION_MODE::CPAP :
vp.inhale_trigger_enable = true;
vp.exhale_trigger_enable = true;
vp.volume_trigger_enable = false;
_targets_cpap.inhale_trigger_enable = true;
_targets_cpap.exhale_trigger_enable = true;
_targets_cpap.volume_trigger_enable = false;
_targets_current = &_targets_cpap;
break;
case VENTILATION_MODE::TEST:
vp.inhale_trigger_enable = true;
vp.exhale_trigger_enable = true;
vp.volume_trigger_enable = false;
// in test mode you can set the triggers on / off
_targets_current = &_targets_test;
break;
default :
......@@ -567,7 +577,7 @@ void BreathingLoop::FSM_breathCycle()
// fill buffer to required pressure or timeout ; close valves 10ms before timeout.
if((_readings_avgs.pressure_buffer >= _targets_current->buffer_upper_pressure) || (millis() - _fsm_time >= (_fsm_timeout - 10))){
_valves_controller.setValves(VALVE_STATE::CLOSED, VALVE_STATE::CLOSED, VALVE_STATE::CLOSED, VALVE_STATE::OPEN, VALVE_STATE::CLOSED);
} else if(_readings_avgs.pressure_buffer < _targets_current->buffer_upper_pressure - 15){
} else if(_readings_avgs.pressure_buffer < _targets_current->buffer_lower_pressure){
_valves_controller.setValves(VALVE_STATE::OPEN, VALVE_STATE::OPEN, VALVE_STATE::CLOSED, VALVE_STATE::OPEN, VALVE_STATE::CLOSED);
}
measurePEEP();
......@@ -1029,7 +1039,7 @@ target_variables& BreathingLoop::getTargetVariablesCurrent(){ return (*_targets_
bool BreathingLoop::inhaleTrigger()
{
bool en = _valves_controller.getValveParams().inhale_trigger_enable;
bool en = _targets_current->inhale_trigger_enable;
//logMsg("inhale trig- " + String(_readings_avgs.pressure_diff_patient,6) + " " + String(_valves_controller.getValveParams().inhale_trigger_threshold,6));
String result = "";
......@@ -1042,7 +1052,7 @@ bool BreathingLoop::inhaleTrigger()
}
//_fsm_timeout = _max_exhale_time;
uint32_t tnow = static_cast<uint32_t>(millis());
if((_readings_avgs.pressure_diff_patient > _valves_controller.getValveParams().inhale_trigger_threshold)
if((_readings_avgs.pressure_diff_patient > _targets_current->inhale_trigger_threshold)
&& (tnow - _valley_flow_time >= 100)){ // wait 100ms after the valley
if (tnow - _fsm_time >= _min_exhale_time ) {
// TRIGGER
......@@ -1070,7 +1080,7 @@ bool BreathingLoop::inhaleTrigger()
bool BreathingLoop::exhaleTrigger()
{
bool en = _valves_controller.getValveParams().exhale_trigger_enable;
bool en = _targets_current->exhale_trigger_enable;
//logMsg("EXhale trig- " + String(_flow) + " " + String(_running_avg_flow) +" "+ String(_valves_controller.getValveParams().exhale_trigger_threshold)+" "+String(_peak_flow));
......@@ -1078,7 +1088,7 @@ bool BreathingLoop::exhaleTrigger()
//logMsg("exhale trigger");
uint32_t tnow = static_cast<uint32_t>(millis());
valve_params vp = _valves_controller.getValveParams();
if((_running_avg_flow < (vp.exhale_trigger_threshold * _peak_flow))
if((_running_avg_flow < (_targets_current->exhale_trigger_threshold * _peak_flow))
&& (tnow - _peak_flow_time >= 100)){ // wait 10ms after peak
//TODO - check we're past 'peak'
//logMsg(" EXhale trig- " + String(_running_avg_flow) +" "+ String(vp.exhale_trigger_threshold)+" "+String(_peak_flow));
......@@ -1095,15 +1105,14 @@ bool BreathingLoop::exhaleTrigger()
bool BreathingLoop::volumeTrigger()
{
bool en = _valves_controller.getValveParams().volume_trigger_enable;
bool en = _targets_current->volume_trigger_enable;
//logMsg("volume trig- " + String(_flow) + " " + String(_running_avg_flow) +" "+ String(_valves_controller.getValveParams().exhale_trigger_threshold)+" "+String(_peak_flow));
if(en == true){
//logMsg("volume trigger");
uint32_t tnow = static_cast<uint32_t>(millis());
valve_params vp = _valves_controller.getValveParams();
if(_volume < vp.volume_trigger_threshold ){
if(_volume < _targets_current->volume){
if (tnow - _fsm_time >= _min_inhale_time ) {
// TRIGGER
_fsm_timeout = 0; // go to next state immediately
......
......@@ -192,8 +192,6 @@ private:
uint8_t _running_index_peep;
bool _inhale_triggered;
float _inhale_trigger_threshold;
float _exhale_trigger_threshold;
float _peak_flow;
float _valley_flow;
uint32_t _peak_flow_time;
......
......@@ -151,8 +151,8 @@ void UILoop::reportReadbackValues()
_readback_data.valve_air_in_enable = vparams.valve_air_in_enable;
_readback_data.valve_o2_in_enable = vparams.valve_o2_in_enable;
_readback_data.valve_purge_enable = vparams.valve_purge_enable;
_readback_data.inhale_trigger_enable = vparams.inhale_trigger_enable;
_readback_data.exhale_trigger_enable = vparams.exhale_trigger_enable;
_readback_data.inhale_trigger_enable = _breathing_loop->getTargetVariablesCurrent().inhale_trigger_enable;
_readback_data.exhale_trigger_enable = _breathing_loop->getTargetVariablesCurrent().exhale_trigger_enable;
_readback_data.peep = _breathing_loop->getPEEP();
_readback_data.inhale_exhale_ratio = _breathing_loop->getIERatio();
......@@ -448,28 +448,6 @@ void UILoop::cmdSetTarget(cmd_format &cf, int8_t mode){
}
}
// void UILoop::cmdSetPersonal(cmd_format &cf){
// switch(cf.cmd_code){
// case CMD_SET_PERSONAL::NAME:
// _personal.name = static_cast<char*>(cf.param);
// break;
// case CMD_SET_PERSONAL::AGE:
// _personal.age = static_cast<uint8_t>(cf.param);
// break;
// case CMD_SET_PERSONAL::SEX:
// _personal.sex = static_cast<char>(cf.param);
// break;
// case CMD_SET_PERSONAL::HEIGHT:
// _personal.height = static_cast<uint8_t>(cf.param);
// break;
// case CMD_SET_PERSONAL::WEIGHT:
// _personal.weight = static_cast<uint8_t>(cf.param);
// break;
// default:
// break;
// }
// }
void UILoop::cmdGetTarget(cmd_format &cf){
......
......@@ -53,14 +53,6 @@ ValvesController::ValvesController()
_valve_params.valve_air_in_enable = 1;
_valve_params.valve_o2_in_enable = 1;
_valve_params.valve_purge_enable = 1;
_valve_params.inhale_trigger_enable = 0; // params - associated val of peak flow
_valve_params.exhale_trigger_enable = 0;
_valve_params.volume_trigger_enable = 0;
_valve_params.inhale_trigger_threshold = 0.0025; // abs flow ? unit /
_valve_params.exhale_trigger_threshold = 0.3; // 30% of the peak flow
_valve_params.volume_trigger_threshold = 400; // ml
_PID_output = 0;
_INA_found = false;
......
......@@ -49,12 +49,6 @@ void setValveParam(CMD_SET_VALVE cmd, valve_params &vparams, float value)
case CMD_SET_VALVE::PURGE_ENABLE :
vparams.valve_purge_enable = (value > 0.9);
break;
case CMD_SET_VALVE::INHALE_TRIGGER_ENABLE :
vparams.inhale_trigger_enable = (value > 0.9);
break;
case CMD_SET_VALVE::EXHALE_TRIGGER_ENABLE :
vparams.exhale_trigger_enable = (value > 0.9);
break;
case CMD_SET_VALVE::INHALE_DUTY_CYCLE :
vparams.inhale_duty_cycle = (value < 0) ? 0.0 : (value > MAX_VALVE_FRAC_OPEN) ? MAX_VALVE_FRAC_OPEN : value;
break;
......@@ -64,12 +58,6 @@ void setValveParam(CMD_SET_VALVE cmd, valve_params &vparams, float value)
case CMD_SET_VALVE::INHALE_OPEN_MAX :
vparams.inhale_open_max = (value < 0) ? 0.0 : (value > MAX_VALVE_FRAC_OPEN) ? MAX_VALVE_FRAC_OPEN : value;
break;
case CMD_SET_VALVE::INHALE_TRIGGER_THRESHOLD :
vparams.inhale_trigger_threshold = value;
break;
case CMD_SET_VALVE::EXHALE_TRIGGER_THRESHOLD :
vparams.exhale_trigger_threshold = value;
break;
default:
break;
}
......@@ -125,6 +113,21 @@ void setTarget(CMD_SET_TARGET cmd, target_variables &targets, float value)
targets.inhale_time = value;
targets.ie_selected = false;
break;
case CMD_SET_TARGET::INHALE_TRIGGER_ENABLE :
targets.inhale_trigger_enable = (value > 0.9);
break;
case CMD_SET_TARGET::EXHALE_TRIGGER_ENABLE :
targets.exhale_trigger_enable = (value > 0.9);
break;
case CMD_SET_TARGET::VOLUME_TRIGGER_ENABLE :
targets.volume_trigger_enable = (value > 0.9);
break;
case CMD_SET_TARGET::INHALE_TRIGGER_THRESHOLD :
targets.inhale_trigger_threshold = value;
break;
case CMD_SET_TARGET::EXHALE_TRIGGER_THRESHOLD :
targets.exhale_trigger_threshold = value;
break;
}
}
......
......@@ -21,7 +21,7 @@
#include <Arduino_Due_pinout.h>
#endif
#define HEV_FORMAT_VERSION 0xB0
#define HEV_FORMAT_VERSION 0xB1
//
const float MAX_VALVE_FRAC_OPEN = 0.74;
......@@ -106,10 +106,6 @@ enum CMD_SET_VALVE: uint8_t {
INHALE_DUTY_CYCLE = 4,
INHALE_OPEN_MIN = 5,
INHALE_OPEN_MAX = 6,
INHALE_TRIGGER_ENABLE = 7,
EXHALE_TRIGGER_ENABLE = 8,
INHALE_TRIGGER_THRESHOLD = 9,
EXHALE_TRIGGER_THRESHOLD = 10
};
enum CMD_SET_PID : uint8_t {
......@@ -121,13 +117,20 @@ enum CMD_SET_PID : uint8_t {
};
enum CMD_SET_TARGET : uint8_t {
INSPIRATORY_PRESSURE = 1,
RESPIRATORY_RATE = 2,
IE_RATIO = 3,
VOLUME = 4,
PEEP = 5,
FIO2 = 6,
INHALE_TIME = 7
INSPIRATORY_PRESSURE = 1,
RESPIRATORY_RATE = 2,
IE_RATIO = 3,
VOLUME = 4,
PEEP = 5,
FIO2 = 6,
INHALE_TIME = 7,
INHALE_TRIGGER_THRESHOLD = 8,
EXHALE_TRIGGER_THRESHOLD = 9,
// for debugging only; not for UIs
INHALE_TRIGGER_ENABLE = 10,
EXHALE_TRIGGER_ENABLE = 11,
VOLUME_TRIGGER_ENABLE = 12
};
enum CMD_SET_PERSONAL : uint8_t {
......@@ -381,6 +384,11 @@ struct target_data_format{
float peep = 0.0;
float fiO2_percent = 0.0;
uint16_t inhale_time = 0 ;
uint8_t inhale_trigger_enable = 0; // params - associated val of peak flow
uint8_t exhale_trigger_enable = 0;
uint8_t volume_trigger_enable = 0;
float inhale_trigger_threshold ; // params - associated val of peak flow
float exhale_trigger_threshold ;
float buffer_upper_pressure = 0.0;
float buffer_lower_pressure = 0.0;
};
......@@ -611,6 +619,11 @@ struct target_variables {
float peep;
float fiO2_percent;
uint16_t inhale_time;
bool inhale_trigger_enable ; // params - associated val of peak flow
bool exhale_trigger_enable ;
bool volume_trigger_enable ;
float inhale_trigger_threshold ; // params - associated val of peak flow
float exhale_trigger_threshold ;
float buffer_upper_pressure;
float buffer_lower_pressure;
bool ie_selected;
......@@ -659,15 +672,9 @@ struct valve_params{
bool valve_air_in_enable ;
bool valve_o2_in_enable ;
bool valve_purge_enable ;
bool inhale_trigger_enable ; // params - associated val of peak flow
bool exhale_trigger_enable ;
bool volume_trigger_enable ;
float inhale_duty_cycle;
float inhale_open_min;
float inhale_open_max;
float inhale_trigger_threshold ; // params - associated val of peak flow
float exhale_trigger_threshold ;
float volume_trigger_threshold ;
};
......
......@@ -76,8 +76,6 @@ class CMD_SET_VALVE(Enum):
INHALE_OPEN_MAX = 6
INHALE_TRIGGER_ENABLE = 7
EXHALE_TRIGGER_ENABLE = 8
INHALE_TRIGGER_THRESHOLD = 9
EXHALE_TRIGGER_THRESHOLD = 10
@unique
class CMD_SET_PID(Enum):
......@@ -89,13 +87,19 @@ class CMD_SET_PID(Enum):
@unique
class CMD_SET_TARGET(Enum):
INSPIRATORY_PRESSURE = 1
RESPIRATORY_RATE = 2
IE_RATIO = 3
VOLUME = 4
PEEP = 5
FIO2 = 6
INHALE_TIME = 7
INSPIRATORY_PRESSURE = 1
RESPIRATORY_RATE = 2
IE_RATIO = 3
VOLUME = 4
PEEP = 5
FIO2 = 6
INHALE_TIME = 7
INHALE_TRIGGER_THRESHOLD = 8
EXHALE_TRIGGER_THRESHOLD = 9
# for debugging only; not for UIs
INHALE_TRIGGER_ENABLE = 10
EXHALE_TRIGGER_ENABLE = 11
VOLUME_TRIGGER_ENABLE = 12
@unique
# class CMD_SET_PERSONAL(Enum):
......@@ -196,7 +200,7 @@ class HEVVersionError(Exception):
@dataclass
class PayloadFormat():
# class variables excluded from init args and output dict
_RPI_VERSION: ClassVar[int] = field(default=0xB0, init=False, repr=False)
_RPI_VERSION: ClassVar[int] = field(default=0xB1, init=False, repr=False)
_dataStruct: ClassVar[Any] = field(default=Struct("<BIB"), init=False, repr=False)
_byteArray: ClassVar[bytearray] = field(default=None, init=False, repr=False)
......@@ -615,19 +619,24 @@ class IVTFormat(PayloadFormat):
# =======================================
@dataclass
class TargetFormat(PayloadFormat):
_dataStruct = Struct("<BIBBffffffHff")
_dataStruct = Struct("<BIBBffffffHBBBffff")
payload_type: PAYLOAD_TYPE = PAYLOAD_TYPE.TARGET
mode : int = 0
inspiratory_pressure : float = 0.0
ie_ratio : float = 0.0
volume : float = 0.0
respiratory_rate : float = 0.0
peep : float = 0.0
fiO2_percent : float = 0.0
inhale_time : int = 0
buffer_upper_pressure : float = 0.0
buffer_lower_pressure : float = 0.0
mode : int = 0
inspiratory_pressure : float = 0.0
ie_ratio : float = 0.0
volume : float = 0.0
respiratory_rate : float = 0.0
peep : float = 0.0
fiO2_percent : float = 0.0
inhale_time : int = 0
inhale_trigger_enable : int = 0
exhale_trigger_enable : int = 0
volume_trigger_enable : int = 0
inhale_trigger_threshold : float = 0.0
exhale_trigger_threshold : float = 0.0
buffer_upper_pressure : float = 0.0
buffer_lower_pressure : float = 0.0
# for receiving DataFormat from microcontroller
# fill the struct from a byteArray,
......@@ -647,6 +656,11 @@ class TargetFormat(PayloadFormat):
self.peep ,
self.fiO2_percent ,
self.inhale_time ,
self.inhale_trigger_enable ,
self.exhale_trigger_enable ,
self.volume_trigger_enable ,
self.inhale_trigger_threshold ,
self.exhale_trigger_threshold ,
self.buffer_upper_pressure,
self.buffer_lower_pressure ) = self._dataStruct.unpack(byteArray)
......
......@@ -80,47 +80,43 @@ def send_cmd(cmd_type, cmd_code, param=0.0):
# initialise as start command, automatically executes toByteArray()
async def commsDebug():
await asyncio.sleep(1)
cmd = send_cmd(cmd_type="SET_PID", cmd_code="KP", param=1.0*0.001)#
cmd = send_cmd(cmd_type="SET_PID", cmd_code="KI", param=1.0*0.0005)# 0.0005
cmd = send_cmd(cmd_type="SET_PID", cmd_code="KD", param=1.0*0.001)# 0.001
cmd = send_cmd(cmd_type="SET_TARGET_CURRENT", cmd_code="INSPIRATORY_PRESSURE", param=17.5)#
#cmd = send_cmd(cmd_type="SET_PID", cmd_code="TARGET_FINAL_PRESSURE", param=20.0)#
cmd = send_cmd(cmd_type="SET_PID", cmd_code="NSTEPS", param=3) #
send_cmd(cmd_type="SET_MODE", cmd_code="TEST", param=0)
send_cmd(cmd_type="SET_PID", cmd_code="KP", param=1.0*0.001)#
send_cmd(cmd_type="SET_PID", cmd_code="KI", param=1.0*0.0005)# 0.0005
send_cmd(cmd_type="SET_PID", cmd_code="KD", param=1.0*0.001)# 0.001
send_cmd(cmd_type="SET_PID", cmd_code="NSTEPS", param=3) #
# # Change TIMEOUT of breathing cycle (BUFF-PRE-INHALE)
cmd = send_cmd(cmd_type="SET_DURATION", cmd_code="BUFF_PRE_INHALE", param=10.) #
# Change TIMEOUT of breathing cycle (INHALE)
cmd = send_cmd(cmd_type="SET_DURATION", cmd_code="PAUSE", param=10.) #
# Start the cycles
cmd = send_cmd(cmd_type="SET_VALVE", cmd_code="INHALE_TRIGGER_THRESHOLD", param=0.0005) #
# Enable exhale trigger threshold
cmd = send_cmd(cmd_type="SET_VALVE", cmd_code="EXHALE_TRIGGER_THRESHOLD", param=0.25) #
# Start the cycles
cmd = CommandFormat(cmd_type="SET_MODE", cmd_code="TEST", param=0)
send_cmd(cmd_type="SET_DURATION", cmd_code="BUFF_PRE_INHALE", param=10.) #
send_cmd(cmd_type="SET_DURATION", cmd_code="PAUSE", param=10.) #
send_cmd(cmd_type="SET_VALVE", cmd_code="INHALE_OPEN_MIN", param=0.53)
#comms.writePayload(cmd)
print('sent cmd start')
await asyncio.sleep(1)
send_cmd(cmd_type="SET_VALVE", cmd_code="INHALE_TRIGGER_ENABLE", param=0)
send_cmd(cmd_type="SET_VALVE", cmd_code="EXHALE_TRIGGER_ENABLE", param=0)
send_cmd(cmd_type="SET_TARGET_CURRENT", cmd_code="RESPIRATORY_RATE", param=10.0)
send_cmd(cmd_type="SET_TARGET_CURRENT", cmd_code="INHALE_TIME", param=1000)
send_cmd(cmd_type="SET_TARGET_CURRENT", cmd_code="INSPIRATORY_PRESSURE", param=17.5)#
send_cmd(cmd_type="SET_TARGET_CURRENT", cmd_code="INHALE_TRIGGER_THRESHOLD", param=0.0005) #
send_cmd(cmd_type="SET_TARGET_CURRENT", cmd_code="EXHALE_TRIGGER_THRESHOLD", param=0.25) #
send_cmd(cmd_type="SET_VALVE", cmd_code="INHALE_OPEN_MIN", param=0.53)
### NOTE : THESE ARE FOR TESTING ONLY, AS THEY OVERRIDE THE VALUES SET BY THE VENTILATION MODE
send_cmd(cmd_type="SET_TARGET_CURRENT", cmd_code="INHALE_TRIGGER_ENABLE", param=0)
send_cmd(cmd_type="SET_TARGET_CURRENT", cmd_code="EXHALE_TRIGGER_ENABLE", param=0)
send_cmd(cmd_type="SET_TARGET_CURRENT", cmd_code="VOLUME_TRIGGER_ENABLE", param=0)
print('sent cmd start')
send_cmd(cmd_type="GENERAL", cmd_code="START", param=1000)
#print('sent inhale + exhale trigger -> 1')
toggle = "STOP"
while True:
await asyncio.sleep(300)
#cmd = send_cmd(cmd_type="SET_PID", cmd_code="KP", param=5) #
#comms.writePayload(cmd)
#print('sent cmd set Kp = 0.2')
await asyncio.sleep(300)
cmd = send_cmd(cmd_type="GENERAL", cmd_code=toggle, param=0)
send_cmd(cmd_type="GENERAL", cmd_code=toggle, param=0)
if toggle == "STOP" :
toggle = "START"
else :
toggle = "STOP"
comms.writePayload(cmd)
print('sent cmd stop')
try:
......
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