Exemplo n.º 1
0
class App(object):
    def __init__(self):

        #GPIO.setwarnings(False)

        self.board = pingo.detect.get_board()

        led_pin = self.board.pins[13]
        self.led = Led(led_pin)

        self.btn_pin = self.board.pins[7]
        self.switch = Switch(self.btn_pin)
        self.switch.set_callback_up(self.toggle)

        self.recording = False

    def loop(self):
        self.init_led_and_switch()
        try:
            while (True):
                time.sleep(1)

        except KeyboardInterrupt:
            print("User Cancelled (Ctrl C)")
            self.stop_at_exit()

    def toggle(self):
        print("press")
        self.recording = not self.recording

        if self.recording:
            self.led.blink(times=0, on_delay=0.8,
                           off_delay=0.2)  # blink foreever
            self.start_recording()
        else:
            self.led.stop()  # stop blinking
            self.led.on()
            self.stop_recording()

    def init_led_and_switch(self):
        self.led.on()
        self.switch.start()

    def start_recording(self):
        print("start recording")

    def stop_recording(self):
        print("stop recording")

    def stop_at_exit(self):
        self.led.off()
        self.switch.stop()
        self.led.stop()
        self.board.cleanup()
Exemplo n.º 2
0
class App(object):
    def __init__(self):
        
        #GPIO.setwarnings(False)

        self.board = pingo.detect.get_board()

        led_pin = self.board.pins[13]
        self.led = Led(led_pin)

        self.btn_pin = self.board.pins[7]
        self.switch = Switch(self.btn_pin)
        self.switch.set_callback_up(self.toggle)
        
        self.recording = False
        
    def loop(self):
        self.init_led_and_switch()      
        try:
            while(True):               
                time.sleep(1)

        except KeyboardInterrupt:
            print("User Cancelled (Ctrl C)")
            self.stop_at_exit()

    def toggle(self):
        print("press")
        self.recording = not self.recording

        if self.recording:
            self.led.blink(times=0, on_delay=0.8, off_delay=0.2) # blink foreever
            self.start_recording()
        else:
            self.led.stop() # stop blinking
            self.led.on()
            self.stop_recording()
    
    def init_led_and_switch(self):
        self.led.on()        
        self.switch.start()
                 
    def start_recording(self):
        print("start recording")

    def stop_recording(self):
        print("stop recording")

    def stop_at_exit(self):
        self.led.off()
        self.switch.stop()
        self.led.stop()
        self.board.cleanup()
Exemplo n.º 3
0
class App(object):
    def __init__(self):
        
        #GPIO.setwarnings(False)

        self.board = pingo.detect.get_board()

        led_pin = self.board.pins[13]
        self.led = Led(led_pin)

        self.btn_pin = self.board.pins[7]
        self.switch = Switch(self.btn_pin)
        self.switch.set_callback_up(self.press)
        self.switch.set_callback_down(self.release)
        
    def loop(self):
        self.led.off()
        self.switch.start()
        #self.led.blink(times=0) # blink foreever

        try:
            while(True):               
                time.sleep(1)

        except KeyboardInterrupt:
            print("User Cancelled (Ctrl C)")
            self.stop_at_exit()

    def press(self):
        print("press")
        self.toggle()
  
    def release(self):
        print("release")
        
    def toggle(self):
        self.led.toggle()

    def stop_at_exit(self):
        self.led.off()
        self.switch.stop()
        self.led.stop()
        self.board.cleanup()
