Esempio n. 1
0
    def __init__(self, name, M0b=18, M0f=23, M1b=24, M1f=25, T1=4, E1=17, simulation=False):
#GPIO: 4 17 21 22
#pin : 7 11 13 15

#GPIO: 18 23 24 25
#pin : 12 16 18 22

        self.logger = logging.getLogger('myR.rover')
        self.name = name
        self.version = 1
        self.simulation = simulation
        self.ip = '192.168.0.10'
        self.speed = 100  # [mm/s]
        self.speedMax = 1000  # [mm/s]

        self.voltage = 6  # [V]
        self.mass = 2  # [Kg]
        self.Lenght = 180  # [mm]
        self.wheelR = 32  # [mm]

        self.time360 = 2  # [sec]

        self.data = datacollector()
        self.camera = camera(self.data)
        self.camserver = camserver(self.data)
        self.sensor = us_sensor('S1', T1, E1, self.data)
        self.motorLeft = DCmotor('MLeft', M0b, M0f, 11, 12)
        self.motorRight = DCmotor('MRight', M1b, M1f, 13, 14)

        self.rc = rc(self.data)
        self.server = server(self.data)
Esempio n. 2
0
 def __init__(self, w, h):
     self.w, self.h = w, h
     pygame.init()
     display = (self.w, self.h)
     self.screen = pygame.display.set_mode(display, DOUBLEBUF | OPENGL)
     self.dto = 0
     self.t = 0
     self.clock = pygame.time.Clock()
     pygame.mixer.pause()
     pygame.key.set_repeat(10, 10)
     self.backend = rc(w, h)
Esempio n. 3
0
def grabseq(chrom, starts, stops, strand):
    if type(starts) is int and type(stops) is int:
        x = eval("Ath" + str(chrom))[(starts - 1):stops]
    else:
        assert len(starts) == len(stops)
        x = []
        for strt, stp in tuple(zip(starts, stops)):
            x.append(eval("Ath" + str(chrom))[(strt - 1):stp])
        x = "".join(x)
    if strand == "-": x = rc(x)
    return x
Esempio n. 4
0
	def __init__(self):
		self.esc = esc.esc()
		self.rc = rc.rc()
		self.accel = staccel.STAccel()

		self.U = [0]*4
		self.Uc = [0]*4

		self.Kyaw = 0.1
		self.Kpitch = 0.1
		self.Kthrust = 1
		self.Kroll = 0.1
		self.Kx = -100
		self.Ky = 100
Esempio n. 5
0
def get_sequences(combined, fasta_filename=None):
    """combined = pandas.DataFrame."""
    if fasta_filename is None:
        fasta_filename = 'lib/c_elegans.WS235.genomic.fa'
    if 'chrm' in combined.columns: chrm_key = 'chrm'
    elif 'chrom' in combined.columns: chrm_key = 'chrom'
    elif 'Chr' in combined.columns: chrm_key = 'Chr'
    sequences = dict((re.sub('CHROMOSOME_', '', p.name), p.seq) for p in HTSeq.FastaReader(fasta_filename))
    for index, peak_row in combined.iterrows():
        start = combined.loc[index, 'left']
        end = combined.loc[index, 'right']
        chrm = combined.loc[index, chrm_key]
        seq = sequences[chrm][start:end]
        if combined.loc[index, 'strand'] == '-':
            seq = rc(seq)
        combined.loc[index, 'seq'] = seq
Esempio n. 6
0
def get_sequences(combined, fasta_filename=None):
    """combined = pandas.DataFrame."""
    if fasta_filename is None:
        fasta_filename = 'lib/c_elegans.WS235.genomic.fa'
    if 'chrm' in combined.columns: chrm_key = 'chrm'
    elif 'chrom' in combined.columns: chrm_key = 'chrom'
    elif 'Chr' in combined.columns: chrm_key = 'Chr'
    sequences = dict((re.sub('CHROMOSOME_', '', p.name), p.seq)
                     for p in HTSeq.FastaReader(fasta_filename))
    for index, peak_row in combined.iterrows():
        start = combined.loc[index, 'left']
        end = combined.loc[index, 'right']
        chrm = combined.loc[index, chrm_key]
        seq = sequences[chrm][start:end]
        if combined.loc[index, 'strand'] == '-':
            seq = rc(seq)
        combined.loc[index, 'seq'] = seq
