Exemplo n.º 1
0
 def test_string_sprite(self):
     expected = [[1, 1, 1, 1, 1], [0, 0, 1, 0, 0], [0, 0, 1, 0, 0],
                 [1, 1, 0, 0, 0], [0, 0, 0, 0, 0], [0, 1, 1, 0, 0],
                 [1, 0, 1, 1, 0], [1, 0, 1, 1, 0], [1, 0, 1, 0, 0],
                 [0, 0, 0, 0, 0], [1, 0, 0, 0, 1], [1, 1, 1, 1, 1],
                 [1, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0],
                 [1, 0, 0, 0, 1], [1, 1, 1, 1, 1], [1, 0, 0, 0, 0],
                 [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 1, 1, 0, 0],
                 [1, 0, 0, 1, 0], [1, 0, 0, 1, 0], [0, 1, 1, 0, 0],
                 [0, 0, 0, 0, 0]]
     s = StringSprite("hello")
     self.assertEqual(s.pixel_state, expected)
                            IO_ANALOG_INPUT)
import codebug_tether.colourtail
from codebug_tether.sprites import StringSprite
import random
import time

lucky_number = None

codebug = codebug_tether.CodeBug()
codebug.set_leg_io(0, IO_DIGITAL_INPUT);
codebug.set_leg_io(1, IO_DIGITAL_INPUT);
codebug.set_leg_io(2, IO_DIGITAL_INPUT);
codebug.set_leg_io(3, IO_DIGITAL_INPUT);
codebug.set_leg_io(4, IO_DIGITAL_INPUT);
codebug.set_leg_io(5, IO_DIGITAL_INPUT);
codebug.set_leg_io(6, IO_DIGITAL_INPUT);
codebug.set_leg_io(7, IO_DIGITAL_INPUT);

colourtail = codebug_tether.colourtail.CodeBugColourTail(codebug)
colourtail.init();


for count in range(1):
  codebug.scroll_sprite(StringSprite('Welcome to Magic Roulette...  GOOD LUCK!!!', 'R'), 100/1000, 'L')
while True:
  if codebug.get_input('A') == 1:
    lucky_number = random.randint(0, 36)
    codebug.scroll_sprite(StringSprite('The Lucky Number is...', 'R'), 100/1000, 'L')
    time.sleep(1000/1000);
    codebug.scroll_sprite(StringSprite(lucky_number, 'R'), 500/1000, 'L')
Exemplo n.º 3
0
codebug.set_leg_io(6, IO_DIGITAL_INPUT)
codebug.set_leg_io(7, IO_DIGITAL_INPUT)


def build_sprite(rows):
    s = Sprite(5, 5)
    for i in range(5):
        s.set_row(i, rows[i])
    return s


string = "B&O er nice"
letter = 1
pressed = False
string = string.replace(" ", "")
codebug.draw_sprite(0, 0, StringSprite(string[0]))
while True:
    if codebug.get_input('A') == 1 and pressed == False:
        pressed = True

        codebug.draw_sprite(0, 0, StringSprite(string[letter]))
        letter += 1
        if letter == (len(string)):
            letter = 0

    elif codebug.get_input('A') == 0:
        pressed = False

    if codebug.get_input('B') == 1:
        codebug.draw_sprite(
            0, 0, build_sprite([0b00000, 0b00000, 0b00000, 0b00000, 0b00000]))
import codebug_tether
from codebug_tether import (IO_DIGITAL_OUTPUT, IO_DIGITAL_INPUT, IO_PWM_OUTPUT,
                            IO_ANALOG_INPUT)
from codebug_tether.sprites import StringSprite

codebug = codebug_tether.CodeBug()
codebug.set_leg_io(0, IO_DIGITAL_INPUT)
codebug.set_leg_io(1, IO_DIGITAL_INPUT)
codebug.set_leg_io(2, IO_DIGITAL_INPUT)
codebug.set_leg_io(3, IO_DIGITAL_INPUT)
codebug.set_leg_io(4, IO_DIGITAL_INPUT)
codebug.set_leg_io(5, IO_DIGITAL_INPUT)
codebug.set_leg_io(6, IO_DIGITAL_INPUT)
codebug.set_leg_io(7, IO_DIGITAL_INPUT)

