Пример #1
0
	def __del__(self):
		print('motor drive ... bye')
		self.allStop()
		self.motor0.stop()
		self.motor1.stop()
		self.motor2.stop()
		self.motor3.stop()
		cleanup()
 def quit(app):
     app.stop_prog()
     if app.state.stop:
         app.new_loop.call_soon_threadsafe(app.nope,
                                           app.state.stop.cancel())
     if app.pwsThread:
         app.pwsThread.join()
     if app.state.power == "ON":
         queue_msg(app.state, "setPower")
     cleanup()
     print("\nBye\n")
     sys.exit()
 def poll (self) :
     '''Initiate polling
     '''
     while True:
         try:
             self.__update()
             # in tests needed
             # print('now: '+str(dt.now())+' --- alarm: '+str(self._alarm_hour)+':'+str(self._alarm_minute))
             sleep (LATENCY)
         except (KeyboardInterrupt, SystemExit):
             cleanup ()
             exit ('Program was manually ended')
         except:
             cleanup ()
             exit ('Unexpected error:\n'+sys.exc_info()[0])
Пример #4
0
    def start(self):
        try:
            self.m.move_forward()
            print("move_speed:", self.m.move_speed)
            self.m.roam()

        except KeyboardInterrupt:  # Reset by pressing CTRL + C
            print("Error:", traceback.format_exc())
            print("Stopping motors...:")
            self.m.move_stop()
            cleanup()

        except Exception:
            print("Error:", traceback.format_exc())
            print("Stopping motors...:")
            self.m.move_stop()
            cleanup()
Пример #5
0
pins = [17, 27, 22, 23]

setmode(BCM)
setwarnings(False)

for i in pins:
    setup(i, OUT)
    output(i, 0)

c = [
    [1,0,0,0],
    [1,1,0,0],
    [0,1,0,0],
    [0,1,1,0],
    [0,0,1,0],
    [0,0,1,1],
    [0,0,0,1],
    [1,0,0,1]
]

for i in range(512):
    for i in range(8):

        for j in range(4):
            output(pins[j], c[i][j])

        sleep(0.01)

cleanup()
Пример #6
0
def destroy() :
    '''Clean every PINs
    '''
    cleanup ()
Пример #7
0
                 "f": forward,
                 "s": stop,
                 "r": right,
                 "l": left,
                 "st": straight}


def move(request):
    commands_dict.get(request.matchdict['direction'], default)()
    return default_response()

fspeed = 0
rspeed = 0

if __name__ == '__main__':
    config = Configurator()
    config.add_route('move', '/move/{direction}')
    config.add_view(move, route_name='move')
    app = config.make_wsgi_app()
    server = make_server('0.0.0.0', 8081, app)
    server.serve_forever()

p.stop()

cleanup(17)
cleanup(20)
cleanup(22)
cleanup(5)
cleanup(6)
cleanup(13)
Пример #8
0
from RPi.GPIO import cleanup

try:
	while True:
		resetGPIO()
		resetAction()
		t_health = health.healthThread(1)
		t_fire = fire.fireThread(2)
		t_health.start()
		t_fire.start()
		while True:
			if not t_health.isAlive():
				gameOverAction()
				while not isReset():
					sleep(0.1)
				break
			if isReset():
				break
			sleep(0.05)
		t_health.kill()
		t_fire.kill()
		t_health.join()
		t_fire.join()
		cleanup()

except KeyboardInterrupt:  
	t_health.kill()
	t_fire.kill()
	t_health.join()
	t_fire.join()
    cleanup()       # clean up GPIO on CTRL+C exit  
def _cleanup():
	''' Release pins on exit '''
	cleanup()
Пример #10
0
 def stop(self):
     print("Bluedot stopping motors...:")
     self.m.move_stop()
     cleanup()
Пример #11
0
def main():
    """Main method."""
    parser = argparse.ArgumentParser(
        prog="rpi-mini-battery-display",
        description="Control a mini battery display with TM1651 or TM1637 chip",
    )
    parser.add_argument(
        "-c",
        "--clock-pin",
        type=int,
        default=24,
        help="Clock pin in BCM notation (default: 24, range: 0-27)",
    )
    parser.add_argument(
        "-d",
        "--data-pin",
        type=int,
        default=23,
        help="Data pin in BCM notation (default: 23, range: 0-27)",
    )
    parser.add_argument(
        "-b",
        "--brightness",
        type=int,
        default=2,
        help="Brightness (default: 2, range: 0-7)",
    )
    parser.add_argument(
        "-s",
        "--segments",
        type=int,
        default=7,
        help="Number of LED segments (default: 7, range: 1-7)",
    )

    command = parser.add_mutually_exclusive_group(required=True)

    command.add_argument("-l",
                         "--level",
                         type=int,
                         help="Set battery level (range: 0-segments)")
    command.add_argument("-p",
                         "--processor",
                         action="store_true",
                         help="Show CPU percentage")

    args = parser.parse_args()

    exit_code = 0
    try:
        display = BatteryDisplay(args.clock_pin, args.data_pin, args.segments)
        display.set_brightness(args.brightness)
        if args.level:
            display.set_level(args.level)
        elif args.processor:
            while True:
                # Map a percentage from 0 to 100 to a level from 0 to number of segments
                display.set_level(
                    min(int(cpu_percent() / 100 * (args.segments + 1)),
                        args.segments))
                sleep(2)
    except InvalidPinError as error:
        print("Invalid pin number: {}. {}".format(error.pin, str(error)))
        exit_code = 1
    except InvalidBrightnessError as error:
        print("Invalid brightness: {}. {}".format(error.brightness,
                                                  str(error)))
        exit_code = 2
    except InvalidLevelError as error:
        print("Invalid level: {}. {}".format(error.level, str(error)))
        exit_code = 3
    except NoDisplayFoundError as error:
        print("No display found on clock pin {} and data pin {}.".format(
            error.clock_pin, error.data_pin))
        exit_code = 4
    except InvalidSegmentsError as error:
        print("Invalid number of segments: {}. {}".format(
            error.segments, str(error)))
        exit_code = 5
    finally:
        if exit_code != 1:
            cleanup()
        sys.exit(exit_code)
Пример #12
0
 def __del__(self):
     """Reset all GPIO pins."""
     cleanup()
Пример #13
0
def _cleanup():
    ''' Release pins on exit '''
    cleanup()