Exemple #1
0
    def run_wheel(self):
        while self.do_run:
            if self.can_drive():
                angle = self.get_data()['x']
                if angle is None:
                    continue

                base = 0.000005
                multiplexors = self.get_multiplexors()
                koeff = {
                    'linear': base * multiplexors['linear'],
                    'integral': base * multiplexors['integral'],
                    'diff': base * multiplexors['diff']
                }

                self.integral = koeff['integral'] * angle + self.integral
                differential = koeff['diff'] * (angle - self.angle_prev)
                self.angle_prev = angle
                interval = koeff[
                    'linear'] * angle + self.integral + differential

                # if -10 < angle < -10:
                #    continue
                # print(interval)

                if interval > 0:
                    kbe.keyPress(kbe.SC_LEFT, interval)
                elif interval < 0:
                    kbe.keyPress(kbe.SC_RIGHT, -interval)
Exemple #2
0
    def run_speed(self):
        while self.do_run:
            if self.can_drive():
                radius = self.get_data()['y']
                if radius is None:
                    continue

                gas = 0.15
                sleep = gas
                if np.absolute(radius - self.radius_prev) > np.absolute(
                        self.radius_prev) * 0.10:
                    kbe.keyPress(kbe.SC_DOWN, sleep)
                elif np.absolute(radius - self.radius_prev) > np.absolute(
                        self.radius_prev) * 0.05:
                    kbe.keyPress(kbe.SC_UP, gas * 1.5)
                else:
                    kbe.keyPress(kbe.SC_UP, gas)

                time.sleep(sleep)
                self.radius_prev = radius
    def run(self):
        while self.do_run:
            if self.can_drive():
                angle = self.get_data()
                if angle is None:
                    continue
                elif angle > 45:
                    kbe.keyPress(kbe.SC_LEFT)
                    kbe.keyPress(kbe.SC_DOWN, 0.2)
                elif angle > 25:
                    kbe.keyPress(kbe.SC_LEFT)
                    kbe.keyPress(kbe.SC_DOWN, 0.15)
                elif angle > 15:
                    kbe.keyPress(kbe.SC_LEFT)
                elif angle > 5:
                    kbe.keyPress(kbe.SC_LEFT)
                    kbe.keyPress(kbe.SC_UP, 0.2)
                elif angle < -45:
                    kbe.keyPress(kbe.SC_RIGHT)
                    kbe.keyPress(kbe.SC_DOWN, 0.3)
                elif angle < -25:
                    kbe.keyPress(kbe.SC_RIGHT)
                    kbe.keyPress(kbe.SC_DOWN, 0.3)
                elif angle < -15:
                    kbe.keyPress(kbe.SC_RIGHT)
                elif angle < -5:
                    kbe.keyPress(kbe.SC_RIGHT)
                    kbe.keyPress(kbe.SC_UP, 0.15)
                else:
                    kbe.keyPress(kbe.SC_UP, 0.1)

                kbe.keyPress(kbe.SC_UP, 0.1)
Exemple #4
0
def wheel():
    while True:
        #time.sleep(1)
        mouse = pyautogui.position()
        mouse_at_window = mouse[0] >= window[0] and mouse[0] <= window[
            2] and mouse[1] >= window[1] and mouse[1] <= window[3]

        if ranges['wheel'][0] == 1 and mouse_at_window:
            if 'l' == command:
                kbe.keyPress(kbe.SC_LEFT)
                kbe.keyPress(kbe.SC_DOWN, 0.1)
            elif 'l' == command:
                kbe.keyPress(kbe.SC_RIGHT)
                kbe.keyPress(kbe.SC_DOWN, 0.1)
            elif 'f' == command:
                kbe.keyPress(kbe.SC_UP, 0.1)

            kbe.keyPress(kbe.SC_UP, 0.1)