{"id":18004159,"url":"https://github.com/ivorforce/lled-wifi","last_synced_at":"2025-04-04T09:42:13.530Z","repository":{"id":79396934,"uuid":"388624091","full_name":"Ivorforce/LLED-Wifi","owner":"Ivorforce","description":"ArtNET / Atmospheric LED Engine for ESP32","archived":false,"fork":false,"pushed_at":"2021-07-22T23:33:08.000Z","size":1575,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-09T20:18:44.085Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ivorforce.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-22T23:29:05.000Z","updated_at":"2021-07-22T23:33:10.000Z","dependencies_parsed_at":"2023-04-14T15:34:43.205Z","dependency_job_id":null,"html_url":"https://github.com/Ivorforce/LLED-Wifi","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ivorforce%2FLLED-Wifi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ivorforce%2FLLED-Wifi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ivorforce%2FLLED-Wifi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ivorforce%2FLLED-Wifi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ivorforce","download_url":"https://codeload.github.com/Ivorforce/LLED-Wifi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247157079,"owners_count":20893202,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-30T00:13:31.515Z","updated_at":"2025-04-04T09:42:13.502Z","avatar_url":"https://github.com/Ivorforce.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# About\n\nThis software is intended to run an LED strip using Wifi ArtNET, or just passively.\n\nWhile it does support FastLED for a variety of strip types, Apa102 / SK9822 are recommended for optimal output. Here, about 100x the FPS and 32x the color accuracy can be achieved.\n\n# Setup\n\nClion Recommended:\n\n    platformio init --ide clion --board esp32dev\n\nRelies on the flash file system for storage / static html files.\nRun uploadfs as well as upload to flash the ESP32.\n\nTake a look at Setup.h to see if it fits your build.\n\n# Hacks\n\nSince some stuff currently works... sub-bar, do the following steps too:\n\n    #include \u003cArduino.h\u003e  // On top of FastLED.h\n    // Merge this: \n    https://github.com/5chmidti/FastLED/commit/1550a942ba69272e10e4ca56fd51dd9f074e1671\n    // Set task priority to 20 in AsyncUDP.cpp\n\n\n# First Run\n\nCheck the correct partition file to use and select it in the platformio.ini.\n\nRemember to hold boot and press \"EN\" on the ESP to put it to flash mode. Run:\n\n\tSETUP_FILE=\"\" bash -c \"platformio run -t upload\"\n\tSETUP_FILE=\"\" bash -c \"platformio run -t uploadfs\"\n\nIt should boot up with a new WiFi. When connected, its local IP is `192.168.4.1`.\n\n## Debug\n\n(macOS only) To debug a message, run\n\n    ./decode_stacktrace.sh \u003cSTACKTRACE\u003e\n\nwhich creates and deletes a temporary __dmp.txt file.\n\n## Update\n\nRun \n\n    platformio run --target upload --upload-port IP-ADDRESS\n\nTo update using a non-default setup file, create SomeSetup.h in builds/. The file will \"inherit\" from the default setup, so it can focus on overriding variables.\n\n    SETUP_FILE=\"SomeSetup\" bash -c \"platformio run --target upload --upload-port IP-ADDRESS\"\n    \nas per http://docs.platformio.org/en/latest/platforms/espressif32.html#over-the-air-ota-update.\n\n## Factory\n\nIf reversion to factory is required, run `./otatool_proxy.py --port \"/dev/ttyUSB1\" erase_otadata`. This will erase OTA partitions and revert back to what was uploaded via serial.\nThe script is sub-par, especially with the parts provided from esp-idf, and may need be checked. It is recommended to set output from parttool not to \"None\" since several restarts of the device are required during running of scripts.\n\n## Performance Considerations\n\nSome quick tests gave the following numbers:\n\n    nop                       : 0.004 us\n    digitalRead               : 0.143 us\n    digitalWrite              : 0.125 us\n    pinMode                   : 2.708 us\n    multiply byte             : 0.038 us\n    divide byte               : 0.053 us\n    add byte                  : 0.034 us\n    multiply integer          : 0.054 us\n    divide integer            : 0.058 us\n    add integer               : 0.054 us\n    mod integer               : 0.062 us\n    or/and integer            : 0.054 us\n    shift integer             : 0.054 us\n    multiply long             : 0.055 us\n    divide long               : 0.073 us\n    add long                  : 0.054 us\n    multiply float            : 0.055 us\n    divide float              : 0.248 us\n    add float                 : 0.058 us\n    itoa()                    : 0.703 us\n    ltoa()                    : 0.898 us\n    dtostrf()                 : 11.323 us\n    y |= (1\u003c\u003cx)               : 0.046 us\n    bitSet()                  : 0.046 us\n    analogRead()              : 22.648 us\n    \nThis suggests that besides float division and byte operations, no operator can be considered noteworthy and has to be preferred / avoided.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivorforce%2Flled-wifi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fivorforce%2Flled-wifi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivorforce%2Flled-wifi/lists"}