diff options
author | jakob.stendahl <jakob.stendahl@infomedia.dk> | 2022-12-12 14:13:40 +0100 |
---|---|---|
committer | Jakob Stendahl <jakob.stendahl@outlook.com> | 2022-12-12 14:13:40 +0100 |
commit | 4189c0c988daa939be0e8ec979ce0ae0563c4b7d (patch) | |
tree | f07143ac71bd80457f681ec64bde1bbcbefa7a08 /public/docs/Scripting | |
parent | f1664d7c0dda8b4e557a02cd6fbfe56308daa4e4 (diff) | |
download | Luxcena-Neo-4189c0c988daa939be0e8ec979ce0ae0563c4b7d.tar.gz Luxcena-Neo-4189c0c988daa939be0e8ec979ce0ae0563c4b7d.zip |
Create docs from python code
Diffstat (limited to 'public/docs/Scripting')
-rw-r--r-- | public/docs/Scripting/Examples/strandtest/index.html | 737 | ||||
-rw-r--r-- | public/docs/Scripting/NeoBehaviour/index.html | 1851 | ||||
-rw-r--r-- | public/docs/Scripting/Strip/index.html | 1207 | ||||
-rw-r--r-- | public/docs/Scripting/SupportLib/index.html | 1067 |
4 files changed, 3543 insertions, 1319 deletions
diff --git a/public/docs/Scripting/Examples/strandtest/index.html b/public/docs/Scripting/Examples/strandtest/index.html deleted file mode 100644 index 5a3a0a3..0000000 --- a/public/docs/Scripting/Examples/strandtest/index.html +++ /dev/null @@ -1,737 +0,0 @@ - - - - -<!doctype html> -<html lang="en" class="no-js"> - <head> - - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width,initial-scale=1"> - <meta http-equiv="x-ua-compatible" content="ie=edge"> - - - - - <meta name="lang:clipboard.copy" content="Copy to clipboard"> - - <meta name="lang:clipboard.copied" content="Copied to clipboard"> - - <meta name="lang:search.language" content="en"> - - <meta name="lang:search.pipeline.stopwords" content="True"> - - <meta name="lang:search.pipeline.trimmer" content="True"> - - <meta name="lang:search.result.none" content="No matching documents"> - - <meta name="lang:search.result.one" content="1 matching document"> - - <meta name="lang:search.result.other" content="# matching documents"> - - <meta name="lang:search.tokenizer" content="[\s\-]+"> - - <link rel="shortcut icon" href="../../../assets/images/favicon.png"> - <meta name="generator" content="mkdocs-1.0.4, mkdocs-material-4.4.2"> - - - - <title>Strandtest - Luxcena Neo Documentation</title> - - - - <link rel="stylesheet" href="../../../assets/stylesheets/application.30686662.css"> - - - - - <script src="../../../assets/javascripts/modernizr.74668098.js"></script> - - - - <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin> - <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"> - <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style> - - - <link rel="stylesheet" href="../../../assets/fonts/material-icons.css"> - - - <link rel="stylesheet" href="../../../assets/luxcena-colors.css"> - - - - - - </head> - - <body dir="ltr"> - - <svg class="md-svg"> - <defs> - - - </defs> - </svg> - <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off"> - <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off"> - <label class="md-overlay" data-md-component="overlay" for="__drawer"></label> - - <a href="#strandtest" tabindex="1" class="md-skip"> - Skip to content - </a> - - - <header class="md-header" data-md-component="header"> - <nav class="md-header-nav md-grid"> - <div class="md-flex"> - <div class="md-flex__cell md-flex__cell--shrink"> - <a href="../../.." title="Luxcena Neo Documentation" class="md-header-nav__button md-logo"> - - <i class="md-icon"></i> - - </a> - </div> - <div class="md-flex__cell md-flex__cell--shrink"> - <label class="md-icon md-icon--menu md-header-nav__button" for="__drawer"></label> - </div> - <div class="md-flex__cell md-flex__cell--stretch"> - <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title"> - - <span class="md-header-nav__topic"> - Luxcena Neo Documentation - </span> - <span class="md-header-nav__topic"> - - Strandtest - - </span> - - </div> - </div> - <div class="md-flex__cell md-flex__cell--shrink"> - - <label class="md-icon md-icon--search md-header-nav__button" for="__search"></label> - -<div class="md-search" data-md-component="search" role="dialog"> - <label class="md-search__overlay" for="__search"></label> - <div class="md-search__inner" role="search"> - <form class="md-search__form" name="search"> - <input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active"> - <label class="md-icon md-search__icon" for="__search"></label> - <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1"> -  - </button> - </form> - <div class="md-search__output"> - <div class="md-search__scrollwrap" data-md-scrollfix> - <div class="md-search-result" data-md-component="result"> - <div class="md-search-result__meta"> - Type to start searching - </div> - <ol class="md-search-result__list"></ol> - </div> - </div> - </div> - </div> -</div> - - </div> - - </div> - </nav> -</header> - - <div class="md-container"> - - - - - <main class="md-main" role="main"> - <div class="md-main__inner md-grid" data-md-component="container"> - - - <div class="md-sidebar md-sidebar--primary" data-md-component="navigation"> - <div class="md-sidebar__scrollwrap"> - <div class="md-sidebar__inner"> - <nav class="md-nav md-nav--primary" data-md-level="0"> - <label class="md-nav__title md-nav__title--site" for="__drawer"> - <a href="../../.." title="Luxcena Neo Documentation" class="md-nav__button md-logo"> - - <i class="md-icon"></i> - - </a> - Luxcena Neo Documentation - </label> - - <ul class="md-nav__list" data-md-scrollfix> - - - - - - - <li class="md-nav__item"> - <a href="../../.." title="Introduction" class="md-nav__link"> - Introduction - </a> - </li> - - - - - - - - <li class="md-nav__item"> - <a href="../../../FuturePlan/" title="Plan for the future" class="md-nav__link"> - Plan for the future - </a> - </li> - - - - - - - - <li class="md-nav__item md-nav__item--nested"> - - <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3"> - - <label class="md-nav__link" for="nav-3"> - Usage - </label> - <nav class="md-nav" data-md-component="collapsible" data-md-level="1"> - <label class="md-nav__title" for="nav-3"> - Usage - </label> - <ul class="md-nav__list" data-md-scrollfix> - - - - - - - - <li class="md-nav__item"> - <a href="../../../Usage/Install/" title="Install" class="md-nav__link"> - Install - </a> - </li> - - - - - - - - <li class="md-nav__item"> - <a href="../../../Usage/Configuration/" title="Configuration" class="md-nav__link"> - Configuration - </a> - </li> - - - - - - - - <li class="md-nav__item"> - <a href="../../../Usage/CLI/" title="CLI" class="md-nav__link"> - CLI - </a> - </li> - - - </ul> - </nav> - </li> - - - - - - - - - - <li class="md-nav__item md-nav__item--active md-nav__item--nested"> - - <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4" checked> - - <label class="md-nav__link" for="nav-4"> - Scripting - </label> - <nav class="md-nav" data-md-component="collapsible" data-md-level="1"> - <label class="md-nav__title" for="nav-4"> - Scripting - </label> - <ul class="md-nav__list" data-md-scrollfix> - - - - - - - - <li class="md-nav__item"> - <a href="../../SupportLib/" title="Support Library" class="md-nav__link"> - Support Library - </a> - </li> - - - - - - - - - - <li class="md-nav__item md-nav__item--active md-nav__item--nested"> - - <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-2" type="checkbox" id="nav-4-2" checked> - - <label class="md-nav__link" for="nav-4-2"> - Examples - </label> - <nav class="md-nav" data-md-component="collapsible" data-md-level="2"> - <label class="md-nav__title" for="nav-4-2"> - Examples - </label> - <ul class="md-nav__list" data-md-scrollfix> - - - - - - - - - - <li class="md-nav__item md-nav__item--active"> - - <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc"> - - - - - <a href="./" title="Strandtest" class="md-nav__link md-nav__link--active"> - Strandtest - </a> - - </li> - - - </ul> - </nav> - </li> - - - </ul> - </nav> - </li> - - - - - - - - <li class="md-nav__item md-nav__item--nested"> - - <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5"> - - <label class="md-nav__link" for="nav-5"> - Code Documentation - </label> - <nav class="md-nav" data-md-component="collapsible" data-md-level="1"> - <label class="md-nav__title" for="nav-5"> - Code Documentation - </label> - <ul class="md-nav__list" data-md-scrollfix> - - - - - - - - <li class="md-nav__item md-nav__item--nested"> - - <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5-1" type="checkbox" id="nav-5-1"> - - <label class="md-nav__link" for="nav-5-1"> - Modules - </label> - <nav class="md-nav" data-md-component="collapsible" data-md-level="2"> - <label class="md-nav__title" for="nav-5-1"> - Modules - </label> - <ul class="md-nav__list" data-md-scrollfix> - - - - - - - - <li class="md-nav__item"> - <a href="../../../Code Documentation/Modules/CompileAndRun/" title="CompileAndRun" class="md-nav__link"> - CompileAndRun - </a> - </li> - - - </ul> - </nav> - </li> - - - - - - - - <li class="md-nav__item"> - <a href="../../../Code Documentation/Run/" title="Run" class="md-nav__link"> - Run - </a> - </li> - - - - - - - - <li class="md-nav__item"> - <a href="../../../Code Documentation/Design/" title="Design" class="md-nav__link"> - Design - </a> - </li> - - - - - - - - <li class="md-nav__item md-nav__item--nested"> - - <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5-4" type="checkbox" id="nav-5-4"> - - <label class="md-nav__link" for="nav-5-4"> - API - </label> - <nav class="md-nav" data-md-component="collapsible" data-md-level="2"> - <label class="md-nav__title" for="nav-5-4"> - API - </label> - <ul class="md-nav__list" data-md-scrollfix> - - - - - - - - <li class="md-nav__item"> - <a href="../../../Code Documentation/SocketIO/" title="Socket-IO" class="md-nav__link"> - Socket-IO - </a> - </li> - - - </ul> - </nav> - </li> - - - </ul> - </nav> - </li> - - - </ul> -</nav> - </div> - </div> - </div> - - - <div class="md-sidebar md-sidebar--secondary" data-md-component="toc"> - <div class="md-sidebar__scrollwrap"> - <div class="md-sidebar__inner"> - -<nav class="md-nav md-nav--secondary"> - - - - - -</nav> - </div> - </div> - </div> - - - <div class="md-content"> - <article class="md-content__inner md-typeset"> - - - - <h1 id="strandtest">Strandtest</h1> -<hr /> -<p>This script just does some fancy patterns to show of the neopixels' capabilities. -Runs in an endless loop, take a look at the code to see what it does more -precisely.</p> -<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span> 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 -77 -78 -79</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="kn">import</span> <span class="nn">LuxcenaNeo</span> <span class="kn">as</span> <span class="nn">neo</span> <span class="c1"># Can be imported as LuxcenaNeo as well. but anything else and it will fail...</span> -<span class="kn">import</span> <span class="nn">time</span> - -<span class="k">def</span> <span class="nf">colorWipe</span><span class="p">(</span><span class="n">color</span><span class="p">,</span> <span class="n">wait_ms</span><span class="o">=</span><span class="mi">50</span><span class="p">):</span> - <span class="sd">"""Wipe color across display a pixel at a time."""</span> - <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">neo</span><span class="o">.</span><span class="n">strip</span><span class="o">.</span><span class="n">numPixels</span><span class="p">()):</span> - <span class="n">neo</span><span class="o">.</span><span class="n">strip</span><span class="o">.</span><span class="n">setPixelColor</span><span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">color</span><span class="p">)</span> - <span class="n">neo</span><span class="o">.</span><span class="n">strip</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> - <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">wait_ms</span><span class="o">/</span><span class="mf">1000.0</span><span class="p">)</span> - -<span class="k">def</span> <span class="nf">theaterChase</span><span class="p">(</span><span class="n">color</span><span class="p">,</span> <span class="n">wait_ms</span><span class="o">=</span><span class="mi">50</span><span class="p">,</span> <span class="n">iterations</span><span class="o">=</span><span class="mi">10</span><span class="p">):</span> - <span class="sd">"""Movie theater light style chaser animation."""</span> - <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">iterations</span><span class="p">):</span> - <span class="k">for</span> <span class="n">q</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">3</span><span class="p">):</span> - <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">neo</span><span class="o">.</span><span class="n">strip</span><span class="o">.</span><span class="n">numPixels</span><span class="p">(),</span> <span class="mi">3</span><span class="p">):</span> - <span class="n">neo</span><span class="o">.</span><span class="n">strip</span><span class="o">.</span><span class="n">setPixelColor</span><span class="p">(</span><span class="n">i</span><span class="o">+</span><span class="n">q</span><span class="p">,</span> <span class="n">color</span><span class="p">)</span> - <span class="n">neo</span><span class="o">.</span><span class="n">strip</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> - <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">wait_ms</span><span class="o">/</span><span class="mf">1000.0</span><span class="p">)</span> - <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">neo</span><span class="o">.</span><span class="n">strip</span><span class="o">.</span><span class="n">numPixels</span><span class="p">(),</span> <span class="mi">3</span><span class="p">):</span> - <span class="n">neo</span><span class="o">.</span><span class="n">strip</span><span class="o">.</span><span class="n">setPixelColor</span><span class="p">(</span><span class="n">i</span><span class="o">+</span><span class="n">q</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> - -<span class="k">def</span> <span class="nf">wheel</span><span class="p">(</span><span class="n">pos</span><span class="p">):</span> - <span class="sd">"""Generate rainbow colors across 0-255 positions."""</span> - <span class="k">if</span> <span class="n">pos</span> <span class="o"><</span> <span class="mi">85</span><span class="p">:</span> - <span class="k">return</span> <span class="n">neo</span><span class="o">.</span><span class="n">Color</span><span class="p">(</span><span class="n">pos</span> <span class="o">*</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">255</span> <span class="o">-</span> <span class="n">pos</span> <span class="o">*</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> - <span class="k">elif</span> <span class="n">pos</span> <span class="o"><</span> <span class="mi">170</span><span class="p">:</span> - <span class="n">pos</span> <span class="o">-=</span> <span class="mi">85</span> - <span class="k">return</span> <span class="n">neo</span><span class="o">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span> <span class="o">-</span> <span class="n">pos</span> <span class="o">*</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">pos</span> <span class="o">*</span> <span class="mi">3</span><span class="p">)</span> - <span class="k">else</span><span class="p">:</span> - <span class="n">pos</span> <span class="o">-=</span> <span class="mi">170</span> - <span class="k">return</span> <span class="n">neo</span><span class="o">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">pos</span> <span class="o">*</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">255</span> <span class="o">-</span> <span class="n">pos</span> <span class="o">*</span> <span class="mi">3</span><span class="p">)</span> - -<span class="k">def</span> <span class="nf">rainbow</span><span class="p">(</span><span class="n">wait_ms</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span> <span class="n">iterations</span><span class="o">=</span><span class="mi">1</span><span class="p">):</span> - <span class="sd">"""Draw rainbow that fades across all pixels at once."""</span> - <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">256</span><span class="o">*</span><span class="n">iterations</span><span class="p">):</span> - <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">neo</span><span class="o">.</span><span class="n">strip</span><span class="o">.</span><span class="n">numPixels</span><span class="p">()):</span> - <span class="n">neo</span><span class="o">.</span><span class="n">strip</span><span class="o">.</span><span class="n">setPixelColor</span><span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">wheel</span><span class="p">((</span><span class="n">i</span><span class="o">+</span><span class="n">j</span><span class="p">)</span> <span class="o">&</span> <span class="mi">255</span><span class="p">))</span> - <span class="n">neo</span><span class="o">.</span><span class="n">strip</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> - <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">wait_ms</span><span class="o">/</span><span class="mf">1000.0</span><span class="p">)</span> - -<span class="k">def</span> <span class="nf">rainbowCycle</span><span class="p">(</span><span class="n">wait_ms</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span> <span class="n">iterations</span><span class="o">=</span><span class="mi">5</span><span class="p">):</span> - <span class="sd">"""Draw rainbow that uniformly distributes itself across all pixels."""</span> - <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">256</span><span class="o">*</span><span class="n">iterations</span><span class="p">):</span> - <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">strip</span><span class="o">.</span><span class="n">numPixels</span><span class="p">()):</span> - <span class="n">neo</span><span class="p">,</span><span class="n">strip</span><span class="o">.</span><span class="n">setPixelColor</span><span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">wheel</span><span class="p">(((</span><span class="n">i</span> <span class="o">*</span> <span class="mi">256</span> <span class="o">/</span> <span class="n">neo</span><span class="o">.</span><span class="n">strip</span><span class="o">.</span><span class="n">numPixels</span><span class="p">())</span> <span class="o">+</span> <span class="n">j</span><span class="p">)</span> <span class="o">&</span> <span class="mi">255</span><span class="p">))</span> - <span class="n">neo</span><span class="o">.</span><span class="n">strip</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> - <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">wait_ms</span><span class="o">/</span><span class="mf">1000.0</span><span class="p">)</span> - -<span class="k">def</span> <span class="nf">theaterChaseRainbow</span><span class="p">(</span><span class="n">wait_ms</span><span class="o">=</span><span class="mi">50</span><span class="p">):</span> - <span class="sd">"""Rainbow movie theater light style chaser animation."""</span> - <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">256</span><span class="p">):</span> - <span class="k">for</span> <span class="n">q</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">3</span><span class="p">):</span> - <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">neo</span><span class="o">.</span><span class="n">strip</span><span class="o">.</span><span class="n">numPixels</span><span class="p">(),</span> <span class="mi">3</span><span class="p">):</span> - <span class="n">neo</span><span class="o">.</span><span class="n">strip</span><span class="o">.</span><span class="n">setPixelColor</span><span class="p">(</span><span class="n">i</span><span class="o">+</span><span class="n">q</span><span class="p">,</span> <span class="n">wheel</span><span class="p">((</span><span class="n">i</span><span class="o">+</span><span class="n">j</span><span class="p">)</span> <span class="o">%</span> <span class="mi">255</span><span class="p">))</span> - <span class="n">neo</span><span class="o">.</span><span class="n">strip</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> - <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">wait_ms</span><span class="o">/</span><span class="mf">1000.0</span><span class="p">)</span> - <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">neo</span><span class="o">.</span><span class="n">strip</span><span class="o">.</span><span class="n">numPixels</span><span class="p">(),</span> <span class="mi">3</span><span class="p">):</span> - <span class="n">neo</span><span class="o">.</span><span class="n">strip</span><span class="o">.</span><span class="n">setPixelColor</span><span class="p">(</span><span class="n">i</span><span class="o">+</span><span class="n">q</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> - - -<span class="k">class</span> <span class="nc">Main</span><span class="p">(</span><span class="n">neo</span><span class="o">.</span><span class="n">NeoBehaviour</span><span class="p">):</span> - - <span class="k">def</span> <span class="nf">onStart</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> - <span class="c1"># Change the brightness of the strip</span> - <span class="n">neo</span><span class="o">.</span><span class="n">strip</span><span class="o">.</span><span class="n">setBrightness</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span> - - <span class="c1"># Do an endless loop with some default neopixel test patterns</span> - <span class="k">while</span> <span class="bp">True</span><span class="p">:</span> - <span class="n">colorWipe</span><span class="p">(</span><span class="n">neo</span><span class="o">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">))</span> <span class="c1"># Red wipe</span> - <span class="n">colorWipe</span><span class="p">(</span><span class="n">neo</span><span class="o">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">))</span> <span class="c1"># Blue wipe</span> - <span class="n">colorWipe</span><span class="p">(</span><span class="n">neo</span><span class="o">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">255</span><span class="p">))</span> <span class="c1"># Green wipe</span> - - <span class="n">theaterChase</span><span class="p">(</span><span class="n">neo</span><span class="o">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">127</span><span class="p">,</span> <span class="mi">127</span><span class="p">,</span> <span class="mi">127</span><span class="p">))</span> <span class="c1"># White theater chase</span> - <span class="n">theaterChase</span><span class="p">(</span><span class="n">neo</span><span class="o">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">127</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">))</span> <span class="c1"># Red theater chase</span> - <span class="n">theaterChase</span><span class="p">(</span><span class="n">neo</span><span class="o">.</span><span class="n">Color</span><span class="p">(</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">127</span><span class="p">))</span> <span class="c1"># Blue theater chase</span> - - <span class="n">rainbow</span><span class="p">()</span> - <span class="n">rainbowCycle</span><span class="p">()</span> - <span class="n">theaterChaseRainbow</span><span class="p">()</span> -</pre></div> -</td></tr></table> - - - - - - - - - - </article> - </div> - </div> - </main> - - -<footer class="md-footer"> - - <div class="md-footer-nav"> - <nav class="md-footer-nav__inner md-grid"> - - <a href="../../SupportLib/" title="Support Library" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev"> - <div class="md-flex__cell md-flex__cell--shrink"> - <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> - </div> - <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> - <span class="md-flex__ellipsis"> - <span class="md-footer-nav__direction"> - Previous - </span> - Support Library - </span> - </div> - </a> - - - <a href="../../../Code Documentation/Modules/CompileAndRun/" title="CompileAndRun" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next"> - <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> - <span class="md-flex__ellipsis"> - <span class="md-footer-nav__direction"> - Next - </span> - CompileAndRun - </span> - </div> - <div class="md-flex__cell md-flex__cell--shrink"> - <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> - </div> - </a> - - </nav> - </div> - - <div class="md-footer-meta md-typeset"> - <div class="md-footer-meta__inner md-grid"> - <div class="md-footer-copyright"> - - powered by - <a href="https://www.mkdocs.org">MkDocs</a> - and - <a href="https://squidfunk.github.io/mkdocs-material/"> - Material for MkDocs</a> - </div> - - </div> - </div> -</footer> - - </div> - - <script src="../../../assets/javascripts/application.c648116f.js"></script> - - <script>app.initialize({version:"1.0.4",url:{base:"../../.."}})</script> - - <script src="../../../assets/luxcena-colors.js"></script> - - <script src="../../../assets/webfont.js"></script> - - <script src="../../../assets/snap.svg-min.js"></script> - - <script src="../../../assets/underscore-min.js"></script> - - <script src="../../../assets/sequence-diagram.min.js"></script> - - <script src="../../../assets/js-sequence.js"></script> - - - </body> -</html>
\ No newline at end of file diff --git a/public/docs/Scripting/NeoBehaviour/index.html b/public/docs/Scripting/NeoBehaviour/index.html new file mode 100644 index 0000000..7d049d8 --- /dev/null +++ b/public/docs/Scripting/NeoBehaviour/index.html @@ -0,0 +1,1851 @@ + +<!doctype html> +<html lang="en" class="no-js"> + <head> + + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width,initial-scale=1"> + + + + <link rel="icon" href="../../assets/images/favicon.png"> + <meta name="generator" content="mkdocs-1.4.2, mkdocs-material-8.5.10"> + + + + <title>Main interface - Luxcena Neo Documentation</title> + + + + <link rel="stylesheet" href="../../assets/stylesheets/main.975780f9.min.css"> + + + <link rel="stylesheet" href="../../assets/stylesheets/palette.2505c338.min.css"> + + + + + + + + + + + <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> + <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"> + <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style> + + + + <link rel="stylesheet" href="../../assets/_mkdocstrings.css"> + + <link rel="stylesheet" href="../../assets/luxcena-colors.css"> + + <script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script> + + + + + + + </head> + + + + + + + + <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="None" data-md-color-accent="None"> + + + + <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off"> + <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off"> + <label class="md-overlay" for="__drawer"></label> + <div data-md-component="skip"> + + + <a href="#documentation-for-neobehaviour" class="md-skip"> + Skip to content + </a> + + </div> + <div data-md-component="announce"> + + </div> + + + + +<header class="md-header" data-md-component="header"> + <nav class="md-header__inner md-grid" aria-label="Header"> + <a href="../.." title="Luxcena Neo Documentation" class="md-header__button md-logo" aria-label="Luxcena Neo Documentation" data-md-component="logo"> + + + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg> + + </a> + <label class="md-header__button md-icon" for="__drawer"> + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> + </label> + <div class="md-header__title" data-md-component="header-title"> + <div class="md-header__ellipsis"> + <div class="md-header__topic"> + <span class="md-ellipsis"> + Luxcena Neo Documentation + </span> + </div> + <div class="md-header__topic" data-md-component="header-topic"> + <span class="md-ellipsis"> + + Main interface + + </span> + </div> + </div> + </div> + + + + + </nav> + +</header> + + <div class="md-container" data-md-component="container"> + + + + + + + <main class="md-main" data-md-component="main"> + <div class="md-main__inner md-grid"> + + + + <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" > + <div class="md-sidebar__scrollwrap"> + <div class="md-sidebar__inner"> + + + +<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0"> + <label class="md-nav__title" for="__drawer"> + <a href="../.." title="Luxcena Neo Documentation" class="md-nav__button md-logo" aria-label="Luxcena Neo Documentation" data-md-component="logo"> + + + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg> + + </a> + Luxcena Neo Documentation + </label> + + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + + <li class="md-nav__item"> + <a href="../.." class="md-nav__link"> + Introduction + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../FuturePlan/" class="md-nav__link"> + Plan for the future + </a> + </li> + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" > + + + + + <label class="md-nav__link" for="__nav_3"> + Usage + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" aria-label="Usage" data-md-level="1"> + <label class="md-nav__title" for="__nav_3"> + <span class="md-nav__icon md-icon"></span> + Usage + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + <li class="md-nav__item"> + <a href="../../Usage/Install/" class="md-nav__link"> + Install + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> + <a href="../../Usage/Configuration/" class="md-nav__link"> + Configuration + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> + <a href="../../Usage/CLI/" class="md-nav__link"> + CLI + </a> + </li> + + + + + </ul> + </nav> + </li> + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--active md-nav__item--nested"> + + + <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" checked> + + + + + <label class="md-nav__link" for="__nav_4"> + Scripting + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" aria-label="Scripting" data-md-level="1"> + <label class="md-nav__title" for="__nav_4"> + <span class="md-nav__icon md-icon"></span> + Scripting + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + <li class="md-nav__item"> + <a href="../Strip/" class="md-nav__link"> + Strip + </a> + </li> + + + + + + + + + + + + <li class="md-nav__item md-nav__item--active"> + + <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc"> + + + + + + <label class="md-nav__link md-nav__link--active" for="__toc"> + Main interface + <span class="md-nav__icon md-icon"></span> + </label> + + <a href="./" class="md-nav__link md-nav__link--active"> + Main interface + </a> + + + +<nav class="md-nav md-nav--secondary" aria-label="Table of contents"> + + + + + + + <label class="md-nav__title" for="__toc"> + <span class="md-nav__icon md-icon"></span> + Table of contents + </label> + <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.NeoBehaviour" class="md-nav__link"> + NeoBehaviour + </a> + + <nav class="md-nav" aria-label="NeoBehaviour"> + <ul class="md-nav__list"> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.NeoBehaviour.declare_variables" class="md-nav__link"> + declare_variables() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.NeoBehaviour.each_day" class="md-nav__link"> + each_day() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.NeoBehaviour.each_hour" class="md-nav__link"> + each_hour() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.NeoBehaviour.each_minute" class="md-nav__link"> + each_minute() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.NeoBehaviour.each_second" class="md-nav__link"> + each_second() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.NeoBehaviour.each_tick" class="md-nav__link"> + each_tick() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.NeoBehaviour.on_start" class="md-nav__link"> + on_start() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#an-example-of-the-usage-of-the-class" class="md-nav__link"> + An example of the usage of the class + </a> + +</li> + + </ul> + </nav> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.Variable" class="md-nav__link"> + Variable + </a> + + <nav class="md-nav" aria-label="Variable"> + <ul class="md-nav__list"> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.Variable.value" class="md-nav__link"> + value + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.Variable.__init__" class="md-nav__link"> + __init__() + </a> + +</li> + + </ul> + </nav> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.ColorVariable" class="md-nav__link"> + ColorVariable + </a> + + <nav class="md-nav" aria-label="ColorVariable"> + <ul class="md-nav__list"> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.ColorVariable.__init__" class="md-nav__link"> + __init__() + </a> + +</li> + + </ul> + </nav> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.IntegerVariable" class="md-nav__link"> + IntegerVariable + </a> + + <nav class="md-nav" aria-label="IntegerVariable"> + <ul class="md-nav__list"> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.IntegerVariable.__init__" class="md-nav__link"> + __init__() + </a> + +</li> + + </ul> + </nav> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.FloatVariable" class="md-nav__link"> + FloatVariable + </a> + + <nav class="md-nav" aria-label="FloatVariable"> + <ul class="md-nav__list"> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.FloatVariable.__init__" class="md-nav__link"> + __init__() + </a> + +</li> + + </ul> + </nav> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.BooleanVariable" class="md-nav__link"> + BooleanVariable + </a> + + <nav class="md-nav" aria-label="BooleanVariable"> + <ul class="md-nav__list"> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.BooleanVariable.__init__" class="md-nav__link"> + __init__() + </a> + +</li> + + </ul> + </nav> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.Trigger" class="md-nav__link"> + Trigger + </a> + + <nav class="md-nav" aria-label="Trigger"> + <ul class="md-nav__list"> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.Trigger.__init__" class="md-nav__link"> + __init__() + </a> + +</li> + + </ul> + </nav> + +</li> + + </ul> + +</nav> + + </li> + + + + + </ul> + </nav> + </li> + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" > + + + + + <label class="md-nav__link" for="__nav_5"> + Code Documentation + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" aria-label="Code Documentation" data-md-level="1"> + <label class="md-nav__title" for="__nav_5"> + <span class="md-nav__icon md-icon"></span> + Code Documentation + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + <li class="md-nav__item"> + <a href="../../Code%20Documentation/Run/" class="md-nav__link"> + Run + </a> + </li> + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5_2" type="checkbox" id="__nav_5_2" > + + + + + <label class="md-nav__link" for="__nav_5_2"> + API + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" aria-label="API" data-md-level="2"> + <label class="md-nav__title" for="__nav_5_2"> + <span class="md-nav__icon md-icon"></span> + API + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + <li class="md-nav__item"> + <a href="../../Code%20Documentation/SocketIO/" class="md-nav__link"> + Socket-IO + </a> + </li> + + + + + </ul> + </nav> + </li> + + + + + </ul> + </nav> + </li> + + + + </ul> +</nav> + </div> + </div> + </div> + + + + <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" > + <div class="md-sidebar__scrollwrap"> + <div class="md-sidebar__inner"> + + +<nav class="md-nav md-nav--secondary" aria-label="Table of contents"> + + + + + + + <label class="md-nav__title" for="__toc"> + <span class="md-nav__icon md-icon"></span> + Table of contents + </label> + <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.NeoBehaviour" class="md-nav__link"> + NeoBehaviour + </a> + + <nav class="md-nav" aria-label="NeoBehaviour"> + <ul class="md-nav__list"> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.NeoBehaviour.declare_variables" class="md-nav__link"> + declare_variables() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.NeoBehaviour.each_day" class="md-nav__link"> + each_day() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.NeoBehaviour.each_hour" class="md-nav__link"> + each_hour() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.NeoBehaviour.each_minute" class="md-nav__link"> + each_minute() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.NeoBehaviour.each_second" class="md-nav__link"> + each_second() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.NeoBehaviour.each_tick" class="md-nav__link"> + each_tick() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.NeoBehaviour.on_start" class="md-nav__link"> + on_start() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#an-example-of-the-usage-of-the-class" class="md-nav__link"> + An example of the usage of the class + </a> + +</li> + + </ul> + </nav> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.Variable" class="md-nav__link"> + Variable + </a> + + <nav class="md-nav" aria-label="Variable"> + <ul class="md-nav__list"> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.Variable.value" class="md-nav__link"> + value + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.Variable.__init__" class="md-nav__link"> + __init__() + </a> + +</li> + + </ul> + </nav> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.ColorVariable" class="md-nav__link"> + ColorVariable + </a> + + <nav class="md-nav" aria-label="ColorVariable"> + <ul class="md-nav__list"> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.ColorVariable.__init__" class="md-nav__link"> + __init__() + </a> + +</li> + + </ul> + </nav> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.IntegerVariable" class="md-nav__link"> + IntegerVariable + </a> + + <nav class="md-nav" aria-label="IntegerVariable"> + <ul class="md-nav__list"> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.IntegerVariable.__init__" class="md-nav__link"> + __init__() + </a> + +</li> + + </ul> + </nav> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.FloatVariable" class="md-nav__link"> + FloatVariable + </a> + + <nav class="md-nav" aria-label="FloatVariable"> + <ul class="md-nav__list"> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.FloatVariable.__init__" class="md-nav__link"> + __init__() + </a> + +</li> + + </ul> + </nav> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.BooleanVariable" class="md-nav__link"> + BooleanVariable + </a> + + <nav class="md-nav" aria-label="BooleanVariable"> + <ul class="md-nav__list"> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.BooleanVariable.__init__" class="md-nav__link"> + __init__() + </a> + +</li> + + </ul> + </nav> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.Trigger" class="md-nav__link"> + Trigger + </a> + + <nav class="md-nav" aria-label="Trigger"> + <ul class="md-nav__list"> + + <li class="md-nav__item"> + <a href="#luxcena_neo.neo_behaviour.Trigger.__init__" class="md-nav__link"> + __init__() + </a> + +</li> + + </ul> + </nav> + +</li> + + </ul> + +</nav> + </div> + </div> + </div> + + + + <div class="md-content" data-md-component="content"> + <article class="md-content__inner md-typeset"> + + + + +<h1 id="documentation-for-neobehaviour">Documentation for <code>NeoBehaviour</code></h1> + + +<div class="doc doc-object doc-class"> + + + +<h2 id="luxcena_neo.neo_behaviour.NeoBehaviour" class="doc doc-heading"> + <code>luxcena_neo.neo_behaviour.NeoBehaviour</code> + + +</h2> + + + <div class="doc doc-contents first"> + + + <p>This is the base-class "main" should inherit from!</p> + +<details class="note"> + <summary>All methods are blocking</summary> + <p>This means that you could potentially loose a "tick"</p> +<p>For example, if "eachSecond" is taking up the thread, and the clock goes from 11:58 to 12:02, "eachHour", will not be called.</p> +</details> +<details class="danger"> + <summary>Do NOT override <strong>init</strong> in your implementation, this will break some features.</summary> + <p>For this purpose you should instead use the <a class="autorefs autorefs-internal" href="#luxcena_neo.neo_behaviour.NeoBehaviour.on_start">on_start</a> method!</p> +</details> <p>Important: An instance of the <a class="autorefs autorefs-internal" href="../Strip/#luxcena_neo.strip.Strip">Strip</a> class will be available in your module as <code>strip</code> without any setup on your part.</p> + + + + + + <div class="doc doc-children"> + + + + + + + + + +<div class="doc doc-object doc-function"> + + + +<h3 id="luxcena_neo.neo_behaviour.NeoBehaviour.declare_variables" class="doc doc-heading"> +<code class="codehilite language-python"><span class="n">declare_variables</span><span class="p">()</span></code> + +</h3> + + + <div class="doc doc-contents "> + + <p>This should be overridden, and ALL variables should be declared here. +When this method is called, variables can be declared using <code>self.declare()</code>.</p> + + </div> + +</div> + +<div class="doc doc-object doc-function"> + + + +<h3 id="luxcena_neo.neo_behaviour.NeoBehaviour.each_day" class="doc doc-heading"> +<code class="codehilite language-python"><span class="n">each_day</span><span class="p">()</span></code> + +</h3> + + + <div class="doc doc-contents "> + + <p>This method is called every day at noon, given that the thread is open</p> + + </div> + +</div> + +<div class="doc doc-object doc-function"> + + + +<h3 id="luxcena_neo.neo_behaviour.NeoBehaviour.each_hour" class="doc doc-heading"> +<code class="codehilite language-python"><span class="n">each_hour</span><span class="p">()</span></code> + +</h3> + + + <div class="doc doc-contents "> + + <p>This method is called every whole hour (on the clock), given that the thread is open</p> + + </div> + +</div> + +<div class="doc doc-object doc-function"> + + + +<h3 id="luxcena_neo.neo_behaviour.NeoBehaviour.each_minute" class="doc doc-heading"> +<code class="codehilite language-python"><span class="n">each_minute</span><span class="p">()</span></code> + +</h3> + + + <div class="doc doc-contents "> + + <p>This method is called every mintue (on the clock), given that the thread is open</p> + + </div> + +</div> + +<div class="doc doc-object doc-function"> + + + +<h3 id="luxcena_neo.neo_behaviour.NeoBehaviour.each_second" class="doc doc-heading"> +<code class="codehilite language-python"><span class="n">each_second</span><span class="p">()</span></code> + +</h3> + + + <div class="doc doc-contents "> + + <p>This method is called every second (on the clock), given that the thread is open</p> + + </div> + +</div> + +<div class="doc doc-object doc-function"> + + + +<h3 id="luxcena_neo.neo_behaviour.NeoBehaviour.each_tick" class="doc doc-heading"> +<code class="codehilite language-python"><span class="n">each_tick</span><span class="p">()</span></code> + +</h3> + + + <div class="doc doc-contents "> + + <p>This method will be run every tick, that means every time the program has time</p> + + </div> + +</div> + +<div class="doc doc-object doc-function"> + + + +<h3 id="luxcena_neo.neo_behaviour.NeoBehaviour.on_start" class="doc doc-heading"> +<code class="codehilite language-python"><span class="n">on_start</span><span class="p">()</span></code> + +</h3> + + + <div class="doc doc-contents "> + + <p>This method will be run right after <strong>init</strong></p> + + </div> + +</div> + + + + </div> + + </div> + +</div><h3 id="an-example-of-the-usage-of-the-class">An example of the usage of the class</h3> +<div class="highlight"><pre><span></span><code><span class="kn">from</span> <span class="nn">luxcena_neo</span> <span class="kn">import</span> <span class="n">NeoBehaviour</span> + +<span class="k">class</span> <span class="nc">Main</span><span class="p">(</span><span class="n">NeoBehaviour</span><span class="p">):</span> + <span class="k">def</span> <span class="nf">on_start</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="n">strip</span><span class="o">.</span><span class="n">setPixelColor</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="s2">"#fafafa"</span><span class="p">)</span> +</code></pre></div> +<hr /> + + +<div class="doc doc-object doc-class"> + + + +<h2 id="luxcena_neo.neo_behaviour.Variable" class="doc doc-heading"> + <code>luxcena_neo.neo_behaviour.Variable</code> + + +</h2> + + + <div class="doc doc-contents first"> + + + <p>The base class for any variable, this should <em>probably</em> not be used directly.</p> + + + + + + <div class="doc doc-children"> + + + + + + + +<div class="doc doc-object doc-attribute"> + + + +<h3 id="luxcena_neo.neo_behaviour.Variable.value" class="doc doc-heading"> +<code class="codehilite language-python"><span class="n">value</span></code> + + <span class="doc doc-labels"> + <small class="doc doc-label doc-label-property"><code>property</code></small> + <small class="doc doc-label doc-label-writable"><code>writable</code></small> + </span> + +</h3> + + + <div class="doc doc-contents "> + + <p>This is likely the property you should use to get the current value of the variable.</p> + </div> + +</div> + + + +<div class="doc doc-object doc-function"> + + + +<h3 id="luxcena_neo.neo_behaviour.Variable.__init__" class="doc doc-heading"> +<code class="codehilite language-python"><span class="fm">__init__</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">default</span><span class="p">,</span> <span class="n">var_type</span><span class="p">,</span> <span class="n">on_change</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span></code> + +</h3> + + + <div class="doc doc-contents "> + + <p>The base constructor for any variable. All these parameters should likely be passed on by + the subclass inheriting this one.</p> + + <p><strong>Parameters:</strong></p> + <table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Default</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>name</code></td> + <td> + </td> + <td><p>A string which is the name of the variable, keep in mind that this is case sensitive.</p></td> + <td> + <em>required</em> + </td> + </tr> + <tr> + <td><code>default</code></td> + <td> + </td> + <td><p>This will be set as the default value of the variable the first time the script is started.</p></td> + <td> + <em>required</em> + </td> + </tr> + <tr> + <td><code>var_type</code></td> + <td> + <code><span title="luxcena_neo.neo_behaviour.VariableType">VariableType</span></code> + </td> + <td><p>This is the enum number of the variable type, this is just a number which is used to + communicate with the frontend which value picker to show.</p></td> + <td> + <em>required</em> + </td> + </tr> + <tr> + <td><code>on_change</code></td> + <td> + </td> + <td><p>Optional callable, which will be called with the new value every time the variable is + updated (both programatically and via user input).</p></td> + <td> + <code>None</code> + </td> + </tr> + </tbody> + </table> + + </div> + +</div> + + + + </div> + + </div> + +</div><hr /> + + +<div class="doc doc-object doc-class"> + + + +<h2 id="luxcena_neo.neo_behaviour.ColorVariable" class="doc doc-heading"> + <code>luxcena_neo.neo_behaviour.ColorVariable</code> + + +</h2> + + + <div class="doc doc-contents first"> + <p class="doc doc-class-bases"> + Bases: <code><a class="autorefs autorefs-internal" title="luxcena_neo.neo_behaviour.Variable" href="#luxcena_neo.neo_behaviour.Variable">Variable</a></code></p> + + + <p>This is a variable storing a color value. </p> + +<details class="note"> + <summary>Right now, this only properly supports setting the value as a hex string.</summary> + <p>This will hopefully change in the future, but it is likely that the main +operation will remain as hex strings.</p> +</details> + + + + + <div class="doc doc-children"> + + + + + + + + + +<div class="doc doc-object doc-function"> + + + +<h3 id="luxcena_neo.neo_behaviour.ColorVariable.__init__" class="doc doc-heading"> +<code class="codehilite language-python"><span class="fm">__init__</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">*</span><span class="n">color</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></code> + +</h3> + + + <div class="doc doc-contents "> + + <p>Constructor for a color variable</p> + + <p><strong>Parameters:</strong></p> + <table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Default</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>name</code></td> + <td> + <code>str</code> + </td> + <td><p>Will be passed on to the parent class (<a class="autorefs autorefs-internal" href="#luxcena_neo.neo_behaviour.Variable">Variable</a>).</p></td> + <td> + <em>required</em> + </td> + </tr> + <tr> + <td><code>*color</code></td> + <td> + </td> + <td><p>The next positional parameters will be used as the default color. + Right now, it will just pick the first one, and interpret it as a hex color.</p></td> + <td> + <code>()</code> + </td> + </tr> + <tr> + <td><code>**kwargs</code></td> + <td> + </td> + <td><p>Keyword arguments will be passed to the parent class (<a class="autorefs autorefs-internal" href="#luxcena_neo.neo_behaviour.Variable">Variable</a>).</p></td> + <td> + <code>{}</code> + </td> + </tr> + </tbody> + </table> + + </div> + +</div> + + + + </div> + + </div> + +</div><hr /> + + +<div class="doc doc-object doc-class"> + + + +<h2 id="luxcena_neo.neo_behaviour.IntegerVariable" class="doc doc-heading"> + <code>luxcena_neo.neo_behaviour.IntegerVariable</code> + + +</h2> + + + <div class="doc doc-contents first"> + <p class="doc doc-class-bases"> + Bases: <code><a class="autorefs autorefs-internal" title="luxcena_neo.neo_behaviour.Variable" href="#luxcena_neo.neo_behaviour.Variable">Variable</a></code></p> + + + <p>A variable for storing a integer value (whole number).</p> + + + + + + <div class="doc doc-children"> + + + + + + + + + +<div class="doc doc-object doc-function"> + + + +<h3 id="luxcena_neo.neo_behaviour.IntegerVariable.__init__" class="doc doc-heading"> +<code class="codehilite language-python"><span class="fm">__init__</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">min_val</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">max_val</span><span class="o">=</span><span class="mi">255</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></code> + +</h3> + + + <div class="doc doc-contents "> + + <p>Constructor for a integer variable</p> + + <p><strong>Parameters:</strong></p> + <table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Default</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>name</code></td> + <td> + <code>str</code> + </td> + <td><p>Will be passed on to the parent class (<a class="autorefs autorefs-internal" href="#luxcena_neo.neo_behaviour.Variable">Variable</a>).</p></td> + <td> + <em>required</em> + </td> + </tr> + <tr> + <td><code>default</code></td> + <td> + <code>int</code> + </td> + <td><p>A number which will be set as the default if the mode has never been run before.</p></td> + <td> + <code>0</code> + </td> + </tr> + <tr> + <td><code>min_val</code></td> + <td> + <code>int</code> + </td> + <td><p>The lowest value this variable can have (inclusive).</p></td> + <td> + <code>0</code> + </td> + </tr> + <tr> + <td><code>max_val</code></td> + <td> + <code>int</code> + </td> + <td><p>The highest value this variable can have (inclusive).</p></td> + <td> + <code>255</code> + </td> + </tr> + <tr> + <td><code>**kwargs</code></td> + <td> + </td> + <td><p>Keyword arguments will be passed to the parent class (<a class="autorefs autorefs-internal" href="#luxcena_neo.neo_behaviour.Variable">Variable</a>).</p></td> + <td> + <code>{}</code> + </td> + </tr> + </tbody> + </table> + + </div> + +</div> + + + + </div> + + </div> + +</div><hr /> + + +<div class="doc doc-object doc-class"> + + + +<h2 id="luxcena_neo.neo_behaviour.FloatVariable" class="doc doc-heading"> + <code>luxcena_neo.neo_behaviour.FloatVariable</code> + + +</h2> + + + <div class="doc doc-contents first"> + <p class="doc doc-class-bases"> + Bases: <code><a class="autorefs autorefs-internal" title="luxcena_neo.neo_behaviour.Variable" href="#luxcena_neo.neo_behaviour.Variable">Variable</a></code></p> + + + <p>A variable for storing a float value (decimal number).</p> + + + + + + <div class="doc doc-children"> + + + + + + + + + +<div class="doc doc-object doc-function"> + + + +<h3 id="luxcena_neo.neo_behaviour.FloatVariable.__init__" class="doc doc-heading"> +<code class="codehilite language-python"><span class="fm">__init__</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">min_val</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">max_val</span><span class="o">=</span><span class="mf">255.0</span><span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="mf">0.5</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></code> + +</h3> + + + <div class="doc doc-contents "> + + <p>Constructor for a float variable</p> + + <p><strong>Parameters:</strong></p> + <table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Default</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>name</code></td> + <td> + <code>str</code> + </td> + <td><p>Will be passed on to the parent class (<a class="autorefs autorefs-internal" href="#luxcena_neo.neo_behaviour.Variable">Variable</a>).</p></td> + <td> + <em>required</em> + </td> + </tr> + <tr> + <td><code>default</code></td> + <td> + <code>float</code> + </td> + <td><p>A number which will be set as the default if the mode has never been run before.</p></td> + <td> + <code>0.0</code> + </td> + </tr> + <tr> + <td><code>min_val</code></td> + <td> + <code>float</code> + </td> + <td><p>The lowest value this variable can have (inclusive).</p></td> + <td> + <code>0.0</code> + </td> + </tr> + <tr> + <td><code>max_val</code></td> + <td> + <code>float</code> + </td> + <td><p>The highest value this variable can have (inclusive).</p></td> + <td> + <code>255.0</code> + </td> + </tr> + <tr> + <td><code>step</code></td> + <td> + <code>float</code> + </td> + <td><p>This does not affect the python code, it only affects the value picker which will be shown in the frontend.</p></td> + <td> + <code>0.5</code> + </td> + </tr> + <tr> + <td><code>**kwargs</code></td> + <td> + </td> + <td><p>Keyword arguments will be passed to the parent class (<a class="autorefs autorefs-internal" href="#luxcena_neo.neo_behaviour.Variable">Variable</a>).</p></td> + <td> + <code>{}</code> + </td> + </tr> + </tbody> + </table> + + </div> + +</div> + + + + </div> + + </div> + +</div><hr /> + + +<div class="doc doc-object doc-class"> + + + +<h2 id="luxcena_neo.neo_behaviour.BooleanVariable" class="doc doc-heading"> + <code>luxcena_neo.neo_behaviour.BooleanVariable</code> + + +</h2> + + + <div class="doc doc-contents first"> + <p class="doc doc-class-bases"> + Bases: <code><a class="autorefs autorefs-internal" title="luxcena_neo.neo_behaviour.Variable" href="#luxcena_neo.neo_behaviour.Variable">Variable</a></code></p> + + + <p>A variable for storing a boolean value (on/off).</p> + + + + + + <div class="doc doc-children"> + + + + + + + + + +<div class="doc doc-object doc-function"> + + + +<h3 id="luxcena_neo.neo_behaviour.BooleanVariable.__init__" class="doc doc-heading"> +<code class="codehilite language-python"><span class="fm">__init__</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">default</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></code> + +</h3> + + + <div class="doc doc-contents "> + + <p>Constructor for a boolean variable</p> + + <p><strong>Parameters:</strong></p> + <table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Default</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>name</code></td> + <td> + <code>str</code> + </td> + <td><p>Will be passed on to the parent class (<a class="autorefs autorefs-internal" href="#luxcena_neo.neo_behaviour.Variable">Variable</a>).</p></td> + <td> + <em>required</em> + </td> + </tr> + <tr> + <td><code>default</code></td> + <td> + <code>bool</code> + </td> + <td><p>A boolean which will be set as the default if the mode has never been run before.</p></td> + <td> + <em>required</em> + </td> + </tr> + <tr> + <td><code>**kwargs</code></td> + <td> + </td> + <td><p>Keyword arguments will be passed to the parent class (<a class="autorefs autorefs-internal" href="#luxcena_neo.neo_behaviour.Variable">Variable</a>).</p></td> + <td> + <code>{}</code> + </td> + </tr> + </tbody> + </table> + + </div> + +</div> + + + + </div> + + </div> + +</div><hr /> + + +<div class="doc doc-object doc-class"> + + + +<h2 id="luxcena_neo.neo_behaviour.Trigger" class="doc doc-heading"> + <code>luxcena_neo.neo_behaviour.Trigger</code> + + +</h2> + + + <div class="doc doc-contents first"> + <p class="doc doc-class-bases"> + Bases: <code><a class="autorefs autorefs-internal" title="luxcena_neo.neo_behaviour.Variable" href="#luxcena_neo.neo_behaviour.Variable">Variable</a></code></p> + + + <p>A trigger which can execute some function.</p> +<p>Although technically a variable, this is not intended as one. +It is intended to be used with a on_change function, such that +this action is performed when this trigger is activated.</p> +<p>It will show up as a button in the frontend, and can also be triggered by +setting the value (What you set it as will be ignored, so e.g. None.</p> + + + + + + <div class="doc doc-children"> + + + + + + + + + +<div class="doc doc-object doc-function"> + + + +<h3 id="luxcena_neo.neo_behaviour.Trigger.__init__" class="doc doc-heading"> +<code class="codehilite language-python"><span class="fm">__init__</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></code> + +</h3> + + + <div class="doc doc-contents "> + + <p>Constructor for the Trigger +It is important to set the on_change callable (see the Variable class). If you don't +this class is completely useless.</p> + + <p><strong>Parameters:</strong></p> + <table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Default</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>name</code></td> + <td> + <code>str</code> + </td> + <td><p>The name of the trigger variable (mostly useful if you wanted to trigger it in the code).</p></td> + <td> + <em>required</em> + </td> + </tr> + <tr> + <td><code>**kwargs</code></td> + <td> + </td> + <td><p>Keyword arguments will be passed to the parent class (<a class="autorefs autorefs-internal" href="#luxcena_neo.neo_behaviour.Variable">Variable</a>).</p></td> + <td> + <code>{}</code> + </td> + </tr> + </tbody> + </table> + + </div> + +</div> + + + + </div> + + </div> + +</div> + + + + + + + </article> + </div> + + + </div> + + </main> + + <footer class="md-footer"> + + + <nav class="md-footer__inner md-grid" aria-label="Footer" > + + + <a href="../Strip/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Strip" rel="prev"> + <div class="md-footer__button md-icon"> + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> + </div> + <div class="md-footer__title"> + <div class="md-ellipsis"> + <span class="md-footer__direction"> + Previous + </span> + Strip + </div> + </div> + </a> + + + + <a href="../../Code%20Documentation/Run/" class="md-footer__link md-footer__link--next" aria-label="Next: Run" rel="next"> + <div class="md-footer__title"> + <div class="md-ellipsis"> + <span class="md-footer__direction"> + Next + </span> + Run + </div> + </div> + <div class="md-footer__button md-icon"> + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> + </div> + </a> + + </nav> + + <div class="md-footer-meta md-typeset"> + <div class="md-footer-meta__inner md-grid"> + <div class="md-copyright"> + + + Made with + <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener"> + Material for MkDocs + </a> + +</div> + + </div> + </div> +</footer> + + </div> + <div class="md-dialog" data-md-component="dialog"> + <div class="md-dialog__inner md-typeset"></div> + </div> + + <script id="__config" type="application/json">{"base": "../..", "features": [], "search": "../../assets/javascripts/workers/search.16e2a7d4.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version.title": "Select version"}}</script> + + + <script src="../../assets/javascripts/bundle.5a2dcb6a.min.js"></script> + + <script src="../../assets/luxcena-colors.js"></script> + + <script src="../../assets/webfont.js"></script> + + <script src="../../assets/snap.svg-min.js"></script> + + <script src="../../assets/underscore-min.js"></script> + + <script src="../../assets/sequence-diagram.min.js"></script> + + <script src="../../assets/js-sequence.js"></script> + + + + </body> +</html>
\ No newline at end of file diff --git a/public/docs/Scripting/Strip/index.html b/public/docs/Scripting/Strip/index.html new file mode 100644 index 0000000..d17627c --- /dev/null +++ b/public/docs/Scripting/Strip/index.html @@ -0,0 +1,1207 @@ + +<!doctype html> +<html lang="en" class="no-js"> + <head> + + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width,initial-scale=1"> + + + + <link rel="icon" href="../../assets/images/favicon.png"> + <meta name="generator" content="mkdocs-1.4.2, mkdocs-material-8.5.10"> + + + + <title>Strip - Luxcena Neo Documentation</title> + + + + <link rel="stylesheet" href="../../assets/stylesheets/main.975780f9.min.css"> + + + <link rel="stylesheet" href="../../assets/stylesheets/palette.2505c338.min.css"> + + + + + + + + + + + <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> + <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"> + <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style> + + + + <link rel="stylesheet" href="../../assets/_mkdocstrings.css"> + + <link rel="stylesheet" href="../../assets/luxcena-colors.css"> + + <script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script> + + + + + + + </head> + + + + + + + + <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="None" data-md-color-accent="None"> + + + + <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off"> + <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off"> + <label class="md-overlay" for="__drawer"></label> + <div data-md-component="skip"> + + + <a href="#documentation-for-strip" class="md-skip"> + Skip to content + </a> + + </div> + <div data-md-component="announce"> + + </div> + + + + +<header class="md-header" data-md-component="header"> + <nav class="md-header__inner md-grid" aria-label="Header"> + <a href="../.." title="Luxcena Neo Documentation" class="md-header__button md-logo" aria-label="Luxcena Neo Documentation" data-md-component="logo"> + + + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg> + + </a> + <label class="md-header__button md-icon" for="__drawer"> + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> + </label> + <div class="md-header__title" data-md-component="header-title"> + <div class="md-header__ellipsis"> + <div class="md-header__topic"> + <span class="md-ellipsis"> + Luxcena Neo Documentation + </span> + </div> + <div class="md-header__topic" data-md-component="header-topic"> + <span class="md-ellipsis"> + + Strip + + </span> + </div> + </div> + </div> + + + + + </nav> + +</header> + + <div class="md-container" data-md-component="container"> + + + + + + + <main class="md-main" data-md-component="main"> + <div class="md-main__inner md-grid"> + + + + <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" > + <div class="md-sidebar__scrollwrap"> + <div class="md-sidebar__inner"> + + + +<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0"> + <label class="md-nav__title" for="__drawer"> + <a href="../.." title="Luxcena Neo Documentation" class="md-nav__button md-logo" aria-label="Luxcena Neo Documentation" data-md-component="logo"> + + + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg> + + </a> + Luxcena Neo Documentation + </label> + + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + + <li class="md-nav__item"> + <a href="../.." class="md-nav__link"> + Introduction + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../FuturePlan/" class="md-nav__link"> + Plan for the future + </a> + </li> + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" > + + + + + <label class="md-nav__link" for="__nav_3"> + Usage + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" aria-label="Usage" data-md-level="1"> + <label class="md-nav__title" for="__nav_3"> + <span class="md-nav__icon md-icon"></span> + Usage + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + <li class="md-nav__item"> + <a href="../../Usage/Install/" class="md-nav__link"> + Install + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> + <a href="../../Usage/Configuration/" class="md-nav__link"> + Configuration + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> + <a href="../../Usage/CLI/" class="md-nav__link"> + CLI + </a> + </li> + + + + + </ul> + </nav> + </li> + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--active md-nav__item--nested"> + + + <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" checked> + + + + + <label class="md-nav__link" for="__nav_4"> + Scripting + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" aria-label="Scripting" data-md-level="1"> + <label class="md-nav__title" for="__nav_4"> + <span class="md-nav__icon md-icon"></span> + Scripting + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + + <li class="md-nav__item md-nav__item--active"> + + <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc"> + + + + + + <label class="md-nav__link md-nav__link--active" for="__toc"> + Strip + <span class="md-nav__icon md-icon"></span> + </label> + + <a href="./" class="md-nav__link md-nav__link--active"> + Strip + </a> + + + +<nav class="md-nav md-nav--secondary" aria-label="Table of contents"> + + + + + + + <label class="md-nav__title" for="__toc"> + <span class="md-nav__icon md-icon"></span> + Table of contents + </label> + <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> + + <li class="md-nav__item"> + <a href="#luxcena_neo.strip.Strip" class="md-nav__link"> + Strip + </a> + + <nav class="md-nav" aria-label="Strip"> + <ul class="md-nav__list"> + + <li class="md-nav__item"> + <a href="#luxcena_neo.strip.Strip.brightness" class="md-nav__link"> + brightness + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.strip.Strip.power_on" class="md-nav__link"> + power_on + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.strip.Strip.blank" class="md-nav__link"> + blank() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.strip.Strip.get_pixel_color" class="md-nav__link"> + get_pixel_color() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.strip.Strip.get_pixels" class="md-nav__link"> + get_pixels() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.strip.Strip.num_pixels" class="md-nav__link"> + num_pixels() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.strip.Strip.set_pixel_color" class="md-nav__link"> + set_pixel_color() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.strip.Strip.set_pixel_color_XY" class="md-nav__link"> + set_pixel_color_XY() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.strip.Strip.set_segment_color" class="md-nav__link"> + set_segment_color() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.strip.Strip.set_strip_color" class="md-nav__link"> + set_strip_color() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.strip.Strip.show" class="md-nav__link"> + show() + </a> + +</li> + + </ul> + </nav> + +</li> + + <li class="md-nav__item"> + <a href="#a-note-on-colors" class="md-nav__link"> + A note on colors + </a> + +</li> + + </ul> + +</nav> + + </li> + + + + + + + + + + <li class="md-nav__item"> + <a href="../NeoBehaviour/" class="md-nav__link"> + Main interface + </a> + </li> + + + + + </ul> + </nav> + </li> + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" > + + + + + <label class="md-nav__link" for="__nav_5"> + Code Documentation + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" aria-label="Code Documentation" data-md-level="1"> + <label class="md-nav__title" for="__nav_5"> + <span class="md-nav__icon md-icon"></span> + Code Documentation + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + <li class="md-nav__item"> + <a href="../../Code%20Documentation/Run/" class="md-nav__link"> + Run + </a> + </li> + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5_2" type="checkbox" id="__nav_5_2" > + + + + + <label class="md-nav__link" for="__nav_5_2"> + API + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" aria-label="API" data-md-level="2"> + <label class="md-nav__title" for="__nav_5_2"> + <span class="md-nav__icon md-icon"></span> + API + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + <li class="md-nav__item"> + <a href="../../Code%20Documentation/SocketIO/" class="md-nav__link"> + Socket-IO + </a> + </li> + + + + + </ul> + </nav> + </li> + + + + + </ul> + </nav> + </li> + + + + </ul> +</nav> + </div> + </div> + </div> + + + + <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" > + <div class="md-sidebar__scrollwrap"> + <div class="md-sidebar__inner"> + + +<nav class="md-nav md-nav--secondary" aria-label="Table of contents"> + + + + + + + <label class="md-nav__title" for="__toc"> + <span class="md-nav__icon md-icon"></span> + Table of contents + </label> + <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> + + <li class="md-nav__item"> + <a href="#luxcena_neo.strip.Strip" class="md-nav__link"> + Strip + </a> + + <nav class="md-nav" aria-label="Strip"> + <ul class="md-nav__list"> + + <li class="md-nav__item"> + <a href="#luxcena_neo.strip.Strip.brightness" class="md-nav__link"> + brightness + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.strip.Strip.power_on" class="md-nav__link"> + power_on + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.strip.Strip.blank" class="md-nav__link"> + blank() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.strip.Strip.get_pixel_color" class="md-nav__link"> + get_pixel_color() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.strip.Strip.get_pixels" class="md-nav__link"> + get_pixels() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.strip.Strip.num_pixels" class="md-nav__link"> + num_pixels() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.strip.Strip.set_pixel_color" class="md-nav__link"> + set_pixel_color() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.strip.Strip.set_pixel_color_XY" class="md-nav__link"> + set_pixel_color_XY() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.strip.Strip.set_segment_color" class="md-nav__link"> + set_segment_color() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.strip.Strip.set_strip_color" class="md-nav__link"> + set_strip_color() + </a> + +</li> + + <li class="md-nav__item"> + <a href="#luxcena_neo.strip.Strip.show" class="md-nav__link"> + show() + </a> + +</li> + + </ul> + </nav> + +</li> + + <li class="md-nav__item"> + <a href="#a-note-on-colors" class="md-nav__link"> + A note on colors + </a> + +</li> + + </ul> + +</nav> + </div> + </div> + </div> + + + + <div class="md-content" data-md-component="content"> + <article class="md-content__inner md-typeset"> + + + + +<h1 id="documentation-for-strip">Documentation for <code>strip</code></h1> + + +<div class="doc doc-object doc-class"> + + + +<h2 id="luxcena_neo.strip.Strip" class="doc doc-heading"> + <code>luxcena_neo.strip.Strip</code> + + +</h2> + + + <div class="doc doc-contents first"> + + + <p>Class representing a led-strip,</p> +<p>If you are using the NeoBehaviour runtime, an pre-configured instance of this will +be setup in your module with the name <code>strip</code>.</p> + + <p><strong>Attributes:</strong></p> + <table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>SEGMENTS</code></td> + <td> + <code>list[int]</code> + </td> + <td><p>A list of the configured segments.</p></td> + </tr> + </tbody> + </table> + + + + + + <div class="doc doc-children"> + + + + + + + +<div class="doc doc-object doc-attribute"> + + + +<h3 id="luxcena_neo.strip.Strip.brightness" class="doc doc-heading"> +<code class="codehilite language-python"><span class="n">brightness</span></code> + + <span class="doc doc-labels"> + <small class="doc doc-label doc-label-writable"><code>writable</code></small> + <small class="doc doc-label doc-label-property"><code>property</code></small> + </span> + +</h3> + + + <div class="doc doc-contents "> + + <p>The current brightness.</p> + </div> + +</div> + +<div class="doc doc-object doc-attribute"> + + + +<h3 id="luxcena_neo.strip.Strip.power_on" class="doc doc-heading"> +<code class="codehilite language-python"><span class="n">power_on</span></code> + + <span class="doc doc-labels"> + <small class="doc doc-label doc-label-writable"><code>writable</code></small> + <small class="doc doc-label doc-label-property"><code>property</code></small> + </span> + +</h3> + + + <div class="doc doc-contents "> + + <p>Wether the power action is on or not.</p> + </div> + +</div> + + + +<div class="doc doc-object doc-function"> + + + +<h3 id="luxcena_neo.strip.Strip.blank" class="doc doc-heading"> +<code class="codehilite language-python"><span class="n">blank</span><span class="p">(</span><span class="n">auto_show</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span></code> + +</h3> + + + <div class="doc doc-contents "> + + <p>Will turn off all pixels.</p> + + <p><strong>Parameters:</strong></p> + <table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Default</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>auto_show</code></td> + <td> + <code>bool</code> + </td> + <td><p>If set to true, strip.show() is called. Disable this if needed for some quicker animations.</p></td> + <td> + <code>True</code> + </td> + </tr> + </tbody> + </table> + + </div> + +</div> + +<div class="doc doc-object doc-function"> + + + +<h3 id="luxcena_neo.strip.Strip.get_pixel_color" class="doc doc-heading"> +<code class="codehilite language-python"><span class="n">get_pixel_color</span><span class="p">(</span><span class="n">n</span><span class="p">)</span></code> + +</h3> + + + <div class="doc doc-contents "> + + <p>Get the 24-bit RGB color value for the LED at position n.</p> + + </div> + +</div> + +<div class="doc doc-object doc-function"> + + + +<h3 id="luxcena_neo.strip.Strip.get_pixels" class="doc doc-heading"> +<code class="codehilite language-python"><span class="n">get_pixels</span><span class="p">()</span></code> + +</h3> + + + <div class="doc doc-contents "> + + <p>Return an object which allows access to the LED display data as if +it were a sequence of 24-bit RGB values.</p> + + </div> + +</div> + +<div class="doc doc-object doc-function"> + + + +<h3 id="luxcena_neo.strip.Strip.num_pixels" class="doc doc-heading"> +<code class="codehilite language-python"><span class="n">num_pixels</span><span class="p">()</span></code> + +</h3> + + + <div class="doc doc-contents "> + + <p>Return the number of pixels in the display.</p> + + </div> + +</div> + +<div class="doc doc-object doc-function"> + + + +<h3 id="luxcena_neo.strip.Strip.set_pixel_color" class="doc doc-heading"> +<code class="codehilite language-python"><span class="n">set_pixel_color</span><span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="o">*</span><span class="n">color</span><span class="p">)</span></code> + +</h3> + + + <div class="doc doc-contents "> + + <p>Set the color of the LED at position N.</p> + + <p><strong>Parameters:</strong></p> + <table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Default</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>n</code></td> + <td> + <code>int</code> + </td> + <td><p>The pixel to set.</p></td> + <td> + <em>required</em> + </td> + </tr> + <tr> + <td><code>*color</code></td> + <td> + </td> + <td><p>This will be interpreted as a color.</p></td> + <td> + <code>()</code> + </td> + </tr> + </tbody> + </table> + + </div> + +</div> + +<div class="doc doc-object doc-function"> + + + +<h3 id="luxcena_neo.strip.Strip.set_pixel_color_XY" class="doc doc-heading"> +<code class="codehilite language-python"><span class="n">set_pixel_color_XY</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="o">*</span><span class="n">color</span><span class="p">)</span></code> + +</h3> + + + <div class="doc doc-contents "> + + <p>Set the color of a LED at position (x, y) in the matrix you have configured to a color.</p> +<p>Note: This will only print a warning message if you try to set pixels outside the matrix.</p> + + <p><strong>Parameters:</strong></p> + <table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Default</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>x</code></td> + <td> + <code>int</code> + </td> + <td><p>The x position.</p></td> + <td> + <em>required</em> + </td> + </tr> + <tr> + <td><code>y</code></td> + <td> + <code>int</code> + </td> + <td><p>The y position.</p></td> + <td> + <em>required</em> + </td> + </tr> + <tr> + <td><code>*color</code></td> + <td> + </td> + <td><p>This will be interpreted as a color.</p></td> + <td> + <code>()</code> + </td> + </tr> + </tbody> + </table> + + </div> + +</div> + +<div class="doc doc-object doc-function"> + + + +<h3 id="luxcena_neo.strip.Strip.set_segment_color" class="doc doc-heading"> +<code class="codehilite language-python"><span class="n">set_segment_color</span><span class="p">(</span><span class="n">segment</span><span class="p">,</span> <span class="o">*</span><span class="n">color</span><span class="p">)</span></code> + +</h3> + + + <div class="doc doc-contents "> + + <p>Set a whole segment to the provided color.</p> + + <p><strong>Parameters:</strong></p> + <table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Default</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>segment</code></td> + <td> + <code>int</code> + </td> + <td><p>The segment to set.</p></td> + <td> + <em>required</em> + </td> + </tr> + <tr> + <td><code>*color</code></td> + <td> + </td> + <td><p>This will be interpreted as a color.</p></td> + <td> + <code>()</code> + </td> + </tr> + </tbody> + </table> + + </div> + +</div> + +<div class="doc doc-object doc-function"> + + + +<h3 id="luxcena_neo.strip.Strip.set_strip_color" class="doc doc-heading"> +<code class="codehilite language-python"><span class="n">set_strip_color</span><span class="p">(</span><span class="o">*</span><span class="n">color</span><span class="p">)</span></code> + +</h3> + + + <div class="doc doc-contents "> + + <p>Set all pixels in the strip to a color</p> + + <p><strong>Parameters:</strong></p> + <table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Default</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>*color</code></td> + <td> + </td> + <td><p>This will be interpreted as a color.</p></td> + <td> + <code>()</code> + </td> + </tr> + </tbody> + </table> + + </div> + +</div> + +<div class="doc doc-object doc-function"> + + + +<h3 id="luxcena_neo.strip.Strip.show" class="doc doc-heading"> +<code class="codehilite language-python"><span class="n">show</span><span class="p">()</span></code> + +</h3> + + + <div class="doc doc-contents "> + + <p>Update the display with the data from the LED buffer, you can think of it as a flush method.</p> + + </div> + +</div> + + + + </div> + + </div> + +</div><hr /> +<h2 id="a-note-on-colors">A note on colors</h2> +<p>Most methods which need colors takes a <code>*color</code> parameter. This is because it interprets multiple types of colors. The example below illustrates this, each of the lines has the exact same effect on the led strip. +<div class="highlight"><pre><span></span><code><span class="n">set_pixel_color</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="s2">"#fafafa"</span><span class="p">)</span> +<span class="n">set_pixel_color</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">16448250</span><span class="p">)</span> +<span class="n">set_pixel_color</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">250</span><span class="p">,</span> <span class="mi">250</span><span class="p">,</span> <span class="mi">250</span><span class="p">)</span> +<span class="n">set_pixel_color</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="p">(</span><span class="mi">250</span><span class="p">,</span> <span class="mi">250</span><span class="p">,</span> <span class="mi">250</span><span class="p">))</span> +</code></pre></div></p> + + + + + + + </article> + </div> + + + </div> + + </main> + + <footer class="md-footer"> + + + <nav class="md-footer__inner md-grid" aria-label="Footer" > + + + <a href="../../Usage/CLI/" class="md-footer__link md-footer__link--prev" aria-label="Previous: CLI" rel="prev"> + <div class="md-footer__button md-icon"> + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> + </div> + <div class="md-footer__title"> + <div class="md-ellipsis"> + <span class="md-footer__direction"> + Previous + </span> + CLI + </div> + </div> + </a> + + + + <a href="../NeoBehaviour/" class="md-footer__link md-footer__link--next" aria-label="Next: Main interface" rel="next"> + <div class="md-footer__title"> + <div class="md-ellipsis"> + <span class="md-footer__direction"> + Next + </span> + Main interface + </div> + </div> + <div class="md-footer__button md-icon"> + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> + </div> + </a> + + </nav> + + <div class="md-footer-meta md-typeset"> + <div class="md-footer-meta__inner md-grid"> + <div class="md-copyright"> + + + Made with + <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener"> + Material for MkDocs + </a> + +</div> + + </div> + </div> +</footer> + + </div> + <div class="md-dialog" data-md-component="dialog"> + <div class="md-dialog__inner md-typeset"></div> + </div> + + <script id="__config" type="application/json">{"base": "../..", "features": [], "search": "../../assets/javascripts/workers/search.16e2a7d4.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version.title": "Select version"}}</script> + + + <script src="../../assets/javascripts/bundle.5a2dcb6a.min.js"></script> + + <script src="../../assets/luxcena-colors.js"></script> + + <script src="../../assets/webfont.js"></script> + + <script src="../../assets/snap.svg-min.js"></script> + + <script src="../../assets/underscore-min.js"></script> + + <script src="../../assets/sequence-diagram.min.js"></script> + + <script src="../../assets/js-sequence.js"></script> + + + + </body> +</html>
\ No newline at end of file diff --git a/public/docs/Scripting/SupportLib/index.html b/public/docs/Scripting/SupportLib/index.html index 870452f..fc81557 100644 --- a/public/docs/Scripting/SupportLib/index.html +++ b/public/docs/Scripting/SupportLib/index.html @@ -1,38 +1,15 @@ - - - <!doctype html> <html lang="en" class="no-js"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> - <meta http-equiv="x-ua-compatible" content="ie=edge"> - - - - - <meta name="lang:clipboard.copy" content="Copy to clipboard"> - - <meta name="lang:clipboard.copied" content="Copied to clipboard"> - <meta name="lang:search.language" content="en"> - <meta name="lang:search.pipeline.stopwords" content="True"> - <meta name="lang:search.pipeline.trimmer" content="True"> - - <meta name="lang:search.result.none" content="No matching documents"> - - <meta name="lang:search.result.one" content="1 matching document"> - - <meta name="lang:search.result.other" content="# matching documents"> - - <meta name="lang:search.tokenizer" content="[\s\-]+"> - - <link rel="shortcut icon" href="../../assets/images/favicon.png"> - <meta name="generator" content="mkdocs-1.0.4, mkdocs-material-4.4.2"> + <link rel="icon" href="../../assets/images/favicon.png"> + <meta name="generator" content="mkdocs-1.4.2, mkdocs-material-8.5.10"> @@ -40,126 +17,127 @@ - <link rel="stylesheet" href="../../assets/stylesheets/application.30686662.css"> + <link rel="stylesheet" href="../../assets/stylesheets/main.975780f9.min.css"> + + <link rel="stylesheet" href="../../assets/stylesheets/palette.2505c338.min.css"> + + + - <script src="../../assets/javascripts/modernizr.74668098.js"></script> - - <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin> - <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"> - <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style> + + + <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> + <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"> + <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style> - <link rel="stylesheet" href="../../assets/fonts/material-icons.css"> + <link rel="stylesheet" href="../../assets/_mkdocstrings.css"> <link rel="stylesheet" href="../../assets/luxcena-colors.css"> + <script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script> + + </head> - <body dir="ltr"> - <svg class="md-svg"> - <defs> - - - </defs> - </svg> - <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off"> - <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off"> - <label class="md-overlay" data-md-component="overlay" for="__drawer"></label> - <a href="#support-library" tabindex="1" class="md-skip"> - Skip to content - </a> - <header class="md-header" data-md-component="header"> - <nav class="md-header-nav md-grid"> - <div class="md-flex"> - <div class="md-flex__cell md-flex__cell--shrink"> - <a href="../.." title="Luxcena Neo Documentation" class="md-header-nav__button md-logo"> - - <i class="md-icon"></i> - + + + <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="None" data-md-color-accent="None"> + + + + <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off"> + <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off"> + <label class="md-overlay" for="__drawer"></label> + <div data-md-component="skip"> + + + <a href="#support-library" class="md-skip"> + Skip to content </a> - </div> - <div class="md-flex__cell md-flex__cell--shrink"> - <label class="md-icon md-icon--menu md-header-nav__button" for="__drawer"></label> - </div> - <div class="md-flex__cell md-flex__cell--stretch"> - <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title"> - - <span class="md-header-nav__topic"> - Luxcena Neo Documentation - </span> - <span class="md-header-nav__topic"> - - Support Library - - </span> - + + </div> + <div data-md-component="announce"> + + </div> + + + + +<header class="md-header" data-md-component="header"> + <nav class="md-header__inner md-grid" aria-label="Header"> + <a href="../.." title="Luxcena Neo Documentation" class="md-header__button md-logo" aria-label="Luxcena Neo Documentation" data-md-component="logo"> + + + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg> + + </a> + <label class="md-header__button md-icon" for="__drawer"> + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> + </label> + <div class="md-header__title" data-md-component="header-title"> + <div class="md-header__ellipsis"> + <div class="md-header__topic"> + <span class="md-ellipsis"> + Luxcena Neo Documentation + </span> </div> - </div> - <div class="md-flex__cell md-flex__cell--shrink"> - - <label class="md-icon md-icon--search md-header-nav__button" for="__search"></label> - -<div class="md-search" data-md-component="search" role="dialog"> - <label class="md-search__overlay" for="__search"></label> - <div class="md-search__inner" role="search"> - <form class="md-search__form" name="search"> - <input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active"> - <label class="md-icon md-search__icon" for="__search"></label> - <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1"> -  - </button> - </form> - <div class="md-search__output"> - <div class="md-search__scrollwrap" data-md-scrollfix> - <div class="md-search-result" data-md-component="result"> - <div class="md-search-result__meta"> - Type to start searching - </div> - <ol class="md-search-result__list"></ol> + <div class="md-header__topic" data-md-component="header-topic"> + <span class="md-ellipsis"> + + Support Library + + </span> </div> </div> </div> - </div> -</div> - - </div> - - </div> + + + + </nav> + </header> - <div class="md-container"> + <div class="md-container" data-md-component="container"> - + + + - <main class="md-main" role="main"> - <div class="md-main__inner md-grid" data-md-component="container"> + <main class="md-main" data-md-component="main"> + <div class="md-main__inner md-grid"> - <div class="md-sidebar md-sidebar--primary" data-md-component="navigation"> + + <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" > <div class="md-sidebar__scrollwrap"> <div class="md-sidebar__inner"> - <nav class="md-nav md-nav--primary" data-md-level="0"> - <label class="md-nav__title md-nav__title--site" for="__drawer"> - <a href="../.." title="Luxcena Neo Documentation" class="md-nav__button md-logo"> - - <i class="md-icon"></i> + + + +<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0"> + <label class="md-nav__title" for="__drawer"> + <a href="../.." title="Luxcena Neo Documentation" class="md-nav__button md-logo" aria-label="Luxcena Neo Documentation" data-md-component="logo"> + + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg> + </a> Luxcena Neo Documentation </label> @@ -170,220 +148,351 @@ - - <li class="md-nav__item"> - <a href="../.." title="Introduction" class="md-nav__link"> - Introduction - </a> - </li> + + + + <li class="md-nav__item"> + <a href="../.." class="md-nav__link"> + Introduction + </a> + </li> + - - <li class="md-nav__item"> - <a href="../../FuturePlan/" title="Plan for the future" class="md-nav__link"> - Plan for the future - </a> - </li> + + + + <li class="md-nav__item"> + <a href="../../FuturePlan/" class="md-nav__link"> + Plan for the future + </a> + </li> + - - <li class="md-nav__item md-nav__item--nested"> - - <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3"> + + + - <label class="md-nav__link" for="nav-3"> - Usage - </label> - <nav class="md-nav" data-md-component="collapsible" data-md-level="1"> - <label class="md-nav__title" for="nav-3"> - Usage - </label> - <ul class="md-nav__list" data-md-scrollfix> - - - - + <li class="md-nav__item md-nav__item--nested"> + + + <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" > + + + + + <label class="md-nav__link" for="__nav_3"> + Usage + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" aria-label="Usage" data-md-level="1"> + <label class="md-nav__title" for="__nav_3"> + <span class="md-nav__icon md-icon"></span> + Usage + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + <li class="md-nav__item"> + <a href="../../Usage/Install/" class="md-nav__link"> + Install + </a> + </li> + - - <li class="md-nav__item"> - <a href="../../Usage/Install/" title="Install" class="md-nav__link"> - Install - </a> - </li> - - - - + + + + + + + <li class="md-nav__item"> + <a href="../../Usage/Configuration/" class="md-nav__link"> + Configuration + </a> + </li> + - - <li class="md-nav__item"> - <a href="../../Usage/Configuration/" title="Configuration" class="md-nav__link"> - Configuration - </a> - </li> - - - - + + + + + + + <li class="md-nav__item"> + <a href="../../Usage/CLI/" class="md-nav__link"> + CLI + </a> + </li> + + + + </ul> + </nav> + </li> + - <li class="md-nav__item"> - <a href="../../Usage/CLI/" title="CLI" class="md-nav__link"> - CLI - </a> - </li> - - - </ul> - </nav> - </li> + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" > + + + <label class="md-nav__link" for="__nav_4"> + Scripting + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" aria-label="Scripting" data-md-level="1"> + <label class="md-nav__title" for="__nav_4"> + <span class="md-nav__icon md-icon"></span> + Scripting + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + <li class="md-nav__item"> + <a href="../Strip/" class="md-nav__link"> + Strip + </a> + </li> + + + + + + + + + <li class="md-nav__item"> + <a href="../NeoBehaviour/" class="md-nav__link"> + Main interface + </a> + </li> + + + </ul> + </nav> + </li> + - <li class="md-nav__item md-nav__item--active md-nav__item--nested"> - <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4" checked> + + + + + + + - <label class="md-nav__link" for="nav-4"> - Scripting - </label> - <nav class="md-nav" data-md-component="collapsible" data-md-level="1"> - <label class="md-nav__title" for="nav-4"> - Scripting - </label> - <ul class="md-nav__list" data-md-scrollfix> - - + <li class="md-nav__item md-nav__item--nested"> + + + <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" > + + + + + <label class="md-nav__link" for="__nav_5"> + Code Documentation + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" aria-label="Code Documentation" data-md-level="1"> + <label class="md-nav__title" for="__nav_5"> + <span class="md-nav__icon md-icon"></span> + Code Documentation + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + <li class="md-nav__item"> + <a href="../../Code%20Documentation/Run/" class="md-nav__link"> + Run + </a> + </li> + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5_2" type="checkbox" id="__nav_5_2" > + + + + + <label class="md-nav__link" for="__nav_5_2"> + API + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" aria-label="API" data-md-level="2"> + <label class="md-nav__title" for="__nav_5_2"> + <span class="md-nav__icon md-icon"></span> + API + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + <li class="md-nav__item"> + <a href="../../Code%20Documentation/SocketIO/" class="md-nav__link"> + Socket-IO + </a> + </li> + + + + </ul> + </nav> + </li> + + + </ul> + </nav> + </li> + - <li class="md-nav__item md-nav__item--active"> - - <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc"> - - - - - <label class="md-nav__link md-nav__link--active" for="__toc"> - Support Library - </label> - <a href="./" title="Support Library" class="md-nav__link md-nav__link--active"> - Support Library - </a> - - -<nav class="md-nav md-nav--secondary"> + </ul> +</nav> + </div> + </div> + </div> + + + + <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" > + <div class="md-sidebar__scrollwrap"> + <div class="md-sidebar__inner"> + + +<nav class="md-nav md-nav--secondary" aria-label="Table of contents"> + - <label class="md-nav__title" for="__toc">Table of contents</label> - <ul class="md-nav__list" data-md-scrollfix> + <label class="md-nav__title" for="__toc"> + <span class="md-nav__icon md-icon"></span> + Table of contents + </label> + <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> <li class="md-nav__item"> - <a href="#class-strip" class="md-nav__link"> - class Strip + <a href="#class-neobehaviour" class="md-nav__link"> + class NeoBehaviour </a> - <nav class="md-nav"> + <nav class="md-nav" aria-label="class NeoBehaviour"> <ul class="md-nav__list"> <li class="md-nav__item"> - <a href="#stripshow" class="md-nav__link"> - Strip.show() - </a> - -</li> - - <li class="md-nav__item"> - <a href="#stripsetpixelcolorn-color" class="md-nav__link"> - Strip.setPixelColor(n, color) - </a> - -</li> - - <li class="md-nav__item"> - <a href="#stripsetpixelcolorxyx-y-color" class="md-nav__link"> - Strip.setPixelColorXY(x, y, color) - </a> - -</li> - - <li class="md-nav__item"> - <a href="#stripsetpixelcolorrgbn-red-green-blue-white-0" class="md-nav__link"> - Strip.setPixelColorRGB(n, red, green, blue, white = 0) + <a href="#def-declare_variablesself" class="md-nav__link"> + def declare_variables(self) </a> </li> <li class="md-nav__item"> - <a href="#stripsetpixelcolorxyrgbx-y-red-green-blue-white-0" class="md-nav__link"> - Strip.setPixelColorXYRGB(x, y, red, green, blue, white = 0) + <a href="#def-on_startself" class="md-nav__link"> + def on_start(self) </a> </li> <li class="md-nav__item"> - <a href="#stripsetsegmentcolorrgbsegment-red-green-blue-white-0" class="md-nav__link"> - Strip.setSegmentColorRGB(segment, red, green, blue, white = 0) + <a href="#def-each_tickself" class="md-nav__link"> + def each_tick(self): </a> </li> <li class="md-nav__item"> - <a href="#stripsetbrightnessbrightness" class="md-nav__link"> - Strip.setBrightness(brightness) + <a href="#def-each_secondself" class="md-nav__link"> + def each_second(self): </a> </li> <li class="md-nav__item"> - <a href="#stripgetbrightness" class="md-nav__link"> - Strip.getBrightness(): + <a href="#def-each_minuteself" class="md-nav__link"> + def each_minute(self): </a> </li> <li class="md-nav__item"> - <a href="#stripgetpixels" class="md-nav__link"> - Strip.getPixels(): + <a href="#def-each_hourself" class="md-nav__link"> + def each_hour(self): </a> </li> <li class="md-nav__item"> - <a href="#stripnumpixels" class="md-nav__link"> - Strip.numPixels(): + <a href="#def-each_dayself" class="md-nav__link"> + def each_day(self): </a> </li> <li class="md-nav__item"> - <a href="#stripgetpixelcolorn" class="md-nav__link"> - Strip.getPixelColor(n) + <a href="#deltatime" class="md-nav__link"> + deltatime </a> </li> @@ -394,319 +503,102 @@ </li> <li class="md-nav__item"> - <a href="#colorred-green-blue-white-0" class="md-nav__link"> - Color(red, green, blue, white = 0) - </a> - -</li> - - <li class="md-nav__item"> - <a href="#hexcolorvalue" class="md-nav__link"> - hexColor(value) - </a> - -</li> - - - - - - </ul> - -</nav> - - </li> - - - - - - - - <li class="md-nav__item md-nav__item--nested"> - - <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-2" type="checkbox" id="nav-4-2"> - - <label class="md-nav__link" for="nav-4-2"> - Examples - </label> - <nav class="md-nav" data-md-component="collapsible" data-md-level="2"> - <label class="md-nav__title" for="nav-4-2"> - Examples - </label> - <ul class="md-nav__list" data-md-scrollfix> - - - - - - - - <li class="md-nav__item"> - <a href="../Examples/strandtest/" title="Strandtest" class="md-nav__link"> - Strandtest - </a> - </li> - - - </ul> - </nav> - </li> - - - </ul> - </nav> - </li> - - - - - - - - <li class="md-nav__item md-nav__item--nested"> - - <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5"> - - <label class="md-nav__link" for="nav-5"> - Code Documentation - </label> - <nav class="md-nav" data-md-component="collapsible" data-md-level="1"> - <label class="md-nav__title" for="nav-5"> - Code Documentation - </label> - <ul class="md-nav__list" data-md-scrollfix> - - - - - - - - <li class="md-nav__item md-nav__item--nested"> - - <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5-1" type="checkbox" id="nav-5-1"> - - <label class="md-nav__link" for="nav-5-1"> - Modules - </label> - <nav class="md-nav" data-md-component="collapsible" data-md-level="2"> - <label class="md-nav__title" for="nav-5-1"> - Modules - </label> - <ul class="md-nav__list" data-md-scrollfix> - - - - - - - - <li class="md-nav__item"> - <a href="../../Code Documentation/Modules/CompileAndRun/" title="CompileAndRun" class="md-nav__link"> - CompileAndRun - </a> - </li> - - - </ul> - </nav> - </li> - - - - - - - - <li class="md-nav__item"> - <a href="../../Code Documentation/Run/" title="Run" class="md-nav__link"> - Run - </a> - </li> - - - - - - - - <li class="md-nav__item"> - <a href="../../Code Documentation/Design/" title="Design" class="md-nav__link"> - Design - </a> - </li> - - - - - - - - <li class="md-nav__item md-nav__item--nested"> - - <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5-4" type="checkbox" id="nav-5-4"> - - <label class="md-nav__link" for="nav-5-4"> - API - </label> - <nav class="md-nav" data-md-component="collapsible" data-md-level="2"> - <label class="md-nav__title" for="nav-5-4"> - API - </label> - <ul class="md-nav__list" data-md-scrollfix> - - - - - - - - <li class="md-nav__item"> - <a href="../../Code Documentation/SocketIO/" title="Socket-IO" class="md-nav__link"> - Socket-IO - </a> - </li> - - - </ul> - </nav> - </li> - - - </ul> - </nav> - </li> - - - </ul> -</nav> - </div> - </div> - </div> - - - <div class="md-sidebar md-sidebar--secondary" data-md-component="toc"> - <div class="md-sidebar__scrollwrap"> - <div class="md-sidebar__inner"> - -<nav class="md-nav md-nav--secondary"> - - - - - - <label class="md-nav__title" for="__toc">Table of contents</label> - <ul class="md-nav__list" data-md-scrollfix> - - <li class="md-nav__item"> <a href="#class-strip" class="md-nav__link"> class Strip </a> - <nav class="md-nav"> + <nav class="md-nav" aria-label="class Strip"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#stripshow" class="md-nav__link"> - Strip.show() + strip.show() </a> </li> <li class="md-nav__item"> - <a href="#stripsetpixelcolorn-color" class="md-nav__link"> - Strip.setPixelColor(n, color) + <a href="#stripset_pixel_colorn-color" class="md-nav__link"> + strip.set_pixel_color(n, *color) </a> </li> <li class="md-nav__item"> - <a href="#stripsetpixelcolorxyx-y-color" class="md-nav__link"> - Strip.setPixelColorXY(x, y, color) + <a href="#stripset_pixel_color_xyx-y-color" class="md-nav__link"> + strip.set_pixel_color_XY(x, y, *color) </a> </li> <li class="md-nav__item"> - <a href="#stripsetpixelcolorrgbn-red-green-blue-white-0" class="md-nav__link"> - Strip.setPixelColorRGB(n, red, green, blue, white = 0) + <a href="#stripset_segment_colorsegment-color" class="md-nav__link"> + strip.set_segment_color(segment, *color) </a> </li> <li class="md-nav__item"> - <a href="#stripsetpixelcolorxyrgbx-y-red-green-blue-white-0" class="md-nav__link"> - Strip.setPixelColorXYRGB(x, y, red, green, blue, white = 0) + <a href="#stripget_pixels" class="md-nav__link"> + strip.get_pixels(): </a> </li> <li class="md-nav__item"> - <a href="#stripsetsegmentcolorrgbsegment-red-green-blue-white-0" class="md-nav__link"> - Strip.setSegmentColorRGB(segment, red, green, blue, white = 0) + <a href="#stripnum_pixels" class="md-nav__link"> + strip.num_pixels(): </a> </li> <li class="md-nav__item"> - <a href="#stripsetbrightnessbrightness" class="md-nav__link"> - Strip.setBrightness(brightness) + <a href="#stripget_pixel_colorn" class="md-nav__link"> + strip.get_pixel_color(n) </a> </li> - <li class="md-nav__item"> - <a href="#stripgetbrightness" class="md-nav__link"> - Strip.getBrightness(): - </a> + </ul> + </nav> </li> - - <li class="md-nav__item"> - <a href="#stripgetpixels" class="md-nav__link"> - Strip.getPixels(): + + <li class="md-nav__item"> + <a href="#color" class="md-nav__link"> + `*color`` </a> </li> - - <li class="md-nav__item"> - <a href="#stripnumpixels" class="md-nav__link"> - Strip.numPixels(): + + <li class="md-nav__item"> + <a href="#utilshex_to_rgbvalue" class="md-nav__link"> + utils.hex_to_rgb(value) </a> </li> - - <li class="md-nav__item"> - <a href="#stripgetpixelcolorn" class="md-nav__link"> - Strip.getPixelColor(n) + + <li class="md-nav__item"> + <a href="#utilsrgb_to_hexrgb" class="md-nav__link"> + utils.rgb_to_hex(rgb) </a> </li> - - </ul> - </nav> - -</li> <li class="md-nav__item"> - <a href="#colorred-green-blue-white-0" class="md-nav__link"> - Color(red, green, blue, white = 0) + <a href="#utilsrgb_from_twentyfour_bitcolor" class="md-nav__link"> + utils.rgb_from_twentyfour_bit(color) </a> </li> <li class="md-nav__item"> - <a href="#hexcolorvalue" class="md-nav__link"> - hexColor(value) + <a href="#utilsrgb_from_twentyfour_bitcolor_1" class="md-nav__link"> + utils.rgb_from_twentyfour_bit(color) </a> </li> - - - - </ul> </nav> @@ -715,134 +607,144 @@ </div> - <div class="md-content"> - <article class="md-content__inner md-typeset"> - - + + <div class="md-content" data-md-component="content"> + <article class="md-content__inner md-typeset"> - <h1 id="support-library">Support Library</h1> + + + +<h1 id="support-library">Support Library</h1> +<p>The script/mode file has to contain a <code>Main</code> class, which is inherited from <code>NeoBehaviour</code> like this: +<div class="highlight"><pre><span></span><code><span class="kn">from</span> <span class="nn">luxcena_neo</span> <span class="kn">import</span> <span class="n">NeoBehaviour</span> + +<span class="k">class</span> <span class="nc">Main</span><span class="p">(</span><span class="n">NeoBehaviour</span><span class="p">):</span> + <span class="k">def</span> <span class="nf">on_start</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="n">strip</span><span class="o">.</span><span class="n">setPixelColor</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="s2">"#fafafa"</span><span class="p">)</span> +</code></pre></div> +The <code>strip</code> will be available anywhere in your script whe it is started using <code>neo_runtime</code>.</p> +<hr /> +<h2 id="class-neobehaviour"><code>class</code> NeoBehaviour</h2> +<p>This is the class your <code>Main</code> should inherit from. +This has some special methods that you can override.</p> +<p><em>NOTE:</em> Do not override <code>__init__</code> unless you know +what you are doing! This contains code that +is crucial for <code>neo_runtime</code>.</p> +<h3 id="def-declare_variablesself">def declare_variables(<code>self</code>)</h3> +<p>When the runtime executes this, the method <code>self.declare(Variable)</code> is available. This is where +you can add variables that show up in the UI. +Take a look at the <code>Variable</code> class further down on this site.</p> +<h3 id="def-on_startself">def on_start(<code>self</code>)</h3> +<p>This is run once at the start of the program. This is a logical place +to initialize variables where you need to remember state, but you +don't want to put the variable in the UI.</p> +<h3 id="def-each_tickself">def each_tick(self):</h3> +<p>This will run as often as possible. If nothing else happens, it will run every one millisecond.</p> +<h3 id="def-each_secondself">def each_second(self):</h3> +<p>This will run at most once a second, it might be longer if some other function is doing some work that takes a long time (more that a second).</p> +<h3 id="def-each_minuteself">def each_minute(self):</h3> +<p>This will run at most once a minute, it might be longer if some other function is doing some work that takes a long time (more that a minute).</p> +<h3 id="def-each_hourself">def each_hour(self):</h3> +<p>This will run at most once a hour, it might be longer if some other function is doing some work that takes a long time (more that a hour).</p> +<h3 id="def-each_dayself">def each_day(self):</h3> +<p>This will run at most once a day, it might be longer if some other function is doing some work that takes a long time (more that a day).</p> +<h3 id="deltatime">deltatime</h3> +<p>For each of the <code>each_</code> methods, you can add a second argument to the +definition. If you do, that will be the time in seconds since last time +the function ran. +<div class="highlight"><pre><span></span><code><span class="k">def</span> <span class="nf">each_tick</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dt</span><span class="p">):</span> + <span class="nb">print</span><span class="p">(</span><span class="n">dt</span><span class="p">)</span> +<span class="k">def</span> <span class="nf">each_minute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">deltatime</span><span class="p">):</span> + <span class="nb">print</span><span class="p">(</span><span class="n">dt</span><span class="p">)</span> +</code></pre></div> +The name of the parameter doesn't matter. For the example above, +in an ideal world, this would print <code>0.1</code> every millisecond, and <code>60</code> every minute. Because the world isnt ideal, the deltatime is likely +going to be slightly longer than the ideal.</p> <hr /> -<h2 id="class-strip"><code class="codehilite"><span class="k">class</span></code> Strip</h2> +<h2 id="class-strip"><code>class</code> Strip</h2> <p>This is the object you are refeering to when you want to do things with LED's. You shouldn't have to do instantiate your own new strip-object as you can use the one -set up by the software itself. -<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span>1 -2 -3</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="n">LuxcenaNeo</span><span class="o">.</span><span class="n">strip</span> -<span class="ow">or</span> -<span class="n">neo</span><span class="o">.</span><span class="n">strip</span> -</pre></div> -</td></tr></table></p> -<h3 id="stripshow">Strip.show()</h3> +set up by the software itself.</p> +<h3 id="stripshow">strip.show()</h3> <p>Display all the changes made to the LEDs, on the actual LEDs.</p> -<h3 id="stripsetpixelcolorn-color">Strip.setPixelColor(<code class="codehilite"><span class="n">n</span></code>, <code class="codehilite"><span class="n">color</span></code>)</h3> +<h3 id="stripset_pixel_colorn-color">strip.set_pixel_color(<code>n</code>, <code>*color</code>)</h3> <p>Set LED at position n to the provided 24-bit color value (in RGB order).</p> -<h3 id="stripsetpixelcolorxyx-y-color">Strip.setPixelColorXY(<code class="codehilite"><span class="n">x</span></code>, <code class="codehilite"><span class="n">y</span></code>, <code class="codehilite"><span class="n">color</span></code>)</h3> +<h3 id="stripset_pixel_color_xyx-y-color">strip.set_pixel_color_XY(<code>x</code>, <code>y</code>, <code>*color</code>)</h3> <p>Set LED at position (x, y) in the defined matrix to the provided 24-bit color value (in RGB order).</p> -<h3 id="stripsetpixelcolorrgbn-red-green-blue-white-0">Strip.setPixelColorRGB(<code class="codehilite"><span class="n">n</span></code>, <code class="codehilite"><span class="n">red</span></code>, <code class="codehilite"><span class="n">green</span></code>, <code class="codehilite"><span class="n">blue</span></code>, <code class="codehilite"><span class="n">white</span> <span class="o">=</span> <span class="mi">0</span></code>)</h3> -<p>Set LED at position n to the provided red, green, and blue color. -Each color component should be a value from 0 to 255 (where 0 is the -lowest intensity and 255 is the highest intensity).</p> -<h3 id="stripsetpixelcolorxyrgbx-y-red-green-blue-white-0">Strip.setPixelColorXYRGB(<code class="codehilite"><span class="n">x</span></code>, <code class="codehilite"><span class="n">y</span></code>, <code class="codehilite"><span class="n">red</span></code>, <code class="codehilite"><span class="n">green</span></code>, <code class="codehilite"><span class="n">blue</span></code>, <code class="codehilite"><span class="n">white</span> <span class="o">=</span> <span class="mi">0</span></code>)</h3> -<p>Set LED at position (x, y) in the defined matrix to the provided red, green, and blue color. -Each color component should be a value from 0 to 255 (where 0 is the -lowest intensity and 255 is the highest intensity).</p> -<h3 id="stripsetsegmentcolorrgbsegment-red-green-blue-white-0">Strip.setSegmentColorRGB(<code class="codehilite"><span class="n">segment</span></code>, <code class="codehilite"><span class="n">red</span></code>, <code class="codehilite"><span class="n">green</span></code>, <code class="codehilite"><span class="n">blue</span></code>, <code class="codehilite"><span class="n">white</span> <span class="o">=</span> <span class="mi">0</span></code>)</h3> +<h3 id="stripset_segment_colorsegment-color">strip.set_segment_color(<code>segment</code>, <code>*color</code>)</h3> <p>Set a whole segment to the provided red, green and blue color. Each color component should be a value from 0 to 255 (where 0 is the lowest intensity and 255 is the highest intensity).</p> -<h3 id="stripsetbrightnessbrightness">Strip.setBrightness(<code class="codehilite"><span class="n">brightness</span></code>)</h3> -<p>Scale each LED in the buffer by the provided brightness. A brightness -of 0 is the darkest and 255 is the brightest.</p> -<h3 id="stripgetbrightness">Strip.getBrightness():</h3> -<p>Get the brightness value for each LED in the buffer. A brightness -of 0 is the darkest and 255 is the brightest.</p> -<h3 id="stripgetpixels">Strip.getPixels():</h3> +<h3 id="stripget_pixels">strip.get_pixels():</h3> <p>Return an object which allows access to the LED display data as if it were a sequence of 24-bit RGB values.</p> -<h3 id="stripnumpixels">Strip.numPixels():</h3> +<h3 id="stripnum_pixels">strip.num_pixels():</h3> <p>Return the number of pixels in the display.</p> -<h3 id="stripgetpixelcolorn">Strip.getPixelColor(<code class="codehilite"><span class="n">n</span></code>)</h3> +<h3 id="stripget_pixel_colorn">strip.get_pixel_color(<code>n</code>)</h3> <p>Get the 24-bit RGB color value for the LED at position n.</p> +<h2 id="color">`*color``</h2> +<p>All functions that take in this, will automatically parse the value provided.</p> +<p>If parameter is only a str, it will be treated as a hex value. e.g. <code>set_pixel_color(0, "#fafafa")</code> +If parameter is a tuple, the first three items in that tuple will be treated as a rgb value. e.g. <code>set_pixel_color(0, (255, 238, 10))</code> +If parameter is a int, it will be treated as a 24-bit color value. e.g. <code>set_pixel_color(0, 2812873)</code> +If there are 3 parameters, these will be treated as a rgb value. e.g. <code>set_pixel_color(0, 255, 238, 10)</code> +This means that all of these have the same effect: +<div class="highlight"><pre><span></span><code><span class="n">set_pixel_color</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="s2">"#fafafa"</span><span class="p">)</span> +<span class="n">set_pixel_color</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">16448250</span><span class="p">)</span> +<span class="n">set_pixel_color</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">250</span><span class="p">,</span> <span class="mi">250</span><span class="p">,</span> <span class="mi">250</span><span class="p">)</span> +<span class="n">set_pixel_color</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="p">(</span><span class="mi">250</span><span class="p">,</span> <span class="mi">250</span><span class="p">,</span> <span class="mi">250</span><span class="p">))</span> +</code></pre></div></p> <hr /> -<h2 id="colorred-green-blue-white-0">Color(<code class="codehilite"><span class="n">red</span></code>, <code class="codehilite"><span class="n">green</span></code>, <code class="codehilite"><span class="n">blue</span></code>, <code class="codehilite"><span class="n">white</span> <span class="o">=</span> <span class="mi">0</span></code>)</h2> -<p>Convert the provided red, green, blue color to a 24-bit color value. -Each color component should be a value 0-255 where 0 is the lowest intensity -and 255 is the highest intensity.</p> -<h2 id="hexcolorvalue">hexColor(<code class="codehilite"><span class="n">value</span></code>)</h2> -<p>Convert the provided hexadecimal color to a 24-bit color value.</p> - - - - - - +<p>These are in <code>utils</code>, can be imported with <code>from luxcena_neo import utils</code>.</p> +<h2 id="utilshex_to_rgbvalue">utils.hex_to_rgb(<code>value</code>)</h2> +<p>Convert provided hex color to a tuple with rgb colors. (r, g, b).</p> +<h2 id="utilsrgb_to_hexrgb">utils.rgb_to_hex(<code>rgb</code>)</h2> +<p>Converts rgb colors in tuple to hex string.</p> +<h2 id="utilsrgb_from_twentyfour_bitcolor">utils.rgb_from_twentyfour_bit(<code>color</code>)</h2> +<p>Takes a 24bit color value and returns a rgb tuple.</p> +<h2 id="utilsrgb_from_twentyfour_bitcolor_1">utils.rgb_from_twentyfour_bit(<code>color</code>)</h2> +<p>Takes a 24bit color value and returns a hex string.</p> - - </article> - </div> + + + + + </article> + </div> + + </div> + </main> - -<footer class="md-footer"> - - <div class="md-footer-nav"> - <nav class="md-footer-nav__inner md-grid"> - - <a href="../../Usage/CLI/" title="CLI" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev"> - <div class="md-flex__cell md-flex__cell--shrink"> - <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> - </div> - <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> - <span class="md-flex__ellipsis"> - <span class="md-footer-nav__direction"> - Previous - </span> - CLI - </span> - </div> - </a> - - - <a href="../Examples/strandtest/" title="Strandtest" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next"> - <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> - <span class="md-flex__ellipsis"> - <span class="md-footer-nav__direction"> - Next - </span> - Strandtest - </span> - </div> - <div class="md-flex__cell md-flex__cell--shrink"> - <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> - </div> - </a> - - </nav> - </div> + <footer class="md-footer"> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> - <div class="md-footer-copyright"> - - powered by - <a href="https://www.mkdocs.org">MkDocs</a> - and - <a href="https://squidfunk.github.io/mkdocs-material/"> - Material for MkDocs</a> - </div> + <div class="md-copyright"> + + + Made with + <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener"> + Material for MkDocs + </a> + +</div> </div> </div> </footer> </div> + <div class="md-dialog" data-md-component="dialog"> + <div class="md-dialog__inner md-typeset"></div> + </div> - <script src="../../assets/javascripts/application.c648116f.js"></script> - - <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> + <script id="__config" type="application/json">{"base": "../..", "features": [], "search": "../../assets/javascripts/workers/search.16e2a7d4.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version.title": "Select version"}}</script> + + + <script src="../../assets/javascripts/bundle.5a2dcb6a.min.js"></script> <script src="../../assets/luxcena-colors.js"></script> @@ -857,5 +759,6 @@ and 255 is the highest intensity.</p> <script src="../../assets/js-sequence.js"></script> + </body> </html>
\ No newline at end of file |