while True:
    codebug.scroll_sprite(StringSprite('WELCOME TO SAPS LAB!!! ', 'R'),
                          100 / 1000, 'L')
Exemplo n.º 5
0
    IO_DIGITAL_INPUT,
    IO_PWM_OUTPUT,
)

item = None

codebug = codebug_tether.CodeBug()
codebug.set_leg_io(0, IO_DIGITAL_INPUT)
codebug.set_leg_io(1, IO_DIGITAL_INPUT)
codebug.set_leg_io(2, IO_DIGITAL_INPUT)
codebug.set_leg_io(3, IO_DIGITAL_INPUT)
codebug.set_leg_io(4, IO_DIGITAL_INPUT)
codebug.set_leg_io(5, IO_DIGITAL_INPUT)
codebug.set_leg_io(6, IO_DIGITAL_INPUT)
codebug.set_leg_io(7, IO_DIGITAL_INPUT)


def getBitcoinPrice():
    URL = 'https://www.bitstamp.net/api/ticker/'
    try:
        r = requests.get(URL)
        priceFloat = float(json.loads(r.text)['last'])
        return priceFloat
    except requests.ConnectionError:
        print("Error querying Bitstamp API")


while True:
    codebug.scroll_sprite(StringSprite(str(getBitcoinPrice()) + "$", 'R'),
                          100 / 1000, 'L')
Exemplo n.º 6
0
codebug.set_leg_io(6, IO_DIGITAL_INPUT)
codebug.set_leg_io(7, IO_DIGITAL_INPUT)


def build_sprite(rows):
    s = Sprite(5, 5)
    for i in range(5):
        s.set_row(i, rows[i])
    return s


codebug.scroll_sprite(
    build_sprite([0b00100, 0b01110, 0b11111, 0b11111, 0b11011]), 100 / 1000,
    'L')
codebug.scroll_sprite(
    build_sprite([0b00100, 0b01110, 0b11111, 0b11111, 0b11011]), 100 / 1000,
    'L')
codebug.scroll_sprite(
    build_sprite([0b00100, 0b01110, 0b11111, 0b11111, 0b11011]), 100 / 1000,
    'L')
codebug.scroll_sprite(StringSprite('I LOVE YOU!!!', 'R'), 100 / 1000, 'L')
codebug.scroll_sprite(
    build_sprite([0b00100, 0b01110, 0b11111, 0b11111, 0b11011]), 100 / 1000,
    'L')
codebug.scroll_sprite(
    build_sprite([0b00100, 0b01110, 0b11111, 0b11111, 0b11011]), 100 / 1000,
    'L')
codebug.scroll_sprite(
    build_sprite([0b00100, 0b01110, 0b11111, 0b11111, 0b11011]), 100 / 1000,
    'L')
