RASCSI/python/oled
Daniel Markstedt e8f392c3f1
Create SysCmds common class, and refactor Python codebase (#697)
* Move the oled script's PiCmds module to common, and rename it SysCmds.

* Use sys_cmds.get_ip_and_host() in web UI code.

* Move the auth_active() method to device_utils

* Rename device_utils to web_utils. Make auth_active() method take the group as argument.

* Migrate all pi_cmds methods to the SysCmds common class.

* Display hostname and ip in Web UI.

* Resolve or suppress pylint warnings.

* Resolve a pylint warning.

* Resolve or suppress pylint warnings.

* Import libraries at the top level for readability. In my testing on a Pi3B+, this leads to ~1.5k more memory being used by the python3 process.

* Change page title as requested by akuker.

* Reenable the import-outside-toplevel pylint rule.

* Resolve pylint warnings.

* Fix error following refactoring.

* Minor UI tweaks.

* Cleanup.

* Break out bridge config validation into a utility method.

* Move the dropzonejs method into the web_utils package

* Move get_logs method into SysCmds class.

* Improve get logs UI.

* Resolve pylint warning.

* Standardize class instance name.
2022-02-26 21:46:35 -08:00
..
resources
service-infra
src Create SysCmds common class, and refactor Python codebase (#697) 2022-02-26 21:46:35 -08:00
tests
README.md Updating the README to reflect the new file system layout (#658) 2022-02-11 16:29:48 -08:00
requirements.txt
start.sh restructuring towards python client library #455 (#613) 2022-01-21 15:08:29 -08:00

RaSCSI OLED Screen

Run as standalone script for development / troubleshooting

# Make a virtual env named venv
$ python3 -m venv venv
# Use that virtual env in this shell
$ source venv/bin/activate
# Install requirements
$ pip3 install -r requirements.txt
$ PYTHONPATH=$PWD/src:$(dirname $PWD)/common/src python3 src/rascsi_oled_monitor.py

Parameters

The script takes two positional parameters:

  • '0' or '180' which decides the screen rotation
  • '32' or '64' which decides the vertical screen resolution in pixels

Ex.

$ python3 rascsi_oled_monitor.py --rotation 180 --height 64

Note: Both parameters must be passed for the script to read them. Ordering is also important.

Run the start.sh script standalone

The start.sh script can also be run standalone, and will handle the venv creation/updating for you. It takes the same command line parameters in the following format:

$ ./start.sh --rotation=180 --height=64

Credits

type_writer.ttf

splash_start_*.bmp, splash_stop_*.bmp

  • Drawn by Daniel Markstedt
  • Distributed under BSD 3-Clause by permission from author (see LICENSE for full text)