Skip to content

Commit dbc0658

Browse files
committed
pkill dbus not needed anymore
1 parent cb9cd3b commit dbc0658

File tree

1 file changed

+21
-10
lines changed

1 file changed

+21
-10
lines changed

coderbot.py

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@
3838
PIN_SONAR_2_ECHO = 8
3939
PIN_SONAR_3_TRIGGER = 18
4040
PIN_SONAR_3_ECHO = 23
41+
PIN_ENCODER_LEFT = 14
42+
PIN_ENCODER_RIGHT = 15
4143

4244
PWM_FREQUENCY = 100 #Hz
4345
PWM_RANGE = 100 #0-100
@@ -51,6 +53,8 @@ class CoderBot:
5153
def __init__(self, servo=False, motor_trim_factor=1.0):
5254
self.pi = pigpio.pi('localhost')
5355
self.pi.set_mode(PIN_PUSHBUTTON, pigpio.INPUT)
56+
self.pi.set_mode(PIN_ENCODER_LEFT, pigpio.INPUT)
57+
self.pi.set_mode(PIN_ENCODER_RIGHT, pigpio.INPUT)
5458
self._cb = dict()
5559
self._cb_last_tick = dict()
5660
self._cb_elapse = dict()
@@ -61,6 +65,8 @@ def __init__(self, servo=False, motor_trim_factor=1.0):
6165
else:
6266
self.motor_control = self._dc_motor
6367
self._cb1 = self.pi.callback(PIN_PUSHBUTTON, pigpio.EITHER_EDGE, coderbot_callback)
68+
self._cb2 = self.pi.callback(PIN_ENCODER_LEFT, pigpio.RISING_EDGE, coderbot_callback)
69+
self._cb3 = self.pi.callback(PIN_ENCODER_RIGHT, pigpio.RISING_EDGE, coderbot_callback)
6470
for pin in self._pin_out:
6571
self.pi.set_PWM_frequency(pin, PWM_FREQUENCY)
6672
self.pi.set_PWM_range(pin, PWM_RANGE)
@@ -74,6 +80,8 @@ def __init__(self, servo=False, motor_trim_factor=1.0):
7480

7581
def exit(self):
7682
self._cb1.cancel()
83+
self._cb2.cancel()
84+
self._cb3.cancel()
7785
for s in self.sonar:
7886
s.cancel()
7987

@@ -177,21 +185,24 @@ def set_callback(self, gpio, callback, elapse):
177185
self._cb_last_tick[gpio] = 0
178186

179187
def callback(self, gpio, level, tick):
180-
cb = self._cb.get(gpio)
181-
if cb:
182-
elapse = self._cb_elapse.get(gpio)
183-
if level == 0:
184-
self._cb_last_tick[gpio] = tick
185-
elif tick - self._cb_last_tick[gpio] > elapse:
186-
self._cb_last_tick[gpio] = tick
187-
print "pushed: ", level, tick
188-
cb()
188+
if gpio in [PIN_ENCODER_LEFT, PIN_ENCODER_RIGHT]:
189+
print( "encoder: " + str(gpio) + " level: " + str(level) + " tick: " + str(tick))
190+
else:
191+
cb = self._cb.get(gpio)
192+
if cb:
193+
elapse = self._cb_elapse.get(gpio)
194+
if level == 0:
195+
self._cb_last_tick[gpio] = tick
196+
elif tick - self._cb_last_tick[gpio] > elapse:
197+
self._cb_last_tick[gpio] = tick
198+
print "pushed: ", level, tick
199+
cb()
189200

190201
def halt(self):
191202
os.system ('sudo halt')
192203

193204
def restart(self):
194-
os.system ('sudo /etc/init.d/coderbot stop && sudo pkill -9 dbus && sudo /etc/init.d/coderbot start')
205+
os.system ('sudo /etc/init.d/coderbot restart')
195206

196207
def reboot(self):
197208
os.system ('sudo reboot')

0 commit comments

Comments
 (0)