Skip to content

fmorton/robot-python-tasks

Repository files navigation

Overview

docs Documentation Status
package

Simple task library using asyncio.

  • Free software: MIT License

Installation

pip install robot-tasks

You can also install the in-development version with:

pip install https://github.com/fmorton/robot-tasks/archive/main.zip

Tasks Example with a Birdbrain Robot

from robot.hummingbird import Hummingbird
from robot.tasks import Tasks

async def task_1(bird):
  while True:
    print("task_1 running")

    await Tasks.yield_task(1.0)


async def task_2(bird):
  while True:
    print("task_2 running")

    await Tasks.yield_task(0.5)


bird = Hummingbird("A")

tasks = Tasks()

tasks.create_task(task_1(bird))
tasks.create_task(task_2(bird))

tasks.run()

Processes Example with a Birdbrain Robot

import random

from robot.hummingbird import Hummingbird
from robot.processes import Processes
from time import sleep

def random_blinker(hummingbird):
    for i in range(35):
        hummingbird.tri_led(1, random.randint(0, 100), random.randint(0, 100), random.randint(0, 100))

        sleep(0.1)


def blue_blinker(hummingbird):
    for i in range(35):
        hummingbird.tri_led(1, 0, 0, 100)

        sleep(0.1)


if __name__ == '__main__':
    hummingbird = Hummingbird('A')

    processes = Processes()

    processes.create_process(random_blinker, (hummingbird,))
    processes.create_process(blue_blinker, (hummingbird,))

    processes.run()

    hummingbird.tri_led(1, 0, 0, 0)

Testing

To run all the tests run:

pytest

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages