#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")

import fido

fido.fidolog.debug("adding samplePump backEMF increase")

def samplePump_start():
    fido.samplePump.csamplePump.off()
    fido.time.sleep(1)
    fido.samplePump.csamplePump.on()
    fido.samplePump.samplePumpUART.init(115200,bits=8,parity=None,stop=1,timeout=11000)
    for count in range(2):
        rawbytes = fido.samplePump.samplePumpUART.readline()
        if rawbytes is not None:
            line = rawbytes.decode('UTF-8')
            line = line.replace("\r", "")
            line = line.strip()
            index = line.find("Start")
            line = line[index:]
            if count == 0:
                fido.fidolog.debug(line)
            if count == 1:
                fido.fidolog.debug(line)
                tagphrase = line[0:8:1]
                if tagphrase == "Starting":
                    fido.samplePump.samplePumpUART.init(115200,bits=8,parity=None,stop=1,timeout=1500)
                    fido.time.sleep(1)
                    fido.fidolog.debug('Changing backEMF')
                    fido.samplePump.samplePumpUART.write('!VAR 6 100\n\r')  #set long term backEMF at 10V
                    fido.samplePump.samplePumpUART.write('!VAR 6 120\n\r')  #set short term backEMF at 12V
                    return 1
        else:
            fido.samplePump.samplePumpUART.init(115200,bits=8,parity=None,stop=1,timeout=1500)
            fido.samplePump.csamplePump.off()
            raise fido.exceptions.SamplePumpError("No response from Pump Controller")
    fido.samplePump.samplePumpUART.init(115200,bits=8,parity=None,stop=1,timeout=1500)
    fido.samplePump.csamplePump.off()
    raise fido.exceptions.SamplePumpError("start bad data lines from sample pump")

fido.samplePump.start = samplePump_start

fido.fidolog.debug("added samplePump backEMF increase")

