From 3eda4eed006dd4df7ae7ca8656bd9f0d2e2efc53 Mon Sep 17 00:00:00 2001 From: Daniel Francis Date: Sat, 16 Jun 2012 19:41:07 +0000 Subject: Speed --- diff --git a/LegoJAM.py b/LegoJAM.py deleted file mode 100755 index d9536cd..0000000 --- a/LegoJAM.py +++ /dev/null @@ -1,158 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -import os -import gtk -import sys - -BASE = os.path.dirname(__file__) - -sys.path.append("nxt_plugin") - -# Import the API functions -# Importamos las funciones de la API -import nxt -from nxt import Motor - -from interface.window import Window - - -class LegoJAM(Window): - - def __init__(self): - super(LegoJAM, self).__init__() - self.set_title("LegoJAM") - #self.set_icon_from_file(os.path.join(BASE, "Iconos", "ceibal.png")) - - self.base_box = None - # button_motor_A = None - # button_motor_B = None - - self.set_layout() - self.show_all() - - self.connect("delete_event", self.delete_event) - - self.robot = Pancho() - - def set_layout(self): - canvas = gtk.VBox() - store = gtk.ListStore(str, int) - combobox = gtk.ComboBox(store) - cell = gtk.CellRendererText() - combobox.pack_start(cell) - combobox.add_attribute(cell, 'text', 0) - canvas.pack_start(combobox, True, False) - combobox.show() - - num = 0 - for i in ['A', 'B', 'C']: - store.append(['Motor %s' % i, num]) - combobox.set_active(0) - - vbox = gtk.VBox() - run_button = gtk.Button("Encender") - run_button.show() - run_button.connect_object("clicked", self.run_motor, combobox) - vbox.pack_start(run_button) - stop_button = gtk.Button("Apagar") - stop_button.show() - stop_button.connect_object("clicked", self.stop_motor, combobox) - vbox.pack_start(stop_button) - vbox.show() - num += 1 - - canvas.pack_start(vbox, True, True) - - self.set_canvas(canvas) - - def run_motor(self, combobox): - if combobox.get_active() == 0: - self.robot.run_motor("A") - elif combobox.get_active() == 1: - self.robot.run_motor("B") - elif combobox.get_active() == 2: - self.robot.run_motor("C") - - def stop_motor(self, combobox): - if combobox.get_active() == 0: - self.robot.stop_motor("A") - elif combobox.get_active() == 1: - self.robot.stop_motor("B") - elif combobox.get_active() == 2: - self.robot.stop_motor("C") - - def delete_event(self, widget, event): - self.salir() - return False - - def salir(self, widget=None): - sys.exit(0) - - -# robot.get_battery_level() -# robot.get_device_info() -# robot.get_current_program_name -# robot.get_firmware_version() -# robot.get_input_values() takes exactly 2 arguments (1 given) -# robot.get_output_state() takes exactly 2 arguments (1 given) - -class Pancho(): - def __init__(self): - self.nombre = 'Pancho' - self.motorA = None - self.motorB = None - self.motorC = None - self.funciones = [] - self.set_up() - - def set_up(self): - try: - self.robot = nxt.locator.find_one_brick(debug=True) - for funcion in dir(self.robot): - self.funciones.append(funcion) - print funcion - print self.robot.get_device_info() - except: - print "El Robot se Encuentra Desconectado o Apagado" - sys.exit(0) - self.motorA = Mimotor("A", self.robot, nxt.PORT_A) - self.motorB = Mimotor("B", self.robot, nxt.PORT_B) - self.motorC = Mimotor("C", self.robot, nxt.PORT_C) - - def run_motor(self, motor): - if motor == "A": - self.motorA.run(power=127, regulated=False) - elif motor == "B": - self.motorB.run(power=127, regulated=False) - elif motor == "C": - self.motorC.run(power=127, regulated=False) - - def stop_motor(self, motor): - if motor == "A": - self.motorA.brake() - elif motor == "B": - self.motorB.brake() - elif motor == "C": - self.motorC.brake() - - -class Mimotor(Motor): - # motor._get_state() - def __init__(self, nombre, brick, port): - Motor.__init__(self, brick, port) - self.nombre = nombre - - #self.turn(power = 100, tacho_units = 360, emulate = True) - #self.turn( - #power = 100, - #tacho_units= 0, brake = True, timeout = 1, emulate = True) - #self.run(power = 100, regulated=False) - -if __name__ == "__main__": - LegoJAM() - gtk.main() - -''' -for x in range(5000): - ....: robot.play_tone_and_wait(x, 1000)''' diff --git a/interpreter.py b/interpreter.py index d95b01d..34aba60 100644 --- a/interpreter.py +++ b/interpreter.py @@ -16,7 +16,6 @@ class Robot(): self.motors = [] self.funciones = [] self.ready = False - self.speed = 127 def setup(self): try: @@ -28,17 +27,17 @@ class Robot(): except: print "El Robot se Encuentra Desconectado o Apagado" return False - self.motors.append(Motor(self.robot, nxt.PORT_A)) - self.motors.append(Motor(self.robot, nxt.PORT_B)) - self.motors.append(Motor(self.robot, nxt.PORT_C)) + self.motors.append([Motor(self.robot, nxt.PORT_A), 127]) + self.motors.append([Motor(self.robot, nxt.PORT_B), 127]) + self.motors.append([Motor(self.robot, nxt.PORT_C), 127]) self.ready = True return True def run_motor(self, motor): - self.motors[motor].run(power=127, regulated=False) + self.motors[motor][0].run(power=self.motors[motor][1], regulated=False) def stop_motor(self, motor): - self.motors[motor].brake() + self.motors[motor][0].brake() #self.turn(power = 100, tacho_units = 360, emulate = True) #self.turn( @@ -67,6 +66,10 @@ def parse_line(line): robot.run_motor(int(keywords[2])) elif keywords[1] == 'stop': robot.stop_motor(int(keywords[2])) + elif keywords[1] == 'get': + print robot.motors[int(keywords[2])][1] + elif keywords[1] == 'set': + robot.motors[int(keywords[2])][1] = int(keywords[3]) while True: -- cgit v0.9.1