Esempio n. 7
0
def start_wiimote_callback(channel):
    """ Threaded callback function called
    when user presses the start button """
    global drive
    global wiimote
    global rc_class
    global rc_thread
    if not rc_class:
        print("Starting RC Mode")
        # Create and start a new thread running the remote control script
        rc_class = rc.rc(drive, wiimote)
        rc_thread = threading.Thread(target=rc_class.run)
        rc_thread.start()
    else:
        print("Stopping RC Mode")
        # Kill Thread
        kill_rc_thread()
Esempio n. 8
0
    def start_rc_mode(self):
        # Kill any previous Challenge / RC mode
        self.stop_threads()

        # Set Wiimote LED to RC Mode index
        self.current_mode = Mode.MODE_RC

        # Inform user we are about to start RC mode
        logging.info("Entering into RC Mode")
        self.challenge = rc.rc(self.core, self.wiimote, self.oled)

        # Create and start a new thread
        # running the remote control script
        logging.info("Starting RC Thread")
        self.challenge_thread = threading.Thread(
            target=self.challenge.run)
        self.challenge_thread.start()
        logging.info("RC Thread Running")
Esempio n. 9
0
    def start_rc_mode(self):
        # Kill any previous Challenge / RC mode
        self.stop_threads()

        # Set Wiimote LED to RC Mode index
        self.mode = self.MODE_RC
        if self.wiimote and self.wiimote.wm:
            self.wiimote.wm.led = self.mode

        # Inform user we are about to start RC mode
        logging.info("Entering into RC Mode")
        self.challenge = rc.rc(self.core, self.wiimote)

        # Create and start a new thread
        # running the remote control script
        logging.info("Starting RC Thread")
        self.challenge_thread = threading.Thread(target=self.challenge.run)
        self.challenge_thread.start()
        logging.info("RC Thread Running")

        # Show state on OLED display
        self.show_mode()
Esempio n. 10
0
def main():

    from HC_SR04 import HC_SR04
    from rc import rc

    data = datacollector()

    my_sensor = HC_SR04('S1', 4, 17,data)
    my_sensor.start()

    my_rc = rc(data)
    my_rc.start()

    my_display = display(data)
    my_display.start()

    while my_display.data.cycling is True:
        sleep(0.01)

    my_display.stop()
    my_rc.stop()
    my_sensor.stop()
Esempio n. 11
0
import rc
import web
import thread
import signal
import sys
import time
import config

urls = (
	'/devices', 'get_all_devices',
	'/device/(\w+)', 'get_device',
	'/device/(\w+)/status/(\d+)', 'set_device'
)

room = rc.rc()


class get_all_devices:
	def GET(self):
		print "Request for devices list"
		hdrs = web.input()
		if(hdrs["secret"]!=config.get_pwd()):
			return 401
		global room
		web.header('Access-Control-Allow-Origin','*')
		web.header('Access-Control-Allow-Credentials', 'true')
		return room.getAllDevices()


