-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path__init__.py
76 lines (56 loc) · 2.06 KB
/
__init__.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# The MIT License (MIT)
# Copyright (c) 2023 Edgaras Janušauskas and Inovatorius MB (www.fildz.com)
################################################################################
# FILDZ CYBEROS
#
# Cyberos and its modules are initialized here.
import uasyncio as asyncio
from fildz_cyberware import CYBERWARE as cyberware
from .settings import Settings as settings
from .network import Network as network
from .listener import Listener as event
from .pairing import Pairing as pairing
from .heartbeat import Heartbeat as heartbeat
from .httpserver import HTTPServer as server
import aioespnow as espnow
import aiorepl
async def init():
# Paired cyberware, their mac addresses and events are stored in dictionary.
global cyberwares
cyberwares = dict()
# Various user preferences stored in a dictionary.
global preferences
preferences = dict(ap_boot=False, ap_ssid=None, ap_key='inovator', ap_color=None, ap_color_code=None, ap_ch=13,
sta_boot=True, sta_reconnect=False, sta_reconnects=-1, sta_ch=13, sta_hostname=None,
sta_ssid=None, sta_key=None,
ch_update=False, ch_reset=True, )
global settings
settings = settings()
global cyberware
cyberware = cyberware()
global network
network = network()
global event
event = event()
global pairing
pairing = pairing()
global heartbeat
heartbeat = heartbeat()
global server
server = server()
global espnow
espnow = espnow.AIOESPNow()
espnow.active(True)
asyncio.create_task(aiorepl.task())
# Notify the user that the cyberos is ready.
await cyberware.pixel.set_color(color=cyberware.pixel.C_GREEN)
await asyncio.sleep(0) # Fix for first tones play far too long.
await cyberware.buzzer.play(index=0)
async def run_forever():
asyncio.get_event_loop().run_forever()
async def reset():
import os
import machine
os.remove(settings._CONFIG_DIR + settings._SETTINGS_FILE)
os.remove(settings._CONFIG_DIR + settings._PAIRED_FILE)
machine.reset()