Exemplo n.º 4
0
class App(object):
    def __init__(self):

        #GPIO.setwarnings(False)

        self.board = pingo.detect.get_board()

        led_pin = self.board.pins[13]
        self.led = Led(led_pin)

        self.btn_pin = self.board.pins[7]
        self.switch = Switch(self.btn_pin)
        self.switch.set_callback_up(self.press)
        self.switch.set_callback_down(self.release)

    def loop(self):
        self.led.off()
        self.switch.start()
        #self.led.blink(times=0) # blink foreever

        try:
            while (True):
                time.sleep(1)

        except KeyboardInterrupt:
            print("User Cancelled (Ctrl C)")
            self.stop_at_exit()

    def press(self):
        print("press")
        self.toggle()

    def release(self):
        print("release")

    def toggle(self):
        self.led.toggle()

    def stop_at_exit(self):
        self.led.off()
        self.switch.stop()
        self.led.stop()
        self.board.cleanup()
class App(object):
    def __init__(self):

        # GPIO.setwarnings(False)

        self.board = pingo.detect.get_board()

        led_pin = self.board.pins[13]
        self.led = Led(led_pin)

        self.btn_pin = self.board.pins[7]
        self.push_button = PushButton(self.btn_pin)
        self.push_button.set_callback_pressed_long(self.on_push_button_pressed_long)
        self.push_button.set_callback_released(self.on_push_button_released_short)

        self.recording = False
        self.global_state = True

    def loop(self):
        self.init_led_and_switch()
        try:
            while True:
                time.sleep(1)

        except KeyboardInterrupt:
            logger.info("User Cancelled (Ctrl C)")
            self.stop_at_exit()

    def init_led_and_switch(self):
        self._update_led()
        self.push_button.start()

    def _update_led(self):
        if self.global_state:
            logger.info("power on")
            self.led.on()
        else:
            logger.info("power off")
            self.led.off()

    def on_push_button_pressed_long(self):
        logger.info("push button pressed long")
        self.global_state = not self.global_state
        self._update_led()

    def on_push_button_released_short(self):
        logger.info("push button released")
        self.recording = not self.recording

        if self.recording:
            self.led.blink(times=0, on_delay=0.2, off_delay=0.8)  # blink forever
            self.start_recording()
        else:
            self.led.stop()  # stop blinking
            self.stop_recording()

    def start_recording(self):
        logger.info("start recording")

    def stop_recording(self):
        logger.info("stop recording")

    def stop_at_exit(self):
        logger.info("stopping at exit")
        self.led.stop()
        self.led.off()
        self.push_button.stop()
        self.board.cleanup()
Exemplo n.º 6
0
class App(object):
    def __init__(self):

        #GPIO.setwarnings(False)

        self.board = pingo.detect.get_board()

        led_pin = self.board.pins[13]
        self.led = Led(led_pin)

        self.btn_pin = self.board.pins[7]
        self.switch = Switch(self.btn_pin)
        self.switch.set_callback_up(self.pushtype)

        self.recording = False
        self.GlobalState = False

    def loop(self):
        self.init_led_and_switch()
        try:
            while (True):
                time.sleep(1)

        except KeyboardInterrupt:
            print("User Cancelled (Ctrl C)")
            self.stop_at_exit()

    def pushtype(self):
        timer = 0
        while (self.switch.pin.state == pingo.HIGH):
            timer += 1
            time.sleep(0.1)
        if (timer <= 10):
            push_type = " short_push"
            if self.GlobalState:
                self.toggle()
        else:
            push_type = " long_push"
            self.GlobalState = not self.GlobalState
            if self.GlobalState:
                self.led.on()
                print("Power on")
            else:
                self.led.off()
                print("Power off")

        print(str(timer) + push_type)

    def toggle(self):
        print("press")
        self.recording = not self.recording

        if self.recording:
            self.led.blink(times=0, on_delay=0.2,
                           off_delay=0.8)  # blink forever
            self.start_recording()
        else:
            self.led.stop()  # stop blinking
            self.stop_recording()

    def init_led_and_switch(self):
        self.led.off()
        self.switch.start()

    def start_recording(self):
        print("start recording")

    def stop_recording(self):
        print("stop recording")

    def stop_at_exit(self):
        print("stopping")
        self.led.stop()
        self.led.off()
        self.switch.stop()
        self.board.cleanup()