Exemplo n.º 7
0
    def test_draw_sprite(self):
        self.codebug.clear()

        def fill_sprite(s):
            for x in range(s.width):
                for y in range(s.height):
                    s.set_pixel(x, y, 1)

        sprite = Sprite(4, 4)
        fill_sprite(sprite)

        self.codebug.draw_sprite(0, 0, sprite)
        self.assertEqual(self.codebug.get_row(4), 0x00)
        self.assertEqual(self.codebug.get_row(3), 0x1E)
        self.assertEqual(self.codebug.get_row(2), 0x1E)
        self.assertEqual(self.codebug.get_row(1), 0x1E)
        self.assertEqual(self.codebug.get_row(0), 0x1E)

        self.codebug.draw_sprite(1, 1, sprite)
        self.assertEqual(self.codebug.get_row(4), 0x0F)
        self.assertEqual(self.codebug.get_row(3), 0x0F)
        self.assertEqual(self.codebug.get_row(2), 0x0F)
        self.assertEqual(self.codebug.get_row(1), 0x0F)
        self.assertEqual(self.codebug.get_row(0), 0x00)

        sprite = Sprite(2, 3)
        fill_sprite(sprite)
        self.codebug.draw_sprite(0, 0, sprite)
        self.assertEqual(self.codebug.get_row(4), 0x00)
        self.assertEqual(self.codebug.get_row(3), 0x00)
        self.assertEqual(self.codebug.get_row(2), 0x18)
        self.assertEqual(self.codebug.get_row(1), 0x18)
        self.assertEqual(self.codebug.get_row(0), 0x18)

        sprite = Sprite(3, 3)
        fill_sprite(sprite)
        sprite.set_pixel(1, 2, 0)  # key the sprite

        self.codebug.draw_sprite(0, 0, sprite)
        self.assertEqual(self.codebug.get_row(4), 0x00)
        self.assertEqual(self.codebug.get_row(3), 0x00)
        self.assertEqual(self.codebug.get_row(2), 0x14)
        self.assertEqual(self.codebug.get_row(1), 0x1C)
        self.assertEqual(self.codebug.get_row(0), 0x1C)

        self.codebug.draw_sprite(2, 2, sprite)
        self.assertEqual(self.codebug.get_row(4), 0x05)
        self.assertEqual(self.codebug.get_row(3), 0x07)
        self.assertEqual(self.codebug.get_row(2), 0x07)
        self.assertEqual(self.codebug.get_row(1), 0x00)
        self.assertEqual(self.codebug.get_row(0), 0x00)

        hello_str = StringSprite('Hello!')
        self.codebug.draw_sprite(0, 0, hello_str)
        self.assertEqual(self.codebug.get_row(4), 0x12)
        self.assertEqual(self.codebug.get_row(3), 0x12)
        self.assertEqual(self.codebug.get_row(2), 0x1E)
        self.assertEqual(self.codebug.get_row(1), 0x12)
        self.assertEqual(self.codebug.get_row(0), 0x12)
        self.codebug.draw_sprite(-7, 0, hello_str)
        self.assertEqual(self.codebug.get_row(4), 0x03)
        self.assertEqual(self.codebug.get_row(3), 0x11)
        self.assertEqual(self.codebug.get_row(2), 0x19)
        self.assertEqual(self.codebug.get_row(1), 0x01)
        self.assertEqual(self.codebug.get_row(0), 0x1B)
def get_currencies():
    coindesk_currencies = requests.get(coindeskApi + "supported-currencies.json").json()
    currency_list = []
    for currency in coindesk_currencies:
        currency_list.append(currency["currency"])
    return currency_list


def get_current_price(currency):
    return float(requests.get(coindeskApi + "currentprice/" + currency + ".json").json()["bpi"][currency]["rate"]
                 .replace(",", ""))


def get_historical_price(
        currency,
        start=date.today()-timedelta(days=31),
        end=date.today()
        ):
    start_string = f"{start.year:#02d}-{start.month:#02d}-{start.day:#02d}"
    end_string = f"{end.year:#02d}-{end.month:#02d}-{end.day:#02d}"
    return requests.get(f"{coindeskApi}historical/close.json?"
                        f"currency={currency}&start={start_string}&end={end_string}") \
.json()["bpi"]



while True:
    codebug.scroll_sprite(StringSprite(get_current_price('USD'), 'R'), 300/1000, 'L')
   
Exemplo n.º 9
0
# interrupts -- and therefore sleep -- not supported in Python
while True:
    codebug.draw_sprite(
        0, 0, build_sprite([0b10001, 0b00000, 0b00000, 0b00000, 0b10001]))
    time.sleep(100 / 1000)
    codebug.draw_sprite(
        0, 0, build_sprite([0b10001, 0b01010, 0b00000, 0b01010, 0b10001]))
    time.sleep(100 / 1000)
    codebug.draw_sprite(
        0, 0, build_sprite([0b00000, 0b01010, 0b00100, 0b01010, 0b00000]))
    time.sleep(100 / 1000)
    codebug.draw_sprite(
        0, 0, build_sprite([0b00000, 0b00000, 0b00100, 0b00000, 0b00000]))
    time.sleep(100 / 1000)
    for count in range(5):
        codebug.draw_sprite(
            0, 0, build_sprite([0b00000, 0b01110, 0b01010, 0b01110, 0b00000]))
        time.sleep(100 / 1000)
        codebug.draw_sprite(
            0, 0, build_sprite([0b11111, 0b10001, 0b10101, 0b10001, 0b11111]))
        time.sleep(100 / 1000)
    codebug.draw_sprite(
        0, 0, build_sprite([0b00000, 0b01110, 0b01010, 0b01110, 0b00000]))
    time.sleep(100 / 1000)
    codebug.draw_sprite(
        0, 0, build_sprite([0b11111, 0b10001, 0b10001, 0b10001, 0b11111]))
    codebug.draw_sprite(
        0, 0, build_sprite([0b00000, 0b00000, 0b00000, 0b00000, 0b00000]))
    time.sleep(2000 / 1000)
    codebug.scroll_sprite(StringSprite('MATT ARNOLD', 'R'), 100 / 1000, 'L')
