From e8d5c0693ec45ca3994ed410223d7db8a7e95684 Mon Sep 17 00:00:00 2001 From: Eljakim Herrewijnen Date: Wed, 17 Apr 2024 00:41:23 +0200 Subject: [PATCH] added missing init.lua file to docs --- .../build/.doctrees/environment.pickle | Bin 99783 -> 101576 bytes .../build/.doctrees/hardware/index.doctree | Bin 12957 -> 13375 bytes .../build/.doctrees/migration.doctree | Bin 6405 -> 6453 bytes .../build/_sources/hardware/index.rst.txt | 4 ++++ .../build/_sources/migration.rst.txt | 2 +- documentation/build/hardware/index.html | 4 ++++ documentation/build/migration.html | 2 +- documentation/build/searchindex.js | 2 +- documentation/source/hardware/index.rst | 4 ++++ wifi-tally/tally/install_application.sh | 3 ++- 10 files changed, 17 insertions(+), 4 deletions(-) diff --git a/documentation/build/.doctrees/environment.pickle b/documentation/build/.doctrees/environment.pickle index 14db4c969a3747167ec2c0ebbaaf690e37215264..07431ef250a5ddb6e63db802b31cdb3a3e8e175a 100644 GIT binary patch literal 101576 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˕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 delta 148 zcmdm=F*lX9fpzL6qm8U>nv-?4U732BCSMTHnY=)ogE4yZO6@yLjORAD={;d)TfxM@ zkhOGjfssta0uXa9kSOip%uCEoEvYO>EuK<4MI#HOs54_mXO&CPt0PyO`GTrxoSrDwJfTD&*&+CPFn6`Nha|4TLsB?Znr9w$YszP#pURq|l bURH5_-sC_I6UMa3Z5%52`_ - 3. Copy the config.json (homedir + .wifi-tally.json) to the same location of the new PC. + 3. Copy the config.json from the old PC (homedir + .wifi-tally.json) to the same location on the new PC. 4. Run the server on the host PC(see below) Run server diff --git a/documentation/build/hardware/index.html b/documentation/build/hardware/index.html index 3baccd0..324d459 100644 --- a/documentation/build/hardware/index.html +++ b/documentation/build/hardware/index.html @@ -163,6 +163,10 @@ Next, navigate to . All done! +

+

Caution

+

