Forum Replies Created

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • in reply to: The lid and gas input/output #915
    aliceboo
    Participant

    Hello Harrison,

    We were wondering if it would be much trouble to add a skirt to the gas lid. We’re finding that there is quite a bit of light leaking through from the sides and wondered what effect this has on the measurements. We were also investigating how to sample from the chamber using a robot but the holes are quite small, and it’s quite challenging to have an accurate aim. Do you know if it would be possible to make a slightly bigger hole at the top for the sampling?

    in reply to: Reprogramming P3 and P4 on the Chi.bio #896
    aliceboo
    Participant

    def PumpModulation(M,item):
    #Responsible for turning pumps on/off with an appropriate duty cycle. They are turned on for a fraction of each ~1minute cycle to achieve low pump rates.
    global sysData
    global sysItems
    global sysDevices

    if int(M[1]) in [0, 1, 2 , 3]:
    if item == ‘Pump1’ or item == ‘Pump2’:
    MB = M
    itemB = item
    elif item == ‘Pump3’ or item == ‘Pump4’:
    sysData[M][item][‘ON’] = 0
    return
    else:
    if item == ‘Pump1’ or item == ‘Pump2’:
    if int(M[1]) == 4:
    MB = ‘M0’
    elif int(M[1]) == 5:
    MB = ‘M1’
    elif int(M[1]) == 6:
    MB = ‘M2’
    elif int(M[1]) == 7:
    MB = ‘M3’
    itemB = ‘Pump’ + str(int(item[4])+2)
    elif item == ‘Pump3’ or item == ‘Pump4’:
    sysData[M][item][‘ON’] = 0
    return

    sysDevices[M][item][‘threadCount’]=(sysDevices[M][item][‘threadCount’]+1)%100 #Index of the particular thread running.
    currentThread=sysDevices[M][item][‘threadCount’]

    while (sysDevices[M][item][‘active’]==1): #Idea is we will wait here if a previous thread on this pump is already running. Potentially all this ‘active’ business could be removed from this fuction.
    time.sleep(0.02)

    if (abs(sysData[M][item][‘target’]*sysData[M][item][‘ON’])!=1 and currentThread==sysDevices[M][item][‘threadCount’]): #In all cases we turn things off to begin
    sysDevices[M][item][‘active’]=1
    # print(“MB: “+MB)
    # print(“M: “+M)
    # print(“itemB: “+itemB)
    # print(“item: “+item)
    setPWM(MB,’Pumps’,sysItems[itemB][‘In1’],0.0*float(sysData[M][item][‘ON’]),0)
    setPWM(MB,’Pumps’,sysItems[itemB][‘In2’],0.0*float(sysData[M][item][‘ON’]),0)
    setPWM(MB,’Pumps’,sysItems[itemB][‘In1’],0.0*float(sysData[M][item][‘ON’]),0)
    setPWM(MB,’Pumps’,sysItems[itemB][‘In2’],0.0*float(sysData[M][item][‘ON’]),0)
    sysDevices[M][item][‘active’]=0
    if (sysData[M][item][‘ON’]==0):
    return

    Time1=datetime.now()
    cycletime=sysData[M][‘Experiment’][‘cycleTime’]*1.05 #We make this marginally longer than the experiment cycle time to avoid too much chaos when you come back around to pumping again.

    Ontime=cycletime*abs(sysData[M][item][‘target’])

    if (item==”Pump1” and abs(sysData[M][item][‘target’])<0.3): #Ensuring we run Pump1 after Pump2.
    waittime=cycletime*abs(sysData[M][‘Pump2’][‘target’]) #We want to wait until the output pump has stopped, otherwise you are very inefficient with your media since it will be pumping out the fresh media fromthe top of the test tube right when it enters.
    time.sleep(waittime+1.0)

    if (sysData[M][item][‘target’]>0 and currentThread==sysDevices[M][item][‘threadCount’]): #Turning on pumps in forward direction
    sysDevices[M][item][‘active’]=1
    setPWM(MB,’Pumps’,sysItems[itemB][‘In1’],1.0*float(sysData[M][item][‘ON’]),0)
    setPWM(MB,’Pumps’,sysItems[itemB][‘In2’],0.0*float(sysData[M][item][‘ON’]),0)
    sysDevices[M][item][‘active’]=0
    elif (sysData[M][item][‘target’]<0 and currentThread==sysDevices[M][item][‘threadCount’]): #Or backward direction.
    sysDevices[M][item][‘active’]=1
    setPWM(MB,’Pumps’,sysItems[itemB][‘In1’],0.0*float(sysData[M][item][‘ON’]),0)
    setPWM(MB,’Pumps’,sysItems[itemB][‘In2’],1.0*float(sysData[M][item][‘ON’]),0)
    sysDevices[M][item][‘active’]=0

    time.sleep(Ontime)

    if(abs(sysData[M][item][‘target’])!=1 and currentThread==sysDevices[M][item][‘threadCount’]): #Turning off pumps at appropriate time.
    sysDevices[M][item][‘active’]=1
    setPWM(MB,’Pumps’,sysItems[itemB][‘In1’],0.0*float(sysData[M][item][‘ON’]),0)
    setPWM(MB,’Pumps’,sysItems[itemB][‘In2’],0.0*float(sysData[M][item][‘ON’]),0)
    setPWM(MB,’Pumps’,sysItems[itemB][‘In1’],0.0*float(sysData[M][item][‘ON’]),0)
    setPWM(MB,’Pumps’,sysItems[itemB][‘In2’],0.0*float(sysData[M][item][‘ON’]),0)
    sysDevices[M][item][‘active’]=0

    Time2=datetime.now()
    elapsedTime=Time2-Time1
    elapsedTimeSeconds=round(elapsedTime.total_seconds(),2)
    Offtime=cycletime-elapsedTimeSeconds
    if (Offtime>0.0):
    time.sleep(Offtime)

    if (sysData[M][item][‘ON’]==1 and sysDevices[M][item][‘threadCount’]==currentThread): #If pumps need to keep going, this starts a new pump thread.
    sysDevices[M][item][‘thread’]=Thread(target = PumpModulation, args=(M,item))
    sysDevices[M][item][‘thread’].setDaemon(True)
    sysDevices[M][item][‘thread’].start();

    in reply to: Micro USB cables #881
    aliceboo
    Participant

    The legs on the microUSB receptacle look the same as on the old pumping boards. You can’t see the legs emerging from the top side of the board (but the legs are very short). You can only see the solder on the top side of the board. I could’t take any decent picture, here’s one: microUSB connector. We never had any problem with the blue cables, they would “click” very nicely. However with the black cables we can’t hear a “click” and you really have to force them in and there is a lot of resistance to take them out too.

    in reply to: Micro USB cables #875
    aliceboo
    Participant

    The black and blue connectors look a little different. I tried to take a picture to show the difference: microUSB picture

    aliceboo
    Participant

    Looking at setup.sh, the problem comes from the fact that the file chibio1.zip is missing from /home/debian:

    In setup.sh:

    cd ~/../home/debian
    unzip chibio1.zip -d ~/../root/chibio -> fails as chibio1.zip is not available in /home/debian

    aliceboo
    Participant

    Thank you Harry.

    Is the operation directory meant to be /home/debian or /root/chibio?

    By copying the files over into /root/chibio, we are running this as the operation directory currently.

    aliceboo
    Participant

    During the run of setup.sh, the console output mentioned a problem with a zip file not found: chibio1.zip.

    This could be the reason why the setup.sh script doesn’t finish the job properly and why /root/chiobio doesn’t contain any file after setup.sh completes.

Viewing 7 posts - 1 through 7 (of 7 total)
Log in/Register
Scroll to top