Ejemplo n.º 1
0
def choose_apps():
    try:
        userApps = os.listdir('apps')
        userApps.reverse()
    except OSError:
        userApps = []
    apps = userApps
    apps.extend(['snake', 'clock', 'nickname'])
    prev_selected = store.load('slider', 'apps') or []
    uinterface.skippabletext('< > (de)select, A accept, B cancel')
    selected = uinterface.menu(apps, selected=prev_selected)
    if selected is not None:
        store.save('slider', 'apps', selected)
def update():
    global apps
    global app_list_last_modified
    new_modified = valuestore.last_modified('system', 'launcher_items')
    if new_modified != app_list_last_modified:
        app_list_last_modified = new_modified
        apps = valuestore.load('system', 'launcher_items') or {
            "0": {
                "slug": "norbert",
                "name": "Synthesizer",
                "colour": "#4A90E2"
            }
        }
        drawApps()
    return 500
def timesync():
    timezone = valuestore.load("system", "timezone")
    if not timezone:
        timezone = "Europe/Amsterdam"

    res = urequests.get("http://worldtimeapi.org/api/timezone/" + timezone)

    if res.status_code == 200:
        data = res.json()
        print(data)
        tm = data["unixtime"] - 946684800 + data["raw_offset"] + data[
            "dst_offset"]

        rtc = RTC()
        rtc.init(tm)
Ejemplo n.º 4
0
def get(app_slug, default_config):
    config = valuestore.load(namespace='app', keyname=app_slug)
    resave = False

    if config is None:
        config = default_config
        resave = True

    for key in default_config.keys():
        if key not in config:
            config[key] = default_config[key]
            resave = True

    if resave:
        valuestore.save(namespace='app', keyname=app_slug, value=config)

    return config
Ejemplo n.º 5
0

import uinterface
import rgb


def mqtt_cb(topic, msg):
    print("New MQTT msg")
    rgb.clear()
    uinterface.skippabletext(msg)


uinterface.connect_wifi()

import valuestore
settings = valuestore.load('mqttclient', 'settings')
if settings is None:
    settings = {"client_id": "badge"}
if "mqtt_server" not in settings:
    uinterface.skippabletext("Specify MQTT host")
    settings["mqtt_server"] = uinterface.text_input(
        "abcdefghijklmnopqrstuvwxzy.0123456789")
    valuestore.save('mqttclient', 'settings', settings)

client_id = settings['client_id']
try:
    mqttc = MQTTClient(client_id, settings["mqtt_server"])
    mqttc.set_callback(mqtt_cb)
    mqttc.connect()
except:
    # Maybe wrong hostname
Ejemplo n.º 6
0
import machine, virtualtimers, system, gc, valuestore

apps = valuestore.load('slider', 'apps') or ['clock', 'nickname']
current_index = valuestore.load('slider', 'current') or 0
time = valuestore.load('slider', 'time') or 20
next_index = None if current_index is None else ((current_index + 1) % len(apps))

def _next():
    import valuestore
    ## Start next app by restarting slider
    print('rebooting into next app: ', next_index)
    valuestore.save('slider', 'current', next_index)
    system.start('slider')
    pass

## Set timer for starting next app
virtualtimers.new(time * 1000, _next, hfpm=True)

if len(apps) == 0:
    print('No apps set, slider will start normal launcher instead')
    system.reboot()
if current_index is None or current_index < 0 or current_index >= len(apps):
    print('Current app index %d is out of the bounds of the set slider apps, setting index to 0' % current_index)
    try:
        current_index = 0
        valuestore.save('slider', 'current', current_index)
    except BaseException as error:
        print('Additional error whilst saving index: %s' % error)
        system.start('launcher')

app = apps[current_index]