예제 #1
0
파일: S-CodeParse.py 프로젝트: vidapp/smars
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)
예제 #2
0
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()
예제 #3
0
# 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))
예제 #4
0
# 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'
예제 #5
0
# 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))