class get_device:
Esempio n. 12
0
 def menu_item_selected(self):
     """Select the current menu item"""
     # If ANYTHING selected, we gracefully
     # kill any challenge threads open
     self.stop_threads()
     if self.menu[self.menu_state]=="Remote Control":
         # Start the remote control
         logging.info("Entering into Remote Control Mode")
         self.challenge = rc.rc(self.drive, self.wiimote)
         # Create and start a new thread running the remote control script
         self.challenge_thread = threading.Thread(target=self.challenge.run)
         self.challenge_thread.start()
         # Ensure we know what challenge is running
         if self.challenge:
             self.challenge_name = self.menu[self.menu_state]
         # Move menu index to quit challenge by default
         self.menu_state = self.menu_quit_challenge
     elif self.menu[self.menu_state]=="Three Point Turn":
         # Start the three point turn challenge
         logging.info("Starting Three Point Turn Challenge")
         self.challenge = ThreePointTurn(self.drive)
         # Create and start a new thread running the remote control script
         self.challenge_thread = threading.Thread(target=self.challenge.run)
         self.challenge_thread.start()
         # Ensure we know what challenge is running
         if self.challenge:
             self.challenge_name = self.menu[self.menu_state]
         # Move menu index to quit challenge by default
         self.menu_state = self.menu_quit_challenge
     elif self.menu[self.menu_state]=="Straight Line Speed":
         # Start the straight line speed challenge
         logging.info("Starting Straight Line Speed Challenge")
         self.challenge = StraightLineSpeed(self.drive)
         # Ensure we know what challenge is running
         if self.challenge:
             self.challenge_name = self.menu[self.menu_state]
         # Move menu index to quit challenge by default
         self.menu_state = self.menu_quit_challenge
     elif self.menu[self.menu_state]=="Line Following":
         # Start the Line Following challenge
         logging.info("Starting Line Following Challenge")
         self.challenge = LineFollowing(self.drive)
         # Ensure we know what challenge is running
         if self.challenge:
             self.challenge_name = self.menu[self.menu_state]
         # Move menu index to quit challenge by default
         self.menu_state = self.menu_quit_challenge
     elif self.menu[self.menu_state]=="Proximity":
         # Start the Proximity challenge
         logging.info("Starting Proximity Challenge")
         self.challenge = Proximity(self.drive)
         # Ensure we know what challenge is running
         if self.challenge:
             self.challenge_name = self.menu[self.menu_state]
         # Move menu index to quit challenge by default
         self.menu_state = self.menu_quit_challenge        
     elif self.menu[self.menu_state]=="Quit Challenge":
         # Reset menu item back to top of list
         self.menu_state = 0
         logging.info("No Challenge Challenge Thread")
     elif self.menu[self.menu_state]=="Power Off Pi":
         # Power off the raspberry pi safely
         # by sending shutdown command to terminal
         logging.info("Shutting Down Pi")
         os.system("sudo shutdown -h now")
         self.shutting_down = True
Esempio n. 13
0
from rc import rc
from time import sleep
import curses
#in win non riesco a gestire lo screen.. ci vuole istallato Konsole???


screen = curses.initscr()
# turn off input echoing
curses.noecho()
# respond to keys immediately (don't wait for enter)
curses.cbreak()
# map arrow keys to special values
screen.keypad(True)

myRc = rc(screen)
myRc.start()

while myRc.cycling:

    screen.clear()
    screen.addstr(1, 1, 'Roll +a  -z  |  Throttle +k  -m  |  SPACEBAR to quit ')
    screen.addstr(2, 1, 'ROLL: ' + str(myRc.roll))
    screen.addstr(3, 1, 'THROTTLE: ' + str(myRc.throttle))
    sleep(0.05)

curses.nocbreak()
screen.keypad(0)
curses.echo()
curses.endwin()
myRc.stop()
Esempio n. 14
0
    def __init__(self,
                 name,
                 pin0=18,
                 pin1=23,
                 pin2=24,
                 pin3=25,
                 simulation=True):

        #GPIO: 18 23 24 25
        #pin : 12 16 18 22

        self.logger = logging.getLogger('myQ.quadcptr')
        self.name = name
        self.simulation = simulation

        self.version = 1

        self.motor = [motor('M' + str(i), 0) for i in xrange(4)]
        self.motor[0] = motor('M0',
                              pin0,
                              kv=1000,
                              WMin=0,
                              WMax=100,
                              simulation=self.simulation)
        self.motor[1] = motor('M1',
                              pin1,
                              kv=1000,
                              WMin=0,
                              WMax=100,
                              simulation=self.simulation)
        self.motor[2] = motor('M2',
                              pin2,
                              kv=1000,
                              WMin=0,
                              WMax=100,
                              simulation=self.simulation)
        self.motor[3] = motor('M3',
                              pin3,
                              kv=1000,
                              WMin=0,
                              WMax=100,
                              simulation=self.simulation)

        self.sensor = sensor(simulation=self.simulation)

        self.pidR = pid()
        self.pidP = pid()
        self.pidY = pid()
        self.pidR_rate = pid()
        self.pidP_rate = pid()
        self.pidY_rate = pid()

        self.ip = '192.168.1.1'

        self.netscan = netscan(self.ip)

        self.webserver = webserver(self)

        self.display = display(self)

        self.rc = rc(self.display.screen)

        self.imulog = False
        self.savelog = False
        self.calibIMU = False
        self.debuglev = 0
        self.netscanning = False

        #for quadricopter phisics calculations- not used yet
        self.prop = prop(9, 4.7, 1)
        self.voltage = 12  # [V]
        self.mass = 2  # [Kg]
        self.barLenght = 0.23  # [mm]
        self.barMass = 0.15  # [kg]

        self.datalog = ''
        self.initLog()
