import sys
fido = sys.modules["fido"]

fido.fidolog.info("applyPatches: Start import patches")

#This is the hot patch file, add patches as follows
#
#fidolog.debug("adding puckclose patch")
#def puckclose_msc(careful=True, releaseAtEnd=True):
#    do what it needs to do...
#
#then replace with this new code
#fido.clamp.puckclose = puckclose_msc
#fidolog.debug("added puckclose patch")
fido.fidolog.info("applyPatches: Start fake flow patches")
orglpm=fido.signals.flowlpm
orgAmount=fido.signals.flowAmount
orgstart=fido.samplePump.start
orgstablePressure=fido.samplePump.stablePressure

newflowamount=0
simLPM=0.240
simSoakMinutes=1

def fakelpm(*args,**kwargs):
    return simLPM



def fakeAmount(*args, **kwargs):
    global newflowamount
    newflowamount += simLPM/60
    return newflowamount



def fakeClear(*args, **kwargs):
    global newflowamount
    newflowamount = 0
    return newflowamount



def fakestart(*args, **kwargs):
    print("Simulating pump starting.  Delay for 1 sec")
    fido.time.sleep(1)
    return 1



def fakestablePressure(pressurePSI, errorPSI):
    print("Simulating pump stabilizing.  Delay for 1 sec")
    fido.time.sleep(1)
    return pressurePSI


fido.signals.flowlpm=fakelpm
fido.signals.flowAmount=fakeAmount
fido.signals.flowClear=fakeClear
fido.samplePump.start=fakestart
fido.samplePump.stablePressure=fakestablePressure
fido.protocols.PRESERVATIVE_SOAK_MINUTES=simSoakMinutes
fido.fidolog.info("applyPatches: End fake flow patches")

fido.fidolog.info("applyPatches: Start fake pressure")

orgsigpress = fido.signals.pressure

def fakesigpress(*args, **kwargs):
    print("simulating pressure reading")
    return 12.0



fido.signals.pressure=fakesigpress


fido.fidolog.info("applyPatches: End fake pressure patches")


fido.fidolog.info("applyPatches: Completed import patches")
