NAME
   Device::BlinkyTape - Control a BlinkyTape led strip

SYNOPSIS
       use Device::BlinkyTape::WS2811; # BlinkyTape uses WS2811
       my $bb = Device::BlinkyTape::WS2811->new(dev => '/dev/tty.usbmodem');
       # Set all led pixels on full white
       $bb->all_on();
       # Set all led pixels off
       $bb->all_off();

       # Send a white pixel (RGB 255/255/255).
       # Pixels are sent one by one from left to right.
       $bb->send_pixel(255,255,255);
       $bb->send_pixel(5,5,5);
       # Show all sent pixels and reset send_pixel to the first pixel.
       $bb->show();

 dev
   The device where your usb ledstrip is at. Defaults to /dev/tty.usbmodem.

 port
   Instead of giving the device you can create the instance of this module
   by directly giving it a Device:SerialPort object. By default the
   Device::SerialPort object is created from the device given in the 'dev'
   parameter.

 gamma
   Specify the gamma correction. Defaults to [1,1,1]

 led_count
   Specify the led count, counting from 1. The default is 60.

 simulate
   Specify if the module should simulate a BlinkyTape onscreen instead of
   using one in the usb port. Defaults to 0 (false). If this is true then
   the port and dev parameters have no effect.

 sleeptime
   Sending data too fast freezes the BlinkyTape. Sleeping for 30
   microseconds between each byte makes sure the atmega processor of the
   BlinkyTape can keep up with the incoming data.

 all_on
   Turns all leds on.

 all_off
   Turns all leds off.

 send_pixel(r,g,b)
   Send the RGB value for the next pixel. Values 0-254 are sent as is,
   value 255 is converted to 254.

 show
   Shows the sent pixels and resets the send_pixel to the first led pixel
   of the strip. This is done by sending a single 255 value byte to the led
   strip.

ABOUT BLINKYTAPE
   Blinkytape is a controllable led strip available at
   http://blinkiverse.com/blinkytape/

USING THE MODULE ON OS X WITHOUT OWNING A BLINKYTAPE
   This module comes with a BlinkyTape simulator. Install X11 server to use
   the simulator: http://xquartz.macosforge.org/landing/

BUGS
   The device is not yet available so the module has been implemented by
   inspecting partly undocumented and unfinished code in other languages.
   Feel free to file any bug reports in Github, patches welcome.

REFERENCE READING
   Communicating with the Arduino in Perl
   http://playground.arduino.cc/interfacing/PERL

   Perl communication to Arduino over serial USB
   http://www.windmeadow.com/node/38

AUTHOR
   Oskari Okko Ojala <[email protected]>

   Based on exampls/Blinkyboard.py in Blinkiverse's BlinkyTape repository
   at https://github.com/blinkiverse/BlinkyTape/ by Max Henstell
   (mhenstell) and Marty McGuire (martymcguire).

COPYRIGHT AND LICENSE
   Copyright (C) Oskari Okko Ojala 2013

   This library is free software; you can redistribute it and/or modify it
   under the same terms as Perl itself, either Perl version 5.8.8 or, at
   your option, any later version of Perl you may have available.