示例#1
0
def create_experiment():
    dbname = inform.getvalue("db")
    db = Database(dbname)
    exp_name = inform.getvalue("name","")
    experimenter = inform.getvalue("experimenter","")
    exp_id = db.add_experiment(name=exp_name,experimenter=experimenter)
    
    ids = inform.getlist("plateid")
    names = inform.getlist("platename")
    for pid,name in zip(ids,names):
        db.add_plate(exp_id,pid,name)
    
    show_experiments()
            if packets.qsize() > 0:
                newPacket = packets.get_nowait()
                handlePacket(newPacket)
        except KeyboardInterrupt:
            break
    
    # Ask for specific file names for each XBee ID:
    for x in range(0,len(XBeeID)):
        name = raw_input("Identifier {0} filename:".format(XBeeID[x]))
        XBeeFilenames.append(name)
        save_file = '/media/usbhdd/'
        file_name = os.path.join(save_file,XBeeFilenames[x])
        current_file = open(file_name,'w')
        current_file.close()
        # Add plate to database
        db.add_plate(exp_id,XBeeID[x],name)

    # Close the database
    db.close()

    # Send WAITING signal to each device
    for x in range(0,numReaders):
        xbee.send('tx',dest_addr_long=XBeeAddress[x],dest_addr=UNKNOWN,data=b'W')
        time.sleep(2)
        xbee.send('tx',dest_addr_long=XBeeAddress[x],dest_addr=UNKNOWN,data=b't')

    while len(XBeeParameters) != int(numReaders):
        try:
            if packets.qsize() > 0:
                newPacket = packets.get_nowait()
                handlePacket(newPacket)