Make sure to also upload the src/`init.lua file!

+

The tally is ready!

diff --git a/documentation/build/migration.html b/documentation/build/migration.html index f638a3c..78909ed 100644 --- a/documentation/build/migration.html +++ b/documentation/build/migration.html @@ -86,7 +86,7 @@
  1. Configure the new computer to use the same IP address as the previous computer.

  2. Install NodeJS and NPM

  3. -
  4. Copy the config.json (homedir + .wifi-tally.json) to the same location of the new PC.

  5. +
  6. Copy the config.json from the old PC (homedir + .wifi-tally.json) to the same location on the new PC.

  7. Run the server on the host PC(see below)

diff --git a/documentation/build/searchindex.js b/documentation/build/searchindex.js index 8cc8764..12b0fd4 100644 --- a/documentation/build/searchindex.js +++ b/documentation/build/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["dependencies", "hardware/index", "index", "migration", "overview", "patches", "server/index", "troubleshooting"], "filenames": ["dependencies.rst", "hardware/index.rst", "index.rst", "migration.rst", "overview.rst", "patches.rst", "server/index.rst", "troubleshooting.rst"], "titles": ["Dependencies", "Hardware Setup", "Tallies in Oostendam", "Migrating to a new PC", "Tallies Overview", "Tally Patches", "Server", "Troubleshooting"], "terms": {"instal": [0, 2, 3], "follow": [0, 1, 2, 3, 5], "luarock": [0, 2], "sudo": [0, 1, 2, 7], "apt": [0, 2], "bust": [0, 1, 2], "python3": [0, 2], "esptool": [0, 1, 2], "pip3": [0, 2], "nodemcu": [0, 1, 2], "upload": [0, 1, 2], "server": [0, 2, 4, 5], "pc": [0, 2, 6], "nodej": [0, 2, 3, 4], "http": [0, 2, 3, 6, 7], "org": [0, 2], "next": [0, 1, 2, 6], "npm": [0, 2, 3, 6], "thi": [1, 2, 3, 4, 5, 6, 7], "page": [1, 4, 6], "describ": [1, 5], "how": [1, 4, 7], "new": [1, 2, 6], "For": 1, "classic": 1, "rgb": [1, 4], "ledstrip": 1, "i": [1, 2, 3, 4, 5, 6, 7], "us": [1, 2, 3, 4, 6, 7], "instead": 1, "more": 1, "modern": 1, "ws2812b": 1, "standard": [1, 4], "connect": [1, 3, 4, 5, 6, 7], "In": [1, 5], "order": [1, 5], "toolchain": 1, "cross": 1, "compil": [1, 6], "requir": [1, 6], "provid": [1, 2, 5], "repositori": [1, 5], "To": [1, 2, 3, 6], "code": [1, 2, 5, 7], "navig": [1, 3, 6], "wifi": [1, 3, 4, 5, 6], "run": [1, 2, 4, 6, 7], "make": 1, "syntact": 1, "valid": 1, "luac": 1, "o": [1, 5, 6], "dev": [1, 7], "null": [1, 3, 6], "src": 1, "init": 1, "lua": 1, "91": [1, 6], "success": 1, "0": [1, 3, 6], "failur": 1, "error": [1, 5], "pend": 1, "23373": 1, "second": 1, "The": [1, 2, 3, 4, 5, 6, 7], "result": 1, "file": 1, "ar": [1, 4, 5], "out": [1, 6], "folder": 1, "first": [1, 6], "put": 1, "devic": [1, 7], "mode": 1, "you": [1, 2, 3, 6, 7], "can": [1, 2, 4, 7], "do": [1, 3], "press": 1, "hodl": 1, "button": 1, "prese": 1, "rst": 1, "after": 1, "releas": 1, "install_firmwar": 1, "sh": [1, 3, 6], "py": 1, "v4": 1, "4": [1, 4, 6], "serial": [1, 7], "port": [1, 4], "ttyusb0": 1, "detect": 1, "chip": 1, "type": [1, 4], "unsupport": 1, "protocol": 1, "switch": 1, "try": 1, "again": 1, "esp8266": [1, 4, 7], "esp8266ex": 1, "featur": [1, 3, 6], "crystal": 1, "26mhz": 1, "mac": 1, "50": 1, "02": 1, "fd": 1, "ca": 1, "0a": 1, "stub": 1, "configur": [1, 3, 6], "size": [1, 6], "eras": 1, "from": [1, 7], "0x00000000": 1, "0x00070fff": 1, "param": 1, "set": 1, "0x0020": 1, "compress": 1, "462848": 1, "byte": 1, "301339": 1, "wrote": 1, "26": 1, "7": [1, 6], "effect": 1, "138": 1, "9": [1, 6], "kbit": 1, "": [1, 2, 4], "hash": 1, "data": [1, 4, 6], "verifi": 1, "leav": 1, "If": [1, 7], "receiv": 1, "an": [1, 2, 3, 4, 6], "about": [1, 4], "permiss": 1, "e": 1, "mitig": 1, "usb": [1, 7], "also": [1, 4], "look": 1, "troubleshoot": [1, 2], "section": [1, 5], "keep": 1, "have": [1, 7], "issu": [1, 7], "install_appl": 1, "sure": 1, "edit": [1, 5], "ini": 1, "correct": 1, "ssid": 1, "password": 1, "open": [1, 4], "115200": 1, "baud": 1, "prepar": 1, "esp": 1, "transfer": 1, "my": 1, "app": 1, "lc": 1, "led": [1, 2], "log": 1, "buffer": 1, "all": [1, 6], "done": [1, 5], "readi": 1, "overview": 2, "hardwar": 2, "softwar": [2, 5], "setup": 2, "firmwar": [2, 5, 7], "flash": [2, 4, 7], "applic": 2, "patch": 2, "esplor": 2, "document": 2, "contain": 2, "immanuelkapel": 2, "goal": [2, 5], "project": 2, "cheap": [2, 4], "indic": 2, "light": [2, 4], "show": [2, 7], "which": [2, 4], "camera": [2, 4, 5], "activ": [2, 4, 5], "dure": 2, "servic": 2, "wai": 2, "minist": 2, "know": 2, "reli": 2, "heavili": 2, "exist": 2, "github": [2, 7], "main": [2, 6], "differ": 2, "between": [2, 4], "behaviour": 2, "our": [2, 4], "church": 2, "see": [2, 3], "detail": 2, "below": [2, 3, 4], "immanu\u00eblkapel": 2, "street": 2, "pruimendijk": 2, "99": 2, "postal": 2, "2989": 2, "ah": 2, "ridderkerk": 2, "phone": 2, "078": 2, "6819880": 2, "when": [3, 4, 5], "comput": 3, "need": [3, 5, 6], "same": 3, "ip": 3, "address": 3, "previou": 3, "copi": 3, "config": [3, 6], "json": [3, 6], "homedir": 3, "talli": [3, 6], "locat": 3, "host": [3, 4], "hub": [3, 6], "execut": [3, 6], "run_serv": [3, 6], "1": [3, 6], "start": [3, 6], "node": [3, 6], "j": [3, 6], "env": [3, 6], "product": [3, 6], "mixer": [3, 6], "No": [3, 6], "video": [3, 6], "listen": [3, 6], "7411": [3, 4, 6], "web": [3, 6], "avail": [3, 4, 6], "localhost": [3, 6], "3000": [3, 6], "117081": [3, 6], "experimentalwarn": [3, 6], "fetch": [3, 6], "api": [3, 6], "experiment": [3, 6], "could": [3, 6], "chang": [3, 5, 6], "ani": [3, 5, 6], "time": [3, 6], "give": 4, "short": 4, "work": 4, "relat": [4, 7], "A": 4, "simpl": 4, "correl": 4, "streamer": 4, "shown": 4, "microcontrol": 4, "thei": 4, "found": 4, "amazon": 4, "These": [4, 5], "veri": 4, "capabl": 4, "802": 4, "11": [4, 6], "b": [4, 6], "g": 4, "n": 4, "ieee": 4, "quick": 4, "valu": 4, "cpu": 4, "32bit": 4, "risc": 4, "base": 4, "xtensa": 4, "lx106": 4, "instruct": 4, "ram": 4, "32": 4, "kib": 4, "cach": 4, "user": [4, 5], "80": 4, "system": 4, "16": 4, "memori": 4, "extern": 4, "mib": 4, "Of": 4, "17": 4, "gpio": 4, "pin": 4, "onli": 4, "3": [4, 6], "colour": 4, "commun": 4, "tell": 4, "turn": 4, "On": 4, "websocket": 4, "wait": 4, "send": 4, "them": 4, "case": 4, "black": [4, 5], "magic": 4, "atem": [4, 6], "control": [4, 7], "inform": 4, "pass": 4, "made": 5, "so": 5, "interact": [5, 7], "build": [5, 7], "disabl": 5, "signal": 5, "like": 5, "accessbl": 5, "green": 5, "preview": 5, "add": 5, "wa": 5, "_g": 5, "myle": 5, "noth": 5, "being": 5, "initi": [5, 6], "flashpattern": 5, "color": 5, "blue": 5, "waitforwificonnect": 5, "oo": 5, "invalidsettingsfil": 5, "oooooooooooo": 5, "2": [5, 6], "waitforwifiip": 5, "oooo": 5, "waitforserverconnect": 5, "oooooo": 5, "onpreview": 5, "onair": 5, "red": 5, "onreleas": 5, "nil": 5, "fals": 5, "onunknown": 5, "oooooooo": 5, "onhighlight": 5, "white": 5, "turnoff": 5, "block": 5, "replac": 5, "upon": 5, "each": 5, "direct": 6, "figur": 6, "statu": 6, "blackmag": 6, "build_serv": 6, "browserslist": 6, "canius": 6, "lite": 6, "outdat": 6, "pleas": 6, "npx": 6, "latest": 6, "updat": 6, "db": 6, "info": 6, "creat": 6, "optim": 6, "successfulli": 6, "collect": 6, "gener": 6, "static": 6, "final": 6, "optimizati": 6, "load": 6, "\u03bb": 6, "55": 6, "kb": 6, "94": 6, "_app": 6, "59": 6, "404": 6, "01": 6, "62": 6, "48": 6, "tallynam": 6, "share": 6, "chunk": 6, "07ed33f3": 6, "bca366": 6, "68": 6, "common": 6, "94f2cd": 6, "framework": 6, "9ec1f7": 6, "39": 6, "7e5158": 6, "627bfb": 6, "284": 6, "webpack": 6, "e06743": 6, "751": 6, "css": 6, "ba2fd543a36dbb3ceef1": 6, "25": 6, "side": 6, "render": 6, "runtim": 6, "getinitialprop": 6, "getserversideprop": 6, "automat": 6, "html": 6, "prop": 6, "ssg": 6, "getstaticprop": 6, "isr": 6, "increment": 6, "regener": 6, "revalid": 6, "depend": 6, "stream": 6, "might": [6, 7], "shell": 6, "script": 6, "command": 6, "ttyusb": 7, "doe": 7, "up": 7, "lsusb": 7, "bu": 7, "001": 7, "019": 7, "id": 7, "1a86": 7, "7523": 7, "qinheng": 7, "electron": 7, "ch340": 7, "convert": 7, "Then": 7, "udev": 7, "rule": 7, "linux": 7, "remov": 7, "stop": 7, "hijack": 7, "rm": 7, "usr": 7, "lib": 7, "d": 7, "brltty": 7, "udevadm": 7, "reload": 7, "systemctl": 7, "mask": 7, "path": 7, "tool": 7, "allow": 7, "gui": 7, "exampl": 7, "git": 7, "clone": 7, "com": 7, "4refr0nt": 7, "mvnw": 7, "clean": 7, "packag": 7, "java": 7, "jar": 7, "target": 7, "binari": 7}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"depend": [0, 2], "hardwar": [1, 4], "setup": 1, "build": [1, 2, 6], "talli": [1, 2, 4, 5], "firmwar": 1, "flash": 1, "applic": 1, "oostendam": 2, "develop": 2, "migrat": [2, 3], "introduct": 2, "contact": 2, "result": 2, "new": 3, "pc": 3, "run": 3, "server": [3, 6], "overview": 4, "softwar": 4, "patch": 5, "led": 5, "troubleshoot": 7, "esplor": 7}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Dependencies": [[0, "dependencies"], [2, "dependencies"]], "Hardware Setup": [[1, "hardware-setup"]], "Build a Tally": [[1, "build-a-tally"]], "Build the firmware": [[1, "build-the-firmware"]], "Flash the firmware": [[1, "flash-the-firmware"]], "Flash the Application": [[1, "flash-the-application"]], "Tallies in Oostendam": [[2, "tallies-in-oostendam"]], "Build:": [[2, null]], "Development:": [[2, null]], "Migrating:": [[2, null]], "Introduction": [[2, "introduction"]], "Contact": [[2, "contact"]], "Result": [[2, "result"]], "Migrating to a new PC": [[3, "migrating-to-a-new-pc"]], "Run server": [[3, "run-server"]], "Tallies Overview": [[4, "tallies-overview"]], "Hardware": [[4, "hardware"]], "Software": [[4, "software"]], "Tally Patches": [[5, "tally-patches"]], "LED patches": [[5, "led-patches"]], "Server": [[6, "server"]], "Build the server": [[6, "build-the-server"]], "Troubleshooting": [[7, "troubleshooting"]], "ESPlorer": [[7, "esplorer"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["dependencies", "hardware/index", "index", "migration", "overview", "patches", "server/index", "troubleshooting"], "filenames": ["dependencies.rst", "hardware/index.rst", "index.rst", "migration.rst", "overview.rst", "patches.rst", "server/index.rst", "troubleshooting.rst"], "titles": ["Dependencies", "Hardware Setup", "Tallies in Oostendam", "Migrating to a new PC", "Tallies Overview", "Tally Patches", "Server", "Troubleshooting"], "terms": {"instal": [0, 2, 3], "follow": [0, 1, 2, 3, 5], "luarock": [0, 2], "sudo": [0, 1, 2, 7], "apt": [0, 2], "bust": [0, 1, 2], "python3": [0, 2], "esptool": [0, 1, 2], "pip3": [0, 2], "nodemcu": [0, 1, 2], "upload": [0, 1, 2], "server": [0, 2, 4, 5], "pc": [0, 2, 6], "nodej": [0, 2, 3, 4], "http": [0, 2, 3, 6, 7], "org": [0, 2], "next": [0, 1, 2, 6], "npm": [0, 2, 3, 6], "thi": [1, 2, 3, 4, 5, 6, 7], "page": [1, 4, 6], "describ": [1, 5], "how": [1, 4, 7], "new": [1, 2, 6], "For": 1, "classic": 1, "rgb": [1, 4], "ledstrip": 1, "i": [1, 2, 3, 4, 5, 6, 7], "us": [1, 2, 3, 4, 6, 7], "instead": 1, "more": 1, "modern": 1, "ws2812b": 1, "standard": [1, 4], "connect": [1, 3, 4, 5, 6, 7], "In": [1, 5], "order": [1, 5], "toolchain": 1, "cross": 1, "compil": [1, 6], "requir": [1, 6], "provid": [1, 2, 5], "repositori": [1, 5], "To": [1, 2, 3, 6], "code": [1, 2, 5, 7], "navig": [1, 3, 6], "wifi": [1, 3, 4, 5, 6], "run": [1, 2, 4, 6, 7], "make": 1, "syntact": 1, "valid": 1, "luac": 1, "o": [1, 5, 6], "dev": [1, 7], "null": [1, 3, 6], "src": 1, "init": 1, "lua": 1, "91": [1, 6], "success": 1, "0": [1, 3, 6], "failur": 1, "error": [1, 5], "pend": 1, "23373": 1, "second": 1, "The": [1, 2, 3, 4, 5, 6, 7], "result": 1, "file": 1, "ar": [1, 4, 5], "out": [1, 6], "folder": 1, "first": [1, 6], "put": 1, "devic": [1, 7], "mode": 1, "you": [1, 2, 3, 6, 7], "can": [1, 2, 4, 7], "do": [1, 3], "press": 1, "hodl": 1, "button": 1, "prese": 1, "rst": 1, "after": 1, "releas": 1, "install_firmwar": 1, "sh": [1, 3, 6], "py": 1, "v4": 1, "4": [1, 4, 6], "serial": [1, 7], "port": [1, 4], "ttyusb0": 1, "detect": 1, "chip": 1, "type": [1, 4], "unsupport": 1, "protocol": 1, "switch": 1, "try": 1, "again": 1, "esp8266": [1, 4, 7], "esp8266ex": 1, "featur": [1, 3, 6], "crystal": 1, "26mhz": 1, "mac": 1, "50": 1, "02": 1, "fd": 1, "ca": 1, "0a": 1, "stub": 1, "configur": [1, 3, 6], "size": [1, 6], "eras": 1, "from": [1, 3, 7], "0x00000000": 1, "0x00070fff": 1, "param": 1, "set": 1, "0x0020": 1, "compress": 1, "462848": 1, "byte": 1, "301339": 1, "wrote": 1, "26": 1, "7": [1, 6], "effect": 1, "138": 1, "9": [1, 6], "kbit": 1, "": [1, 2, 4], "hash": 1, "data": [1, 4, 6], "verifi": 1, "leav": 1, "If": [1, 7], "receiv": 1, "an": [1, 2, 3, 4, 6], "about": [1, 4], "permiss": 1, "e": 1, "mitig": 1, "usb": [1, 7], "also": [1, 4], "look": 1, "troubleshoot": [1, 2], "section": [1, 5], "keep": 1, "have": [1, 7], "issu": [1, 7], "install_appl": 1, "sure": 1, "edit": [1, 5], "ini": 1, "correct": 1, "ssid": 1, "password": 1, "open": [1, 4], "115200": 1, "baud": 1, "prepar": 1, "esp": 1, "transfer": 1, "my": 1, "app": 1, "lc": 1, "led": [1, 2], "log": 1, "buffer": 1, "all": [1, 6], "done": [1, 5], "readi": 1, "overview": 2, "hardwar": 2, "softwar": [2, 5], "setup": 2, "firmwar": [2, 5, 7], "flash": [2, 4, 7], "applic": 2, "patch": 2, "esplor": 2, "document": 2, "contain": 2, "immanuelkapel": 2, "goal": [2, 5], "project": 2, "cheap": [2, 4], "indic": 2, "light": [2, 4], "show": [2, 7], "which": [2, 4], "camera": [2, 4, 5], "activ": [2, 4, 5], "dure": 2, "servic": 2, "wai": 2, "minist": 2, "know": 2, "reli": 2, "heavili": 2, "exist": 2, "github": [2, 7], "main": [2, 6], "differ": 2, "between": [2, 4], "behaviour": 2, "our": [2, 4], "church": 2, "see": [2, 3], "detail": 2, "below": [2, 3, 4], "immanu\u00eblkapel": 2, "street": 2, "pruimendijk": 2, "99": 2, "postal": 2, "2989": 2, "ah": 2, "ridderkerk": 2, "phone": 2, "078": 2, "6819880": 2, "when": [3, 4, 5], "comput": 3, "need": [3, 5, 6], "same": 3, "ip": 3, "address": 3, "previou": 3, "copi": 3, "config": [3, 6], "json": [3, 6], "homedir": 3, "talli": [3, 6], "locat": 3, "host": [3, 4], "hub": [3, 6], "execut": [3, 6], "run_serv": [3, 6], "1": [3, 6], "start": [3, 6], "node": [3, 6], "j": [3, 6], "env": [3, 6], "product": [3, 6], "mixer": [3, 6], "No": [3, 6], "video": [3, 6], "listen": [3, 6], "7411": [3, 4, 6], "web": [3, 6], "avail": [3, 4, 6], "localhost": [3, 6], "3000": [3, 6], "117081": [3, 6], "experimentalwarn": [3, 6], "fetch": [3, 6], "api": [3, 6], "experiment": [3, 6], "could": [3, 6], "chang": [3, 5, 6], "ani": [3, 5, 6], "time": [3, 6], "give": 4, "short": 4, "work": 4, "relat": [4, 7], "A": 4, "simpl": 4, "correl": 4, "streamer": 4, "shown": 4, "microcontrol": 4, "thei": 4, "found": 4, "amazon": 4, "These": [4, 5], "veri": 4, "capabl": 4, "802": 4, "11": [4, 6], "b": [4, 6], "g": 4, "n": 4, "ieee": 4, "quick": 4, "valu": 4, "cpu": 4, "32bit": 4, "risc": 4, "base": 4, "xtensa": 4, "lx106": 4, "instruct": 4, "ram": 4, "32": 4, "kib": 4, "cach": 4, "user": [4, 5], "80": 4, "system": 4, "16": 4, "memori": 4, "extern": 4, "mib": 4, "Of": 4, "17": 4, "gpio": 4, "pin": 4, "onli": 4, "3": [4, 6], "colour": 4, "commun": 4, "tell": 4, "turn": 4, "On": 4, "websocket": 4, "wait": 4, "send": 4, "them": 4, "case": 4, "black": [4, 5], "magic": 4, "atem": [4, 6], "control": [4, 7], "inform": 4, "pass": 4, "made": 5, "so": 5, "interact": [5, 7], "build": [5, 7], "disabl": 5, "signal": 5, "like": 5, "accessbl": 5, "green": 5, "preview": 5, "add": 5, "wa": 5, "_g": 5, "myle": 5, "noth": 5, "being": 5, "initi": [5, 6], "flashpattern": 5, "color": 5, "blue": 5, "waitforwificonnect": 5, "oo": 5, "invalidsettingsfil": 5, "oooooooooooo": 5, "2": [5, 6], "waitforwifiip": 5, "oooo": 5, "waitforserverconnect": 5, "oooooo": 5, "onpreview": 5, "onair": 5, "red": 5, "onreleas": 5, "nil": 5, "fals": 5, "onunknown": 5, "oooooooo": 5, "onhighlight": 5, "white": 5, "turnoff": 5, "block": 5, "replac": 5, "upon": 5, "each": 5, "direct": 6, "figur": 6, "statu": 6, "blackmag": 6, "build_serv": 6, "browserslist": 6, "canius": 6, "lite": 6, "outdat": 6, "pleas": 6, "npx": 6, "latest": 6, "updat": 6, "db": 6, "info": 6, "creat": 6, "optim": 6, "successfulli": 6, "collect": 6, "gener": 6, "static": 6, "final": 6, "optimizati": 6, "load": 6, "\u03bb": 6, "55": 6, "kb": 6, "94": 6, "_app": 6, "59": 6, "404": 6, "01": 6, "62": 6, "48": 6, "tallynam": 6, "share": 6, "chunk": 6, "07ed33f3": 6, "bca366": 6, "68": 6, "common": 6, "94f2cd": 6, "framework": 6, "9ec1f7": 6, "39": 6, "7e5158": 6, "627bfb": 6, "284": 6, "webpack": 6, "e06743": 6, "751": 6, "css": 6, "ba2fd543a36dbb3ceef1": 6, "25": 6, "side": 6, "render": 6, "runtim": 6, "getinitialprop": 6, "getserversideprop": 6, "automat": 6, "html": 6, "prop": 6, "ssg": 6, "getstaticprop": 6, "isr": 6, "increment": 6, "regener": 6, "revalid": 6, "depend": 6, "stream": 6, "might": [6, 7], "shell": 6, "script": 6, "command": 6, "ttyusb": 7, "doe": 7, "up": 7, "lsusb": 7, "bu": 7, "001": 7, "019": 7, "id": 7, "1a86": 7, "7523": 7, "qinheng": 7, "electron": 7, "ch340": 7, "convert": 7, "Then": 7, "udev": 7, "rule": 7, "linux": 7, "remov": 7, "stop": 7, "hijack": 7, "rm": 7, "usr": 7, "lib": 7, "d": 7, "brltty": 7, "udevadm": 7, "reload": 7, "systemctl": 7, "mask": 7, "path": 7, "tool": 7, "allow": 7, "gui": 7, "exampl": 7, "git": 7, "clone": 7, "com": 7, "4refr0nt": 7, "mvnw": 7, "clean": 7, "packag": 7, "java": 7, "jar": 7, "target": 7, "binari": 7, "old": 3}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"depend": [0, 2], "hardwar": [1, 4], "setup": 1, "build": [1, 2, 6], "talli": [1, 2, 4, 5], "firmwar": 1, "flash": 1, "applic": 1, "oostendam": 2, "develop": 2, "migrat": [2, 3], "introduct": 2, "contact": 2, "result": 2, "new": 3, "pc": 3, "run": 3, "server": [3, 6], "overview": 4, "softwar": 4, "patch": 5, "led": 5, "troubleshoot": 7, "esplor": 7}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Dependencies": [[0, "dependencies"], [2, "dependencies"]], "Tallies Overview": [[4, "tallies-overview"]], "Hardware": [[4, "hardware"]], "Software": [[4, "software"]], "Tally Patches": [[5, "tally-patches"]], "LED patches": [[5, "led-patches"]], "Server": [[6, "server"]], "Build the server": [[6, "build-the-server"]], "Troubleshooting": [[7, "troubleshooting"]], "ESPlorer": [[7, "esplorer"]], "Tallies in Oostendam": [[2, "tallies-in-oostendam"]], "Build:": [[2, null]], "Development:": [[2, null]], "Migrating:": [[2, null]], "Introduction": [[2, "introduction"]], "Contact": [[2, "contact"]], "Result": [[2, "result"]], "Migrating to a new PC": [[3, "migrating-to-a-new-pc"]], "Run server": [[3, "run-server"]], "Hardware Setup": [[1, "hardware-setup"]], "Build a Tally": [[1, "build-a-tally"]], "Build the firmware": [[1, "build-the-firmware"]], "Flash the firmware": [[1, "flash-the-firmware"]], "Flash the Application": [[1, "flash-the-application"]]}, "indexentries": {}}) \ No newline at end of file diff --git a/documentation/source/hardware/index.rst b/documentation/source/hardware/index.rst index 00ae2cb..d3d0f72 100644 --- a/documentation/source/hardware/index.rst +++ b/documentation/source/hardware/index.rst @@ -88,4 +88,8 @@ Navigate to ``wifi-tally/tally`` and run ``install_application.sh``. Transferring out/tally-settings.ini as out/tally-settings.ini All done! +.. caution:: + + Make sure to also upload the ``src/`init.lua`` file! + The tally is ready! \ No newline at end of file diff --git a/wifi-tally/tally/install_application.sh b/wifi-tally/tally/install_application.sh index e65c0e7..42ac65f 100755 --- a/wifi-tally/tally/install_application.sh +++ b/wifi-tally/tally/install_application.sh @@ -1,2 +1,3 @@ #! /bin/bash -nodemcu-uploader upload out/* \ No newline at end of file +CURR_DIR=$(pwd) +cd ${CURR_DIR}/out && nodemcu-uploader upload *