Code

The script being discussed in this show is available for download with this show: cad-menu.py


GENERIC FUNCTIONS

def get_hpr_que():

Goto hacker public stats page and extract the number of days to next free slot turns on blinkstick LED with colour dependent on the number of days to next free slot in HPR queue prints number of days to next free slot to the display

GENERIC BLINKSTICK FUNCTIONS

def bstick_off():

Search for all attached blinksticks and turn them all off


def bstick_on(colour):

Turn blinkstick on and set led colour to string value stored in var colour. valid colours are, black, silver, gray, white, maroon, red, purple, fuchsia, green, lime, olive, yellow, navy, blue, teal, aqua


def bstick_on_random():

Turn blinkstick on colour random


def bstick_blink(colour):

Turn blinkstick on with supplied colour

END BLINKSTICK FUNCTIONS

def run_cmd(cmd):

Used to run an external linux command


def get_my_ip():

Returns ip address


def get_my_essid():

Returns wifi ESSID


def get_my_wifi_strength():

Returns wifi signal strength as a percentage


def wait_for_ip():

Tries 10 times to get IP address


def show_wifi_info():

Show WiFi information on display, shows essid on first line and both the wifi signal strength as a percentage and ip address on the second line.


def custom_bitmaps():

Selection of custom bitmaps to use on LCD display


Article in pifacecad documentation giving details about creating custom bitmaps on the pifacecad

https://piface.github.io/pifacecad/creating_custom_bitmaps.html


This tool referenced in the pifacecad documentation link above can help design custom bitmaps. Make sure you select 5x8

https://www.quinapalus.com/hd44780udg.html


def writelongstring(longstring):

Writes a long string to the piface control and display LCD & scrolls it to the left until the last character appears on the right hand side of the screen

# Local Variables (for function writelongstring)
DisplaySize = 15
# Number of characters that can be displayed on 1 line of display

StepSize = 4
# Step size when scrolling message on display

ScrollSpeed = 0.55
# Adjusts scroll speed, delay in seconds between scrolls

Scroll = 0
# Default value for scroll, used when string is smaller than display size

def init_display():

# Setup LCD display for selected menu 0 (Podcasts), 1 (Audiobooks), 2 (System)


def display_main_menu(event):

# Clear LCD & dsplays the appropriate main menu message