NAME
Device::BlinkStick::Stick
SYNOPSIS
use 5.10.0 ;
use strict ;
use warnings ;
use Device::BlinkStick;
my $bs = Device::BlinkStick->new() ;
# get the first blinkstick found
my $device = $bs->first() ;
# make it red
$first->led( color => 'red') ;
sleep( 2) ;
# blink red for 5 times, delaying for 250ms between black and the color
$first->blink( color => 'red', delay => 250, times => 5) ;    
DESCRIPTION
Object holding information and control about a specic blinkstick device, the control of a single device is done in Device::BlinkStick::Stick
new
Create an instance of a blink stick device, requires an open USB file device
- verbose
 - 
output some debug as things happen
 - serial_number
 - 
optionally find this stick
 - device_name
 - 
optionally find this stick, if serial_number is also defined that will over-ride I am working on the premise that the device name is stored in info_block_1
 
info
get a hash of info about the device
get_device_name
get the contents of info_block_1, usually the device name?
get_access_token
get the contents of get_info_block_2, maybe the acccess token for the online service? unused for perl
set_device_name
- str
 - 
string to write into info_block_1, the device name
This will get trimmed to 32 characters
$stick->set_device_name( 'strip') ; 
returns true/false depending if the string was set
set_access_token
- str
 - 
string to write into info_block_2, the online access token. Not used by perl
This will get trimmed to 32 characters
$stick->set_access_token( 'abc123dead') ; 
returns true/false depending if the string was set
get_mode
returns the display mode
0 normal 1 inverse 2 WS2812 3 WS2812 mirror - all leds the same
my $mode =  $stick->get_mode() ;
set_mode
Set the display mode
- mode
 - 
mode to set
0 normal 1 inverse 2 WS2812 3 WS2812 mirror - all leds the same $stick->set_mode( 3) ; 
returns true/false depending if the mode was set
get_color
returns the color as rgb from a channel and index
my $c = $stick->get_color( 0, 0 ) ;
set_color
set the rgb color for a single pixel blinkstick, uses brightness
Parameters
- r
 - 
red part 0..255
 - g
 - 
green part 0..255
 - b
 - 
blue part 0..255
 - channel
 - 
64 LED block to use
 - index
 - 
LED in block to use
 
$stick->set_color( 255, 0, 255, 0, 0) ;
This should not be used directly, rather use the led method instead
returns true/false depending if the mode was set
led
set the color of a single pixel blinkstick, uses brightness
Parameters
- color
 - 
Color is either a colorname from WebColors or a hex triplet of the form FF00AA
 - channel
 - 
64 LED block to use
 - index
 - 
LED in block to use
 
 $stick->led( color => 'green200', index => 0, channel => 0) ;
returns true/false depending if the mode was set
blink
blink a single pixel on and off, uses brightness
Parameters
- color
 - 
Color is either a colorname from WebColors or a hex triplet FF00AA
 - channel
 - 
64 LED block to use
 - index
 - 
LED in block to use
 - times
 - 
Number of times to blink on and off
 - delay
 - 
Pause period between blinks, defaults to DEFAULT_BLINK_TIME which is 150ms
 
$stick->blink( color => 'green200', index => 0, channel => 0, times => 5) ;
get_leds
returns the number of leds on the device
set_leds
set the number of leds connected to a device
- count
 - 
0..64
 
returns true/false depending if the led count was set