Esempio n. 15
0
def main():
    rc()
Esempio n. 16
0
 def menu_item_selected(self):
     """Select the current menu item"""
     # If ANYTHING selected, we gracefully
     # kill any challenge threads open
     self.stop_threads()
     if self.menu[self.menu_state] == "Remote Control":
         # Start the remote control
         logging.info("Entering into Remote Control Mode")
         self.challenge = rc.rc(self.drive, self.wiimote)
         # Create and start a new thread running the remote control script
         self.challenge_thread = threading.Thread(target=self.challenge.run)
         self.challenge_thread.start()
         # Ensure we know what challenge is running
         if self.challenge:
             self.challenge_name = self.menu[self.menu_state]
         # Move menu index to quit challenge by default
         self.menu_state = self.menu_quit_challenge
     elif self.menu[self.menu_state] == "Three Point Turn":
         # Start the three point turn challenge
         logging.info("Starting Three Point Turn Challenge")
         self.challenge = ThreePointTurn(self.drive)
         # Create and start a new thread running the remote control script
         self.challenge_thread = threading.Thread(target=self.challenge.run)
         self.challenge_thread.start()
         # Ensure we know what challenge is running
         if self.challenge:
             self.challenge_name = self.menu[self.menu_state]
         # Move menu index to quit challenge by default
         self.menu_state = self.menu_quit_challenge
     elif self.menu[self.menu_state] == "Straight Line Speed":
         # Start the straight line speed challenge
         logging.info("Starting Straight Line Speed Challenge")
         self.challenge = StraightLineSpeed(self.drive)
         # Ensure we know what challenge is running
         if self.challenge:
             self.challenge_name = self.menu[self.menu_state]
         # Move menu index to quit challenge by default
         self.menu_state = self.menu_quit_challenge
     elif self.menu[self.menu_state] == "Line Following":
         # Start the Line Following challenge
         logging.info("Starting Line Following Challenge")
         self.challenge = LineFollowing(self.drive)
         # Ensure we know what challenge is running
         if self.challenge:
             self.challenge_name = self.menu[self.menu_state]
         # Move menu index to quit challenge by default
         self.menu_state = self.menu_quit_challenge
     elif self.menu[self.menu_state] == "Proximity":
         # Start the Proximity challenge
         logging.info("Starting Proximity Challenge")
         self.challenge = Proximity(self.drive)
         # Ensure we know what challenge is running
         if self.challenge:
             self.challenge_name = self.menu[self.menu_state]
         # Move menu index to quit challenge by default
         self.menu_state = self.menu_quit_challenge
     elif self.menu[self.menu_state] == "Quit Challenge":
         # Reset menu item back to top of list
         self.menu_state = 0
         logging.info("No Challenge Challenge Thread")
     elif self.menu[self.menu_state] == "Power Off Pi":
         # Power off the raspberry pi safely
         # by sending shutdown command to terminal
         logging.info("Shutting Down Pi")
         os.system("sudo shutdown -h now")
         self.shutting_down = True