Exemplo n.º 10
0
import codebug_tether
from codebug_tether import (IO_DIGITAL_OUTPUT, IO_DIGITAL_INPUT, IO_PWM_OUTPUT,
                            IO_ANALOG_INPUT)
from codebug_tether.sprites import StringSprite

codebug = codebug_tether.CodeBug()
codebug.set_leg_io(0, IO_DIGITAL_INPUT)
codebug.set_leg_io(1, IO_DIGITAL_INPUT)
codebug.set_leg_io(2, IO_DIGITAL_INPUT)
codebug.set_leg_io(3, IO_DIGITAL_INPUT)
codebug.set_leg_io(4, IO_DIGITAL_INPUT)
codebug.set_leg_io(5, IO_DIGITAL_INPUT)
codebug.set_leg_io(6, IO_DIGITAL_INPUT)
codebug.set_leg_io(7, IO_DIGITAL_INPUT)

while True:
    codebug.scroll_sprite(
        StringSprite('1,61803398874989484820458683436563811772030917980', 'R'),
        500 / 1000, 'L')
    codebug.scroll_sprite(
        StringSprite('1,61803398874989484820458683436563811772030917980', 'R'),
        300 / 1000, 'L')
    codebug.scroll_sprite(
        StringSprite('1,61803398874989484820458683436563811772030917980', 'R'),
        100 / 1000, 'L')
import codebug_tether
from codebug_tether import (IO_DIGITAL_OUTPUT, IO_DIGITAL_INPUT, IO_PWM_OUTPUT,
                            IO_ANALOG_INPUT)
from codebug_tether.sprites import StringSprite

codebug = codebug_tether.CodeBug()
codebug.set_leg_io(0, IO_DIGITAL_INPUT)
codebug.set_leg_io(1, IO_DIGITAL_INPUT)
codebug.set_leg_io(2, IO_DIGITAL_INPUT)
codebug.set_leg_io(3, IO_DIGITAL_INPUT)
codebug.set_leg_io(4, IO_DIGITAL_INPUT)
codebug.set_leg_io(5, IO_DIGITAL_INPUT)
codebug.set_leg_io(6, IO_DIGITAL_INPUT)
codebug.set_leg_io(7, IO_DIGITAL_INPUT)

while True:
    codebug.scroll_sprite(
        StringSprite(
            '1-1-2-3-5-8-13-21-34-55-89-144-233-377-610-987-1597-2584-4181-6765...',
            'R'), 377 / 1000, 'L')
    codebug.scroll_sprite(
        StringSprite(
            '1-1-2-3-5-8-13-21-34-55-89-144-233-377-610-987-1597-2584-4181-6765...',
            'R'), 233 / 1000, 'L')
    codebug.scroll_sprite(
        StringSprite(
            '1-1-2-3-5-8-13-21-34-55-89-144-233-377-610-987-1597-2584-4181-6765...',
            'R'), 1 / 1000, 'L')
Exemplo n.º 12
0
import codebug_tether
from codebug_tether import (IO_DIGITAL_OUTPUT,
                            IO_DIGITAL_INPUT,
                            IO_PWM_OUTPUT,
                            IO_ANALOG_INPUT)
from codebug_tether.sprites import StringSprite

codebug = codebug_tether.CodeBug()
codebug.set_leg_io(0, IO_DIGITAL_INPUT);
codebug.set_leg_io(1, IO_DIGITAL_INPUT);
codebug.set_leg_io(2, IO_DIGITAL_INPUT);
codebug.set_leg_io(3, IO_DIGITAL_INPUT);
codebug.set_leg_io(4, IO_DIGITAL_INPUT);
codebug.set_leg_io(5, IO_DIGITAL_INPUT);
codebug.set_leg_io(6, IO_DIGITAL_INPUT);
codebug.set_leg_io(7, IO_DIGITAL_INPUT);


while True:
  codebug.scroll_sprite(StringSprite('SAPPOH SAMA', 'R'), 100/1000, 'L')