Skip to main content

Interface to Objects In Space from CircuitPython embedded hardware

Project description

Objects In Python

Interface to Objects In Space for CircuitPython embedded hardware.

build status version license code style

Install

Download the compiled module and copy them to your board. Note there are two versions: "full" or regular for boards with more memory (eg, M4/samd51) and "tiny" for boards with less memory (eg, M0/samd21). When using the tiny build, be sure to rename the module to oip.mpy.

$ cp -X oip.mpy /Volumes/CIRCUITPY/oip.mpy

OR

$ cp -X oip-tiny.mpy /Volumes/CIRCUITPY/oip.mpy

Overview

Objects In Python uses a simple, event-based API to execute your functions when buttons are pressed or game values update. Getting started is as easy as importing the module, creating the interface, and starting the connection:

from oip import OIP

oip = OIP()
...
oip.start()

Turn lights on or off when game state changes:

@oip.on("IFF_ACTIVE")
def iff_active(now, value):
    pixels[0] = BLUE if value else RED

Connect buttons to game commands:

@oip.press(board.BUTTON_A)
def thrust_while_holding(now, value):
    oip.execute("BURN_MAIN_ENGINE" if value else "STOP_MAIN_ENGINE")

With the full build, use helper classes to mitigate typoes:

@oip.on(Boolean.IFF_ACTIVE)
def iff_active(now, value):
    ...

@oip.press(board.BUTTON_A)
def thrust_while_holding(now, value):
    oip.execute(Command.BURN_MAIN_ENGINE if value else Command.STOP_MAIN_ENGINE)

Check out the example projects for more ideas.

License

Objects In Python is copyright John Reese, and licensed under the MIT license. I am providing code in this repository to you under an open source license. This is my personal repository; the license you receive to my code is from me and not from my employer. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

objectsinpython-0.1.tar.gz (12.3 kB view details)

Uploaded Source

File details

Details for the file objectsinpython-0.1.tar.gz.

File metadata

  • Download URL: objectsinpython-0.1.tar.gz
  • Upload date:
  • Size: 12.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for objectsinpython-0.1.tar.gz
Algorithm Hash digest
SHA256 2ab2d1de60808e2a28e0e4f1f87712c18c149b2ba59c74afcb64bdc1e14ff68e
MD5 fba6ae559ac8d7dce76eee2e9126678e
BLAKE2b-256 47362150170910e9bc2c799864e043209adab0145eb323c74ffe9eed5241844c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page