RASCSI/python/ctrlboard
Daniel Markstedt 4afb11d3dd
Shutdown splash for the OLED script; restore non-Latin transliteration; other refactoring (#991)
- Bring back the shutdown splash, with the tweak that is blanks out after 700ms
- Restore the non-Latin transliteration originally from https://github.com/akuker/RASCSI/pull/449 which was lost when the `common` package was introduced
- Bump to the latest libraries, while removing implicit dependencies from requirements.txt
- Shorter duration of the startup splash
- Reintroduce shell shutdown/reboot methods for use with the Web UI. This addresses https://github.com/akuker/RASCSI/issues/538 (the ctrlboard client will continue to use the built-in rascsi system calls which are slightly faster)
- Remove overt references to RPi. This addresses https://github.com/akuker/RASCSI/issues/990
- Other refactorings
2022-11-17 16:21:18 -08:00
..
resources
service-infra
src Shutdown splash for the OLED script; restore non-Latin transliteration; other refactoring (#991) 2022-11-17 16:21:18 -08:00
__init__.py
README.md 8bit encoder detection + debounced button detection, numpy removal (#710) 2022-03-01 20:27:14 -06:00
requirements.txt Bump protobuf from 3.19.3 to 3.19.5 in /python/ctrlboard (#858) 2022-09-25 10:49:53 -07:00
start.sh

RaSCSI Control Board UI

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
$ python3 src/main.py

Parameters

The script parameters can be shown with

python src/main.py --help

or

start.sh --help

Example:

$ python3 src/main.py --rotation=0 --transitions=0

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=0 --transitions=0

I2C baudrate and transitions

The available bandwidth for the display through I2C is limited. The I2C baudrate is automatically adjusted in easy_install.sh and start.sh to maximize the possible baudrate, however, depending on the Raspberry Pi model in use, we found that for some models enabling the transitions does not work very well. As a result, we have implemented a model detection for the raspberry pi model and enable transitions only for the following pi models:

  • Raspberry Pi 4 models
  • Raspberry Pi 3 models
  • Raspberry Pi Zero 2 models

The model detection can be overriden by adding a --transitions parameter to start.sh.

Credits

DejaVuSansMono-Bold.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)