Skip to main content

No project description provided

Project description

FreeWili

FreeWili is a Python library for controlling and communicating with FreeWili boards.

Installation

You can install freewili using pip by running the following command:

pip install freewili

Python script example

Toggle LED 25:

import time
import freewili

devices = freewili.find_all()
device = devices[0]

led_state: bool = True
device.stay_open = True
for _ in range(100):
    device.set_io(25, led_state)
    led_state ^= True
    time.sleep(0.1)

Poll I2C:

import freewili

devices = freewili.find_all()
device = devices[0]
print(device.poll_i2c())
Ok([1, 2])

fwi-serial command line usage

usage: fwi-serial [-h] [-l] [-i INDEX] [-di DISPLAY_INDEX] [-mi MAIN_INDEX] [-s SEND_FILE] [-fn FILE_NAME] [-u GET_FILE GET_FILE] [-w [RUN_SCRIPT]] [-io SET_IO SET_IO] [--version]

options:
  -h, --help            show this help message and exit
  -l, --list            List all FreeWili connected to the computer.
  -i INDEX, --index INDEX
                        Select a specific FreeWili by index. The first FreeWili is 1.
  -di DISPLAY_INDEX, --display_index DISPLAY_INDEX
                        Select a specific FreeWili display processor by index. The first FreeWili is 1.
  -mi MAIN_INDEX, --main_index MAIN_INDEX
                        Select a specific FreeWili main processor by index. The first FreeWili is 1.
  -s SEND_FILE, --send_file SEND_FILE
                        send a file to the FreeWili. Argument should be in the form of: <source_file>
  -fn FILE_NAME, --file_name FILE_NAME
                        Set the name of the file in the FreeWili. Argument should be in the form of: <file_name>
  -u GET_FILE GET_FILE, --get_file GET_FILE GET_FILE
                        Get a file from the FreeWili. Argument should be in the form of: <source_file> <target_name>
  -w [RUN_SCRIPT], --run_script [RUN_SCRIPT]
                        Run a script on the FreeWili. If no argument is provided, -fn will be used.
  -io SET_IO SET_IO, --set_io SET_IO SET_IO
                        Toggle IO pin to high. Argument should be in the form of: <io_pin> <high/low>
  --version             show program's version number and exit

Send file from host to freewili:

$ fwi-serial -d /path/to/bin.wasm /scripts/bin.wasm

Run script on the freewili:

$ fwi-serial -w bin.wasm

Set IO on the freewili:

$ fwi-serial -io 25 high

Convert JPEG or PNG file to FWI

$ fwi-convert -i ~/Downloads/mypicture.png -o mypicture.fwi
bytearray(b'FW01IMG\x00')
png or JPG file "/home/drebbe/Downloads/mypicture.png" converted to FreeWili image file "mypicture.fwi

$ fwi-serial -di 1 -s mypicture.fwi -fn /images/mypicture.fwi
Downloading mypicture.fwi (81816 bytes) as /images/mypicture.fwi on Display v28 /dev/ttyACM1 @ 1-2.2:1.0
Downloaded mypicture.fwi (81816 bytes) as /images/mypicture.fwi to Display v28 /dev/ttyACM1 @ 1-2.2:1.0

Development

pip install poetry
poetry self add "poetry-dynamic-versioning[plugin]"
poetry install
poetry run fwi-serial --help

pre-commit install

Dependencies

Installing Python 3.10+

If you don't already have Python 3.10+ installed, you can download it from the official Python website: https://www.python.org/downloads/. Follow the installation instructions for your operating system.

Installing Poetry

Poetry is a package manager for Python that makes it easy to install and manage the dependencies needed for FreeWili. To install Poetry, follow the instructions at https://python-poetry.org/docs/#installation.

Installing VSCode

To install VSCode, follow the instructions at https://code.visualstudio.com/docs/setup/setup-overview.

Installing recommended extensions in VSCode

See https://code.visualstudio.com/docs/editor/extension-marketplace#_recommended-extensions

License

FreeWili is licensed under the MIT License.

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

freewili-0.0.14.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

freewili-0.0.14-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file freewili-0.0.14.tar.gz.

File metadata

  • Download URL: freewili-0.0.14.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.11 Windows/10

File hashes

Hashes for freewili-0.0.14.tar.gz
Algorithm Hash digest
SHA256 494bf2b13101e292525f04c932430b140b0801f6a393bc6590b8eb4890980b4c
MD5 1f760a9530e716f325b69b879caec51e
BLAKE2b-256 cd15966b3b6ea56340d1c0487ca948c85f338529ff0bd67c97ea1b75efebd9b7

See more details on using hashes here.

File details

Details for the file freewili-0.0.14-py3-none-any.whl.

File metadata

  • Download URL: freewili-0.0.14-py3-none-any.whl
  • Upload date:
  • Size: 11.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.11 Windows/10

File hashes

Hashes for freewili-0.0.14-py3-none-any.whl
Algorithm Hash digest
SHA256 a6f1d2af288ae117a2515b16202e65d9f7bb89bdcdc550c4b1c2fcc192613b02
MD5 43803ae235ef04054f10bf87f12897e6
BLAKE2b-256 cfd6a746f01d49e7ef4b0f50897879f85455e7ffc6883fd5ac6deb99e3c9a010

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