def readLine(line): sm = SmarsRobot() sm.setName("Quaddy") sm.type = "Quad" if line[0] == 's101': # Move Forward sm.walkForward(100) if line[0] == 's102': # Move Backward sm.walkBackward(100) if line[0] == 's103': # Turn left sm.turnLeft() if line[0] == 's104': # Turn right sm.turnRight() if line[0] == 's155': # Stand Up sm.stand() if line[0] == 's156': # Sit down sm.sit() if line[0] == 's157': # Clap print "line count: ", len(line) if len(line) <= 1: clap_count = 3 else: clap_count = int(line[1]) # convert str to int sm.clap(clap_count) if line[0] == 's158': # Wiggle print "line count:", len(line) if len(line) <= 1: wiggle_count = 3 else: wiggle_count = int(line[1]) # convert str to int sm.wiggle(wiggle_count)
it can be used to test each of the SMARS Library functions Written by Kevin McAleer September 2018 """ from smars_library.smars_library import SmarsRobot from smars_library.smars_library import Leg import smars_library.smars_library as sl from smars_library.smars_library import Channel as ch import time # create an instance of the Smars Robot class sm = SmarsRobot() sm.setname("Quaddy") try: input = raw_input except NameError: pass # set the robot type to 'quad' sm.type = "quad" def legs_body(): sm.legs[ch.LEFT_LEG_FRONT].setbody() sm.legs[ch.RIGHT_LEG_FRONT].setbody() sm.legs[ch.LEFT_LEG_BACK].setbody()
# This program listens for Scratch broadcasts, to enable the SMARS robot to be controlled via Scratch. # Code from https://en.scratch-wiki.info/wiki/Communicating_to_Scratch_via_Python_with_a_GUI from array import array import socket import time import sys import smars_library.smars_library from smars_library.smars_library import SmarsRobot import Adafruit_PCA9685 # create a SMARS robots smars = SmarsRobot() PORT = 42001 HOST = input("Scratch Connector IP:") # HOST = askstring('Scratch Connector', 'IP:') if not HOST: sys.exit() print("Connecting...") scratchSock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) scratchSock.connect((HOST, PORT)) print("Connected!") def sendScratchCommand(cmd): n = len(cmd) a = array('c') a.append(chr((n >> 24) & 0xFF))
# import bluetooth from flask import Flask, render_template, request, jsonify, flash from markupsafe import Markup from flask_bootstrap import Bootstrap # from models import DB, User # from forms import SignupForm, LoginForm from smars_library.smars_library import SmarsRobot import os from os import path import yaml import smars_library.smars_library as sl from command_history import CommandHistory APP = Flask(__name__) SMARS = SmarsRobot() # SMARS.invert_feet() DRIVER = sl.DO_NOT_USE_PCA_DRIVER # print(DRIVER) COMMAND_HISTORY = CommandHistory() telemetry = [] # TODO: what is this # APP.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///SMARSLABDB.db' # DB.init_app(APP) # Configuration base_dir = os.getcwd() config = [] config_file_name = 'smars_lab.yml'