예제 #1
0
 def __init__(self):
     self.dev = encodertest.encodertest()
     if self.dev.dev != 0:
         self.update_job = None
         self.root = tk.Tk()
         self.root.title('Motor Spin-Down Test GUI')
         self.root.protocol('WM_DELETE_WINDOW', self.shut_down)
         fm = tk.Frame(self.root)
         tk.Button(fm, text='Start Motor',
                   command=self.dev.start_motor).pack(side=tk.LEFT)
         tk.Button(fm, text='Stop Motor',
                   command=self.dev.stop_motor).pack(side=tk.LEFT)
         tk.Button(fm, text='Start Recording',
                   command=self.dev.write_file).pack(side=tk.LEFT)
         fm.pack(side=tk.TOP)
예제 #2
0
 def __init__(self):
     self.dev = encodertest.encodertest()
     if self.dev.dev is not None:
         self.update_job = None
         self.root = tk.Tk()
         self.root.title('Encoder Test GUI')
         self.root.protocol('WM_DELETE_WINDOW', self.shut_down)
         fm = tk.Frame(self.root)
         tk.Button(fm, text = 'LED1', command = self.dev.toggle_led1).pack(side = tk.LEFT)
         tk.Button(fm, text = 'LED2', command = self.dev.toggle_led2).pack(side = tk.LEFT)
         tk.Button(fm, text = 'LED3', command = self.dev.toggle_led3).pack(side = tk.LEFT)
         fm.pack(side = tk.TOP)
         self.sw1_status = tk.Label(self.root, text = 'SW1 is currently ?')
         self.sw1_status.pack(side = tk.TOP)
         self.sw2_status = tk.Label(self.root, text = 'SW2 is currently ?')
         self.sw2_status.pack(side = tk.TOP)
         self.sw3_status = tk.Label(self.root, text = 'SW3 is currently ?')
         self.sw3_status.pack(side = tk.TOP)
         self.enc_status = tk.Label(self.root, text = 'Anlge is ?????')
         self.enc_status.pack(side = tk.TOP)
         self.update_status()
예제 #3
0
 def __init__(self):
     self.dev = encodertest.encodertest()
     if self.dev.dev >= 0:
         self.update_job = None
         self.root = tk.Tk()
         self.root.title('Haptic Feedback')
         self.root.protocol('WM_DELETE_WINDOW', self.shut_down)
         fm = tk.Frame(self.root)
         tk.Button(fm, text='Spring',
                   command=self.dev.toggle_spring).pack(side=tk.LEFT)
         tk.Button(fm, text='Damper',
                   command=self.dev.toggle_damper).pack(side=tk.LEFT)
         tk.Button(fm, text='Texture',
                   command=self.dev.toggle_texture).pack(side=tk.LEFT)
         tk.Button(fm, text='Wall',
                   command=self.dev.toggle_wall).pack(side=tk.LEFT)
         tk.Button(fm, text='Regular',
                   command=self.dev.toggle_regular).pack(side=tk.LEFT)
         fm.pack(side=tk.TOP)
         self.mode_status = tk.Label(self.root, text='Mode is: ???????')
         self.mode_status.pack(side=tk.TOP)
         self.update_status()
예제 #4
0
 def __init__(self):
     self.dev = encodertest.encodertest()
     if self.dev.dev >= 0:
         self.update_job = None
         self.root = tk.Tk()
         self.root.title("Encoder Test GUI")
         self.root.protocol("WM_DELETE_WINDOW", self.shut_down)
         fm = tk.Frame(self.root)
         tk.Button(fm, text="LED1",
                   command=self.dev.toggle_led1).pack(side=tk.LEFT)
         tk.Button(fm, text="LED2",
                   command=self.dev.toggle_led2).pack(side=tk.LEFT)
         tk.Button(fm, text="LED3",
                   command=self.dev.toggle_led3).pack(side=tk.LEFT)
         fm.pack(side=tk.TOP)
         self.sw1_status = tk.Label(self.root, text="SW1 is currently ?")
         self.sw1_status.pack(side=tk.TOP)
         self.sw2_status = tk.Label(self.root, text="SW2 is currently ?")
         self.sw2_status.pack(side=tk.TOP)
         self.sw3_status = tk.Label(self.root, text="SW3 is currently ?")
         self.sw3_status.pack(side=tk.TOP)
         self.enc_status = tk.Label(self.root, text="Anlge is ?????")
         self.enc_status.pack(side=tk.TOP)
         self.update_status()
예제 #5
0
import encodertest as encoder
import time
import struct
import csv


myenc = encoder.encodertest()
read_angle = 0x3FFF
read_mag = 0x3FFE
read_Error = 0x3FFD
response = "1"
real_angle_vec = []
measured_angle_vec = []


def getAngle():
    rawangle = myenc.enc_readReg(read_mag)
    angle = struct.unpack("<h", rawangle)
    angle = int(angle[0])
    anglemasked = angle & 0x3FFF
    anglemasked = float(anglemasked) * (360.0 / 16384.0)
    return anglemasked


while str(response) != "0":
    response = input("Enter 1 to take data, or 0 to quit:   ")

    if str(response) == "1":
        datavec = []
        for i in range(100):
            datavec.append(getAngle())
예제 #6
0
import encodertest
import time

enc = encodertest.encodertest()

enc.toggle_led3()

while (True):
    angleBytes = enc.enc_readReg(enc.ENC_ANGLE_AFTER_ZERO_POS_ADDER)

    mask = 0x3FFF
    angle = int(angleBytes[0])+int(angleBytes[1])*256
    print "Bin: {0:016b} Hex:{1:04x} Dec:{2:0f}".format(angle, angle, float(angle&mask)/mask*360)

    time.sleep(.02)
예제 #7
0
import encodertest as et
import struct

avg = range(10)

while (1):
	e = et.encodertest()
	value = e.enc_readReg(address=0x3FFF)
	avg = avg[1:]
	temp = struct.unpack('<h',value)
	avg.append(int(temp[0]))
	print 720*(sum(avg)/len(avg))/(2.0**14)
	temp2=bin(temp[0]);
	# print (temp2[2:].zfill(16))
	# print value
예제 #8
0
import encodertest
import sys, time

foo = encodertest.encodertest()

while 1:
    sys.stdout.write('\x1b[2J\x1b[1;1f')

    enc = foo.enc_readReg(0x3FFF)
    print "START"
    print
    print enc
    print
    print "END"
    t0 = time.clock()
    while time.clock()<t0+0.05:
        pass

예제 #9
0
 def __init__(self):
     self.dev = encodertest.encodertest()
     if self.dev.dev >= 0:
         self.update_job = None
         self.root = tk.Tk()
         self.update_status()
예제 #10
0
import encodertest
import time
import struct
from numpy import *
import pickle

joy = encodertest.encodertest()

samples = 5000
encpos = zeros(samples)
encvel = zeros(samples)
encD = zeros(samples)
encdir = zeros(samples)
times = zeros(samples)
raw = 0

last = time.clock()
step = 1e-3
i = 0

JOY_MODE_WALL = 0
JOY_MODE_SPRING = 1
JOY_MODE_DAMPER = 2
JOY_MODE_TEXTURE = 3

def readAngle():
    bts = joy.joy_read_angle()
    chrs = ''.join(map(chr, bts))

    res, = struct.unpack('f', chrs)