class App(object):
    def __init__(self):

        #GPIO.setwarnings(False)

        self.board = pingo.detect.get_board()

        led_pin = self.board.pins[13]
        self.led = Led(led_pin)

        self.btn_pin = self.board.pins[7]
        self.push_button = PushButton(self.btn_pin)
        self.push_button.set_callback_pressed_long(
            self.on_push_button_pressed_long)
        self.push_button.set_callback_released(
            self.on_push_button_released_short)

        self.recording = False  # recording is set when recording mode is on
        self.global_state = False  # global_state is set when application is "powered on"

    def loop(self):
        self.init_led_and_switch()
        try:
            while (True):
                time.sleep(1)

        except KeyboardInterrupt:
            logger.info("User Cancelled (Ctrl C)")
            self.stop_at_exit()

    def init_led_and_switch(self):
        self._update_led()
        self.push_button.start()

    def _update_led(self):
        if self.global_state:
            logger.info("power on")
            self.led.on()
        else:
            logger.info("power off")
            self.led.off()

    def on_push_button_pressed_long(self):
        logger.info("push button pressed long")

        # In case we stop the system even when we're still recording
        if self.recording:
            self.led.stop()  # stop blinking
            self.stop_recording()
            self.recording = False
            time.sleep(0.5)  # wait the thread closure. Need to be reviewed

        self.global_state = not self.global_state
        self._update_led()

    def on_push_button_released_short(self):
        logger.info("push button released")

        if self.global_state:
            logger.info("short push and system was ON")
            self.recording = not self.recording

            if self.recording:
                self.led.blink(times=0, on_delay=0.2,
                               off_delay=0.8)  # blink forever
                self.start_recording()
            else:
                self.led.stop()  # stop blinking
                self.stop_recording()

        else:
            logger.info("short push and system was off")

    def start_recording(self):
        logger.info("start recording")

    def stop_recording(self):
        logger.info("stop recording")

    def stop_at_exit(self):
        logger.info("stopping at exit")
        self.led.stop()
        self.led.off()
        self.push_button.stop()
        self.board.cleanup()
Exemplo n.º 8
0
class App(object):
    def __init__(self):
        
        #GPIO.setwarnings(False)
 
        self.board = pingo.detect.get_board()

        led_pin = self.board.pins[13]
        self.led = Led(led_pin)

        self.btn_pin = self.board.pins[7]
        self.switch = Switch(self.btn_pin)
        self.switch.set_callback_up(self.pushtype)
                
        self.recording = False
        self.GlobalState = False
        
    def loop(self):
        self.init_led_and_switch()      
        try:
            while(True):               
                time.sleep(1)

        except KeyboardInterrupt:
            print("User Cancelled (Ctrl C)")
            self.stop_at_exit()
    
    def pushtype(self):
        timer = 0
        while(self.switch.pin.state == pingo.HIGH):
            timer += 1
            time.sleep(0.1)
        if(timer <= 10):
            push_type = " short_push"
            if self.GlobalState:
                self.toggle()
        else:
            push_type = " long_push"
            self.GlobalState = not self.GlobalState
            if self.GlobalState:
                self.led.on()
                print("Power on")
            else:
                self.led.off()
                print("Power off")
        
        print(str(timer) + push_type)

    def toggle(self):
        print("press")
        self.recording = not self.recording

        if self.recording:
            self.led.blink(times=0, on_delay=0.2, off_delay=0.8) # blink forever
            self.start_recording()
        else:
            self.led.stop() # stop blinking
            self.stop_recording()
    
    def init_led_and_switch(self):
        self.led.off()
        self.switch.start()
                 
    def start_recording(self):
        print("start recording")

    def stop_recording(self):
        print("stop recording")

    def stop_at_exit(self):
        print("stopping")
        self.led.stop()
        self.led.off()
        self.switch.stop()
        self.board.cleanup()