aboutsummaryrefslogtreecommitdiff
path: root/public/docs/Scripting
diff options
context:
space:
mode:
Diffstat (limited to 'public/docs/Scripting')
-rw-r--r--public/docs/Scripting/Examples/strandtest/index.html737
-rw-r--r--public/docs/Scripting/NeoBehaviour/index.html1851
-rw-r--r--public/docs/Scripting/Strip/index.html1207
-rw-r--r--public/docs/Scripting/SupportLib/index.html1067
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">
- &#xE5CD;
- </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">&quot;&quot;&quot;Wipe color across display a pixel at a time.&quot;&quot;&quot;</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">&quot;&quot;&quot;Movie theater light style chaser animation.&quot;&quot;&quot;</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">&quot;&quot;&quot;Generate rainbow colors across 0-255 positions.&quot;&quot;&quot;</span>
- <span class="k">if</span> <span class="n">pos</span> <span class="o">&lt;</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">&lt;</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">&quot;&quot;&quot;Draw rainbow that fades across all pixels at once.&quot;&quot;&quot;</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">&amp;</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">&quot;&quot;&quot;Draw rainbow that uniformly distributes itself across all pixels.&quot;&quot;&quot;</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">&amp;</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">&quot;&quot;&quot;Rainbow movie theater light style chaser animation.&quot;&quot;&quot;</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">&quot;#fafafa&quot;</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">&quot;#fafafa&quot;</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">
- &#xE5CD;
- </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">&quot;#fafafa&quot;</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">&quot;#fafafa&quot;</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