diff --git a/Blink/Blink.pde b/Blink/Blink.pde
deleted file mode 100644
index 1953c390..00000000
--- a/Blink/Blink.pde
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- Blink
- Turns on an LED on for one second, then off for one second, repeatedly.
-
- This example code is in the public domain.
- */
-
-void setup() {
- // initialize the digital pin as an output.
- // Pin 13 has an LED connected on most Arduino boards:
- pinMode(13, OUTPUT);
-}
-
-void loop() {
- digitalWrite(13, HIGH); // set the LED on
- delay(1000); // wait for a second
- digitalWrite(13, LOW); // set the LED off
- delay(1000); // wait for a second
-}
diff --git a/doc/Doxyfile b/doc/Doxyfile
index c884ae54..cbf818b1 100644
--- a/doc/Doxyfile
+++ b/doc/Doxyfile
@@ -688,7 +688,7 @@ EXAMPLE_RECURSIVE = NO
# directories that contain image that are included in the documentation (see
# the \image command).
-IMAGE_PATH =
+IMAGE_PATH = ../libraries/BlinkLED/examples/Cylon ../libraries/BlinkLED/examples/Cylon4
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
diff --git a/doc/blink-blink.dox b/doc/blink-blink.dox
new file mode 100644
index 00000000..5a435d62
--- /dev/null
+++ b/doc/blink-blink.dox
@@ -0,0 +1,80 @@
+/*
+ * Copyright (C) 2012 Southern Storm Software, Pty Ltd.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+/**
+\file blink-blink.dox
+\page blink_blink Blinking LED Example
+
+The BlinkLED class provides support logic for blinking a LED connected
+to an output pin. The traditional way to blink a LED uses a delay loop:
+
+\code
+void loop() {
+ digitalWrite(13, HIGH);
+ delay(1000);
+ digitalWrite(13, LOW);
+ delay(1000);
+}
+\endcode
+
+The problem with this code is that the entire application is blocked
+during the delay(). No other activities can be serviced.
+BlinkLED provides a re-entrant timer-based implementation that is
+simple to use in any application and which won't block other activities.
+
+We start this example by including the BlinkLED class and instantiating an
+object instance:
+
+\dontinclude BlinkLED/examples/Blink/Blink.pde
+\skip #include
+\until statusBlink
+
+In this example we have specified that the LED is on pin D13, the LED
+should be on for 70 milliseconds, and off for 930 milliseconds. This
+will cause the status LED to "strobe" once per second. The LED will
+be initially off for 930 milliseconds after device reset. To start
+with the LED on, use the following initialization code instead:
+
+\code
+BlinkLED statusBlink(13, 70, 930, true);
+\endcode
+
+The remaining code we need is a call to BlinkLED::loop() every time around
+the main application loop:
+
+\dontinclude BlinkLED/examples/Blink/Blink.pde
+\skip loop()
+\until }
+
+As can be seen, BlinkLED simplifies the process of blinking a LED quite
+considerably. It is also possible to \ref BlinkLED::pause() "pause()"
+and \ref BlinkLED::resume() "resume()" the blinking. This is useful in
+applications where a blinking LED indicates a certain state such as
+an error condition or a long-running operation that is in progress;
+with the LED off at other times. The on/off blink rate can be modified at
+runtime using BlinkLED::setBlinkRate(), and the LED can be set to a
+specific value using BlinkLED::setState().
+
+The full source code for the example follows:
+
+\include BlinkLED/examples/Blink/Blink.pde
+*/
diff --git a/doc/blink-cylon.dox b/doc/blink-cylon.dox
new file mode 100644
index 00000000..e3cefdf3
--- /dev/null
+++ b/doc/blink-cylon.dox
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) 2012 Southern Storm Software, Pty Ltd.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+/**
+\file blink-cylon.dox
+\page blink_cylon Cylon Eyes Example
+
+This example shows how to use the ChaseLEDs class to simulate the Cylon
+eye effect from Battlestar Galactica. Digital outputs are used to drive
+six LED's in a back and forth motion, using the following schematic:
+
+\image html Cylon.png
+
+We start by including the ChaseLEDs class:
+
+\dontinclude BlinkLED/examples/Cylon/Cylon.pde
+\skip ChaseLEDs.h
+\until ChaseLEDs.h
+
+The next step is to define the pins that the chase will run over:
+
+\dontinclude BlinkLED/examples/Cylon/Cylon.pde
+\skip byte pins
+\until cylonEyes
+
+The chase runs from the first pin to the sixth pin and back again,
+with each LED lit for 100 milliseconds before moving onto the next one.
+To complete the example, we need to call ChaseLEDs::loop() each time
+around our main loop to cause the chase to run:
+
+\dontinclude BlinkLED/examples/Cylon/Cylon.pde
+\skip loop()
+\until }
+
+While this example uses only six pins, it can be easily extended to any
+number of pins by modifying the \c pins array and altering the schematic
+accordingly.
+
+So far we are chasing only a single LED. We could change this to chase
+two adjacent LED's instead by defining a new \c CylonChase class that
+inherits from ChaseLEDs:
+
+\dontinclude BlinkLED/examples/Cylon2/Cylon2.pde
+\skip class CylonChase
+\until };
+
+The important part is the implementation of the advance() method,
+which overrides ChaseLEDs::advance() to provide our own scheme for lighting
+the LED's each time the chase advances. We use ChaseLEDs::previousPin() to
+get the pin that is 2 steps back in the sequence, set it to LOW, and then
+set the previous pin (1 step back) and the next pin to HIGH. All that
+remains is to change our chase initialization to use the new class:
+
+\dontinclude BlinkLED/examples/Cylon2/Cylon2.pde
+\skip byte pins
+\until cylonEyes
+
+We can do even better than this. Instead of fully lighting both LED's,
+we could instead use the PWM outputs to dim the previous pin, creating a
+kind of "trailing flame" effect:
+
+\dontinclude BlinkLED/examples/Cylon3/Cylon3.pde
+\skip advance(
+\until }
+
+The current chase is fixed at 100 milliseconds per LED, which takes a full
+second to run the sequence. An alternative to hard-wiring the chase
+rate is to hook up a 10K potentiometer to the A0 analog input:
+
+\image html Cylon4.png
+
+We then modify the advance() method to read the new chase rate
+from the potentiometer each time the LED advances:
+
+\dontinclude BlinkLED/examples/Cylon4/Cylon4.pde
+\skip advance(
+\until }
+
+The full source code for the final version of the example follows:
+
+\include BlinkLED/examples/Cylon4/Cylon4.pde
+*/
diff --git a/doc/mainpage.dox b/doc/mainpage.dox
index 204a7ab1..da63ec1d 100644
--- a/doc/mainpage.dox
+++ b/doc/mainpage.dox
@@ -35,4 +35,14 @@ LCD shield.
\li \ref lcd_hello_world "Hello World" example for the Freetronics LCD shield.
\li \ref lcd_form "Form" example for LCD displays.
+\section main_BlinkLED BlinkLED Utility Library
+
+\li BlinkLED class that simplifies the process of blinking a LED connected
+to a output pin.
+\li ChaseLEDs class that simplifies the process of performing a LED chase
+over several output pins.
+\li \ref blink_blink "Blink" example of using BlinkLED.
+\li \ref blink_cylon "Cylon" example of using ChaseLEDs to simulate
+the Cylon eye effect from Battlestar Galactica.
+
*/
diff --git a/libraries/BlinkLED/ChaseLEDs.cpp b/libraries/BlinkLED/ChaseLEDs.cpp
index a7eb6612..a9ae25c2 100644
--- a/libraries/BlinkLED/ChaseLEDs.cpp
+++ b/libraries/BlinkLED/ChaseLEDs.cpp
@@ -46,6 +46,9 @@
* uint8_t pins[] = {3, 5, 6, 9, 10, 11, 10, 9, 6, 5};
* ChaseLEDs chaser(pins, sizeof(pins), 150);
* \endcode
+ *
+ * See the \ref blink_cylon "Cylon" example for more information on
+ * how to use the ChaseLEDs class in a practical application.
*/
/**
diff --git a/libraries/BlinkLED/examples/Blink/Blink.pde b/libraries/BlinkLED/examples/Blink/Blink.pde
new file mode 100644
index 00000000..4784455c
--- /dev/null
+++ b/libraries/BlinkLED/examples/Blink/Blink.pde
@@ -0,0 +1,16 @@
+/*
+Blink the status LED using the BlinkLED utility class.
+
+This example is placed into the public domain.
+*/
+
+#include
+
+BlinkLED statusBlink(13, 70, 930);
+
+void setup() {}
+
+void loop() {
+ statusBlink.loop();
+}
+
diff --git a/libraries/BlinkLED/examples/Cylon/Cylon.fig b/libraries/BlinkLED/examples/Cylon/Cylon.fig
new file mode 100644
index 00000000..9d61f269
--- /dev/null
+++ b/libraries/BlinkLED/examples/Cylon/Cylon.fig
@@ -0,0 +1,238 @@
+#FIG 3.2 Produced by xfig version 3.2.5b
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+6 5175 1530 7200 2475
+6 5535 1755 5985 1845
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5630 1800 5535 1800
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
+ 5895 1800 5868 1760 5814 1840 5760 1760 5706 1840 5652 1760
+ 5625 1800
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5985 1800 5890 1800
+-6
+6 6345 1665 6705 1890
+2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
+ 6570 1800 6480 1755 6480 1845 6570 1800
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 1800 6705 1800
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 1855 6570 1745
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6525 1665 6570 1710
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6570 1665 6525 1665 6525 1710
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6480 1665 6435 1665 6435 1710
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6435 1665 6480 1710
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6345 1800 6480 1800
+-6
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5535 1800 5175 1800
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5985 1800 6390 1800
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
+ 6660 1800 7200 1800 7200 2475
+4 0 0 50 -1 0 12 0.0000 4 135 450 5535 1665 220R\001
+-6
+6 5175 2205 7200 3150
+6 5535 2430 5985 2520
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5630 2475 5535 2475
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
+ 5895 2475 5868 2435 5814 2515 5760 2435 5706 2515 5652 2435
+ 5625 2475
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5985 2475 5890 2475
+-6
+6 6345 2340 6705 2565
+2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
+ 6570 2475 6480 2430 6480 2520 6570 2475
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 2475 6705 2475
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 2530 6570 2420
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6525 2340 6570 2385
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6570 2340 6525 2340 6525 2385
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6480 2340 6435 2340 6435 2385
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6435 2340 6480 2385
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6345 2475 6480 2475
+-6
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5535 2475 5175 2475
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5985 2475 6390 2475
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
+ 6660 2475 7200 2475 7200 3150
+4 0 0 50 -1 0 12 0.0000 4 135 450 5535 2340 220R\001
+-6
+6 5175 2880 7200 3825
+6 5535 3105 5985 3195
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5630 3150 5535 3150
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
+ 5895 3150 5868 3110 5814 3190 5760 3110 5706 3190 5652 3110
+ 5625 3150
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5985 3150 5890 3150
+-6
+6 6345 3015 6705 3240
+2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
+ 6570 3150 6480 3105 6480 3195 6570 3150
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 3150 6705 3150
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 3205 6570 3095
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6525 3015 6570 3060
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6570 3015 6525 3015 6525 3060
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6480 3015 6435 3015 6435 3060
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6435 3015 6480 3060
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6345 3150 6480 3150
+-6
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5535 3150 5175 3150
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5985 3150 6390 3150
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
+ 6660 3150 7200 3150 7200 3825
+4 0 0 50 -1 0 12 0.0000 4 135 450 5535 3015 220R\001
+-6
+6 5175 3555 7200 4500
+6 5535 3780 5985 3870
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5630 3825 5535 3825
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
+ 5895 3825 5868 3785 5814 3865 5760 3785 5706 3865 5652 3785
+ 5625 3825
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5985 3825 5890 3825
+-6
+6 6345 3690 6705 3915
+2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
+ 6570 3825 6480 3780 6480 3870 6570 3825
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 3825 6705 3825
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 3880 6570 3770
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6525 3690 6570 3735
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6570 3690 6525 3690 6525 3735
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6480 3690 6435 3690 6435 3735
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6435 3690 6480 3735
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6345 3825 6480 3825
+-6
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5535 3825 5175 3825
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5985 3825 6390 3825
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
+ 6660 3825 7200 3825 7200 4500
+4 0 0 50 -1 0 12 0.0000 4 135 450 5535 3690 220R\001
+-6
+6 5175 4230 7200 5175
+6 5535 4455 5985 4545
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5630 4500 5535 4500
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
+ 5895 4500 5868 4460 5814 4540 5760 4460 5706 4540 5652 4460
+ 5625 4500
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5985 4500 5890 4500
+-6
+6 6345 4365 6705 4590
+2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
+ 6570 4500 6480 4455 6480 4545 6570 4500
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 4500 6705 4500
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 4555 6570 4445
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6525 4365 6570 4410
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6570 4365 6525 4365 6525 4410
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6480 4365 6435 4365 6435 4410
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6435 4365 6480 4410
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6345 4500 6480 4500
+-6
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5535 4500 5175 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5985 4500 6390 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
+ 6660 4500 7200 4500 7200 5175
+4 0 0 50 -1 0 12 0.0000 4 135 450 5535 4365 220R\001
+-6
+6 5175 4905 7200 5850
+6 5535 5130 5985 5220
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5630 5175 5535 5175
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
+ 5895 5175 5868 5135 5814 5215 5760 5135 5706 5215 5652 5135
+ 5625 5175
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5985 5175 5890 5175
+-6
+6 6345 5040 6705 5265
+2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
+ 6570 5175 6480 5130 6480 5220 6570 5175
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 5175 6705 5175
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 5230 6570 5120
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6525 5040 6570 5085
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6570 5040 6525 5040 6525 5085
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6480 5040 6435 5040 6435 5085
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6435 5040 6480 5085
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6345 5175 6480 5175
+-6
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5535 5175 5175 5175
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5985 5175 6390 5175
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
+ 6660 5175 7200 5175 7200 5850
+4 0 0 50 -1 0 12 0.0000 4 135 450 5535 5040 220R\001
+-6
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+ 2700 1350 5175 1350 5175 6300 2700 6300 2700 1350
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 7200 5850 5175 5850
+4 0 0 50 -1 0 12 0.0000 4 135 630 4275 2565 DOUT5\001
+4 0 0 50 -1 0 12 0.0000 4 135 1065 2880 3870 Arduino Uno\001
+4 0 0 50 -1 0 12 0.0000 4 135 630 4275 1845 DOUT3\001
+4 0 0 50 -1 0 12 0.0000 4 135 630 4275 3195 DOUT6\001
+4 0 0 50 -1 0 12 0.0000 4 135 630 4275 3870 DOUT9\001
+4 0 0 50 -1 0 12 0.0000 4 135 735 4275 4545 DOUT10\001
+4 0 0 50 -1 0 12 0.0000 4 135 735 4275 5220 DOUT11\001
+4 0 0 50 -1 0 12 0.0000 4 135 405 4500 5895 GND\001
+4 0 0 50 -1 0 12 0.0000 4 135 1560 7470 3510 6 x 3mm RED LED\001
diff --git a/libraries/BlinkLED/examples/Cylon/Cylon.pde b/libraries/BlinkLED/examples/Cylon/Cylon.pde
new file mode 100644
index 00000000..ea2e8324
--- /dev/null
+++ b/libraries/BlinkLED/examples/Cylon/Cylon.pde
@@ -0,0 +1,18 @@
+/*
+Sketch that manipulates Arduino outputs to create the "Cylon Eyes" effect from
+Battlestar Galactica. It uses the ChaseLEDs utility class.
+
+This example is placed into the public domain.
+*/
+
+#include
+
+byte pins[] = {3, 5, 6, 9, 10, 11, 10, 9, 6, 5};
+ChaseLEDs cylonEyes(pins, sizeof(pins), 100);
+
+void setup() {}
+
+void loop() {
+ cylonEyes.loop();
+}
+
diff --git a/libraries/BlinkLED/examples/Cylon/Cylon.png b/libraries/BlinkLED/examples/Cylon/Cylon.png
new file mode 100644
index 00000000..231ccb78
Binary files /dev/null and b/libraries/BlinkLED/examples/Cylon/Cylon.png differ
diff --git a/libraries/BlinkLED/examples/Cylon2/Cylon2.pde b/libraries/BlinkLED/examples/Cylon2/Cylon2.pde
new file mode 100644
index 00000000..185e1596
--- /dev/null
+++ b/libraries/BlinkLED/examples/Cylon2/Cylon2.pde
@@ -0,0 +1,32 @@
+/*
+Sketch that manipulates Arduino outputs to create the "Cylon Eyes" effect from
+Battlestar Galactica. It uses the ChaseLEDs utility class.
+
+This example is placed into the public domain.
+*/
+
+#include
+
+class CylonChase : public ChaseLEDs
+{
+public:
+ CylonChase(const byte *pins, int num, unsigned long advanceTime)
+ : ChaseLEDs(pins, num, advanceTime) {}
+
+protected:
+ void advance(byte prevPin, byte nextPin) {
+ digitalWrite(previousPin(2), LOW);
+ digitalWrite(prevPin, HIGH);
+ digitalWrite(nextPin, HIGH);
+ }
+};
+
+byte pins[] = {3, 5, 6, 9, 10, 11, 10, 9, 6, 5};
+CylonChase cylonEyes(pins, sizeof(pins), 100);
+
+void setup() {}
+
+void loop() {
+ cylonEyes.loop();
+}
+
diff --git a/libraries/BlinkLED/examples/Cylon3/Cylon3.pde b/libraries/BlinkLED/examples/Cylon3/Cylon3.pde
new file mode 100644
index 00000000..007f45ce
--- /dev/null
+++ b/libraries/BlinkLED/examples/Cylon3/Cylon3.pde
@@ -0,0 +1,32 @@
+/*
+Sketch that manipulates Arduino outputs to create the "Cylon Eyes" effect from
+Battlestar Galactica. It uses the ChaseLEDs utility class.
+
+This example is placed into the public domain.
+*/
+
+#include
+
+class CylonChase : public ChaseLEDs
+{
+public:
+ CylonChase(const byte *pins, int num, unsigned long advanceTime)
+ : ChaseLEDs(pins, num, advanceTime) {}
+
+protected:
+ void advance(byte prevPin, byte nextPin) {
+ digitalWrite(previousPin(2), LOW);
+ analogWrite(prevPin, 32);
+ digitalWrite(nextPin, HIGH);
+ }
+};
+
+byte pins[] = {3, 5, 6, 9, 10, 11, 10, 9, 6, 5};
+CylonChase cylonEyes(pins, sizeof(pins), 100);
+
+void setup() {}
+
+void loop() {
+ cylonEyes.loop();
+}
+
diff --git a/libraries/BlinkLED/examples/Cylon4/Cylon4.fig b/libraries/BlinkLED/examples/Cylon4/Cylon4.fig
new file mode 100644
index 00000000..0b6ffbe5
--- /dev/null
+++ b/libraries/BlinkLED/examples/Cylon4/Cylon4.fig
@@ -0,0 +1,261 @@
+#FIG 3.2 Produced by xfig version 3.2.5b
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+6 5175 1530 7200 2475
+6 5535 1755 5985 1845
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5630 1800 5535 1800
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
+ 5895 1800 5868 1760 5814 1840 5760 1760 5706 1840 5652 1760
+ 5625 1800
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5985 1800 5890 1800
+-6
+6 6345 1665 6705 1890
+2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
+ 6570 1800 6480 1755 6480 1845 6570 1800
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 1800 6705 1800
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 1855 6570 1745
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6525 1665 6570 1710
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6570 1665 6525 1665 6525 1710
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6480 1665 6435 1665 6435 1710
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6435 1665 6480 1710
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6345 1800 6480 1800
+-6
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5535 1800 5175 1800
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5985 1800 6390 1800
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
+ 6660 1800 7200 1800 7200 2475
+4 0 0 50 -1 0 12 0.0000 4 135 450 5535 1665 220R\001
+-6
+6 5175 2205 7200 3150
+6 5535 2430 5985 2520
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5630 2475 5535 2475
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
+ 5895 2475 5868 2435 5814 2515 5760 2435 5706 2515 5652 2435
+ 5625 2475
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5985 2475 5890 2475
+-6
+6 6345 2340 6705 2565
+2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
+ 6570 2475 6480 2430 6480 2520 6570 2475
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 2475 6705 2475
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 2530 6570 2420
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6525 2340 6570 2385
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6570 2340 6525 2340 6525 2385
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6480 2340 6435 2340 6435 2385
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6435 2340 6480 2385
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6345 2475 6480 2475
+-6
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5535 2475 5175 2475
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5985 2475 6390 2475
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
+ 6660 2475 7200 2475 7200 3150
+4 0 0 50 -1 0 12 0.0000 4 135 450 5535 2340 220R\001
+-6
+6 5175 2880 7200 3825
+6 5535 3105 5985 3195
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5630 3150 5535 3150
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
+ 5895 3150 5868 3110 5814 3190 5760 3110 5706 3190 5652 3110
+ 5625 3150
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5985 3150 5890 3150
+-6
+6 6345 3015 6705 3240
+2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
+ 6570 3150 6480 3105 6480 3195 6570 3150
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 3150 6705 3150
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 3205 6570 3095
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6525 3015 6570 3060
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6570 3015 6525 3015 6525 3060
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6480 3015 6435 3015 6435 3060
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6435 3015 6480 3060
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6345 3150 6480 3150
+-6
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5535 3150 5175 3150
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5985 3150 6390 3150
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
+ 6660 3150 7200 3150 7200 3825
+4 0 0 50 -1 0 12 0.0000 4 135 450 5535 3015 220R\001
+-6
+6 5175 3555 7200 4500
+6 5535 3780 5985 3870
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5630 3825 5535 3825
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
+ 5895 3825 5868 3785 5814 3865 5760 3785 5706 3865 5652 3785
+ 5625 3825
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5985 3825 5890 3825
+-6
+6 6345 3690 6705 3915
+2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
+ 6570 3825 6480 3780 6480 3870 6570 3825
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 3825 6705 3825
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 3880 6570 3770
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6525 3690 6570 3735
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6570 3690 6525 3690 6525 3735
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6480 3690 6435 3690 6435 3735
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6435 3690 6480 3735
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6345 3825 6480 3825
+-6
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5535 3825 5175 3825
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5985 3825 6390 3825
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
+ 6660 3825 7200 3825 7200 4500
+4 0 0 50 -1 0 12 0.0000 4 135 450 5535 3690 220R\001
+-6
+6 5175 4230 7200 5175
+6 5535 4455 5985 4545
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5630 4500 5535 4500
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
+ 5895 4500 5868 4460 5814 4540 5760 4460 5706 4540 5652 4460
+ 5625 4500
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5985 4500 5890 4500
+-6
+6 6345 4365 6705 4590
+2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
+ 6570 4500 6480 4455 6480 4545 6570 4500
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 4500 6705 4500
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 4555 6570 4445
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6525 4365 6570 4410
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6570 4365 6525 4365 6525 4410
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6480 4365 6435 4365 6435 4410
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6435 4365 6480 4410
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6345 4500 6480 4500
+-6
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5535 4500 5175 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5985 4500 6390 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
+ 6660 4500 7200 4500 7200 5175
+4 0 0 50 -1 0 12 0.0000 4 135 450 5535 4365 220R\001
+-6
+6 5175 4905 7200 5850
+6 5535 5130 5985 5220
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5630 5175 5535 5175
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
+ 5895 5175 5868 5135 5814 5215 5760 5135 5706 5215 5652 5135
+ 5625 5175
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5985 5175 5890 5175
+-6
+6 6345 5040 6705 5265
+2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
+ 6570 5175 6480 5130 6480 5220 6570 5175
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 5175 6705 5175
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 5230 6570 5120
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6525 5040 6570 5085
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6570 5040 6525 5040 6525 5085
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6480 5040 6435 5040 6435 5085
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6435 5040 6480 5085
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6345 5175 6480 5175
+-6
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5535 5175 5175 5175
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5985 5175 6390 5175
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
+ 6660 5175 7200 5175 7200 5850
+4 0 0 50 -1 0 12 0.0000 4 135 450 5535 5040 220R\001
+-6
+6 1305 3375 1530 3825
+2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
+ 1395 3600 1465 3565 1465 3635 1395 3600
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 1350 3730 1350 3825
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
+ 1350 3465 1390 3492 1310 3546 1390 3600 1310 3654 1390 3708
+ 1350 3735
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 1350 3375 1350 3470
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 1530 3600 1440 3600
+-6
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+ 2700 1350 5175 1350 5175 6300 2700 6300 2700 1350
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 7200 5850 5175 5850
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 1485 3600 2700 3600
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
+ 1350 3375 1350 1800 2700 1800
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
+ 1350 3780 1350 5850 2700 5850
+4 0 0 50 -1 0 12 0.0000 4 135 630 4275 2565 DOUT5\001
+4 0 0 50 -1 0 12 0.0000 4 135 630 4275 1845 DOUT3\001
+4 0 0 50 -1 0 12 0.0000 4 135 630 4275 3195 DOUT6\001
+4 0 0 50 -1 0 12 0.0000 4 135 630 4275 3870 DOUT9\001
+4 0 0 50 -1 0 12 0.0000 4 135 735 4275 4545 DOUT10\001
+4 0 0 50 -1 0 12 0.0000 4 135 735 4275 5220 DOUT11\001
+4 0 0 50 -1 0 12 0.0000 4 135 405 4500 5895 GND\001
+4 0 0 50 -1 0 12 0.0000 4 135 1560 7470 3510 6 x 3mm RED LED\001
+4 0 0 50 -1 0 12 0.0000 4 135 1065 3285 2880 Arduino Uno\001
+4 0 0 50 -1 0 12 0.0000 4 135 435 2835 3645 AIN0\001
+4 0 0 50 -1 0 12 0.0000 4 135 240 2835 1845 5V\001
+4 0 0 50 -1 0 12 0.0000 4 135 405 2790 5895 GND\001
+4 0 0 50 -1 0 12 0.0000 4 135 345 810 3645 10K\001
diff --git a/libraries/BlinkLED/examples/Cylon4/Cylon4.fig.bak b/libraries/BlinkLED/examples/Cylon4/Cylon4.fig.bak
new file mode 100644
index 00000000..9d61f269
--- /dev/null
+++ b/libraries/BlinkLED/examples/Cylon4/Cylon4.fig.bak
@@ -0,0 +1,238 @@
+#FIG 3.2 Produced by xfig version 3.2.5b
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+6 5175 1530 7200 2475
+6 5535 1755 5985 1845
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5630 1800 5535 1800
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
+ 5895 1800 5868 1760 5814 1840 5760 1760 5706 1840 5652 1760
+ 5625 1800
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5985 1800 5890 1800
+-6
+6 6345 1665 6705 1890
+2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
+ 6570 1800 6480 1755 6480 1845 6570 1800
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 1800 6705 1800
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 1855 6570 1745
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6525 1665 6570 1710
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6570 1665 6525 1665 6525 1710
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6480 1665 6435 1665 6435 1710
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6435 1665 6480 1710
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6345 1800 6480 1800
+-6
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5535 1800 5175 1800
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5985 1800 6390 1800
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
+ 6660 1800 7200 1800 7200 2475
+4 0 0 50 -1 0 12 0.0000 4 135 450 5535 1665 220R\001
+-6
+6 5175 2205 7200 3150
+6 5535 2430 5985 2520
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5630 2475 5535 2475
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
+ 5895 2475 5868 2435 5814 2515 5760 2435 5706 2515 5652 2435
+ 5625 2475
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5985 2475 5890 2475
+-6
+6 6345 2340 6705 2565
+2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
+ 6570 2475 6480 2430 6480 2520 6570 2475
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 2475 6705 2475
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 2530 6570 2420
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6525 2340 6570 2385
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6570 2340 6525 2340 6525 2385
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6480 2340 6435 2340 6435 2385
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6435 2340 6480 2385
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6345 2475 6480 2475
+-6
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5535 2475 5175 2475
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5985 2475 6390 2475
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
+ 6660 2475 7200 2475 7200 3150
+4 0 0 50 -1 0 12 0.0000 4 135 450 5535 2340 220R\001
+-6
+6 5175 2880 7200 3825
+6 5535 3105 5985 3195
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5630 3150 5535 3150
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
+ 5895 3150 5868 3110 5814 3190 5760 3110 5706 3190 5652 3110
+ 5625 3150
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5985 3150 5890 3150
+-6
+6 6345 3015 6705 3240
+2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
+ 6570 3150 6480 3105 6480 3195 6570 3150
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 3150 6705 3150
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 3205 6570 3095
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6525 3015 6570 3060
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6570 3015 6525 3015 6525 3060
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6480 3015 6435 3015 6435 3060
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6435 3015 6480 3060
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6345 3150 6480 3150
+-6
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5535 3150 5175 3150
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5985 3150 6390 3150
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
+ 6660 3150 7200 3150 7200 3825
+4 0 0 50 -1 0 12 0.0000 4 135 450 5535 3015 220R\001
+-6
+6 5175 3555 7200 4500
+6 5535 3780 5985 3870
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5630 3825 5535 3825
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
+ 5895 3825 5868 3785 5814 3865 5760 3785 5706 3865 5652 3785
+ 5625 3825
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5985 3825 5890 3825
+-6
+6 6345 3690 6705 3915
+2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
+ 6570 3825 6480 3780 6480 3870 6570 3825
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 3825 6705 3825
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 3880 6570 3770
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6525 3690 6570 3735
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6570 3690 6525 3690 6525 3735
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6480 3690 6435 3690 6435 3735
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6435 3690 6480 3735
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6345 3825 6480 3825
+-6
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5535 3825 5175 3825
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5985 3825 6390 3825
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
+ 6660 3825 7200 3825 7200 4500
+4 0 0 50 -1 0 12 0.0000 4 135 450 5535 3690 220R\001
+-6
+6 5175 4230 7200 5175
+6 5535 4455 5985 4545
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5630 4500 5535 4500
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
+ 5895 4500 5868 4460 5814 4540 5760 4460 5706 4540 5652 4460
+ 5625 4500
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5985 4500 5890 4500
+-6
+6 6345 4365 6705 4590
+2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
+ 6570 4500 6480 4455 6480 4545 6570 4500
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 4500 6705 4500
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 4555 6570 4445
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6525 4365 6570 4410
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6570 4365 6525 4365 6525 4410
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6480 4365 6435 4365 6435 4410
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6435 4365 6480 4410
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6345 4500 6480 4500
+-6
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5535 4500 5175 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5985 4500 6390 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
+ 6660 4500 7200 4500 7200 5175
+4 0 0 50 -1 0 12 0.0000 4 135 450 5535 4365 220R\001
+-6
+6 5175 4905 7200 5850
+6 5535 5130 5985 5220
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5630 5175 5535 5175
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
+ 5895 5175 5868 5135 5814 5215 5760 5135 5706 5215 5652 5135
+ 5625 5175
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 5985 5175 5890 5175
+-6
+6 6345 5040 6705 5265
+2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
+ 6570 5175 6480 5130 6480 5220 6570 5175
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 5175 6705 5175
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6570 5230 6570 5120
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6525 5040 6570 5085
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6570 5040 6525 5040 6525 5085
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
+ 6480 5040 6435 5040 6435 5085
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6435 5040 6480 5085
+2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
+ 6345 5175 6480 5175
+-6
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5535 5175 5175 5175
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 5985 5175 6390 5175
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
+ 6660 5175 7200 5175 7200 5850
+4 0 0 50 -1 0 12 0.0000 4 135 450 5535 5040 220R\001
+-6
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+ 2700 1350 5175 1350 5175 6300 2700 6300 2700 1350
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ 7200 5850 5175 5850
+4 0 0 50 -1 0 12 0.0000 4 135 630 4275 2565 DOUT5\001
+4 0 0 50 -1 0 12 0.0000 4 135 1065 2880 3870 Arduino Uno\001
+4 0 0 50 -1 0 12 0.0000 4 135 630 4275 1845 DOUT3\001
+4 0 0 50 -1 0 12 0.0000 4 135 630 4275 3195 DOUT6\001
+4 0 0 50 -1 0 12 0.0000 4 135 630 4275 3870 DOUT9\001
+4 0 0 50 -1 0 12 0.0000 4 135 735 4275 4545 DOUT10\001
+4 0 0 50 -1 0 12 0.0000 4 135 735 4275 5220 DOUT11\001
+4 0 0 50 -1 0 12 0.0000 4 135 405 4500 5895 GND\001
+4 0 0 50 -1 0 12 0.0000 4 135 1560 7470 3510 6 x 3mm RED LED\001
diff --git a/libraries/BlinkLED/examples/Cylon4/Cylon4.pde b/libraries/BlinkLED/examples/Cylon4/Cylon4.pde
new file mode 100644
index 00000000..9b38dff0
--- /dev/null
+++ b/libraries/BlinkLED/examples/Cylon4/Cylon4.pde
@@ -0,0 +1,33 @@
+/*
+Sketch that manipulates Arduino outputs to create the "Cylon Eyes" effect from
+Battlestar Galactica. It uses the ChaseLEDs utility class.
+
+This example is placed into the public domain.
+*/
+
+#include
+
+class CylonChase : public ChaseLEDs
+{
+public:
+ CylonChase(const byte *pins, int num, unsigned long advanceTime)
+ : ChaseLEDs(pins, num, advanceTime) {}
+
+protected:
+ void advance(byte prevPin, byte nextPin) {
+ digitalWrite(previousPin(2), LOW);
+ analogWrite(prevPin, 32);
+ digitalWrite(nextPin, HIGH);
+ setAdvanceTime(map(analogRead(A0), 0, 1023, 25, 250));
+ }
+};
+
+byte pins[] = {3, 5, 6, 9, 10, 11, 10, 9, 6, 5};
+CylonChase cylonEyes(pins, sizeof(pins), 100);
+
+void setup() {}
+
+void loop() {
+ cylonEyes.loop();
+}
+
diff --git a/libraries/BlinkLED/examples/Cylon4/Cylon4.png b/libraries/BlinkLED/examples/Cylon4/Cylon4.png
new file mode 100644
index 00000000..a4212868
Binary files /dev/null and b/libraries/BlinkLED/examples/Cylon4/Cylon4.png differ