12345678910111213141516171819202122232425262728293031323334353637 |
- #!/bin/bash
- # ISSILed
- # Virtual Serial Port API Example
- # Jacob Alexander 2015
-
- if [ $# -eq 0 ]; then
- echo "You must specify your virtual serialport. (/dev/ttyACM0 on linux, /dev/cu.usbmodemXXXX on OSX)"
- echo " ex: $0 /dev/ttyACM0"
- exit 1
- fi
- # XXX Set this to match your virtual serialport
- # TODO Show examples for Cygwin/Windows
- # For Mac OSX it will be something like /dev/cu.usbmodem1413 (number may differ)
- SERIALPORT=$1
-
- # NOTE: Make sure you don't write too quickly to the serial port, it can get overwhelmed by a modern computer
- # Generally this just means commands will get ignored
- # I'm using 100 ms sleeps here, but much smaller are probably sufficient
-
- # Clear out cli buffer
- printf "\r" > $SERIALPORT
-
- # Write to ISSI Page
- # Arguments
- # - page
- # - starting address
- # - data (usually brightness) (8 bits)
- #
- # For brightness control, set the starting address to 0x24
- # By default only page 0x00 is used
- # There are 8 pages of memory (these can be cycled through for animiations)
- # 144 led channels
- # Page 0x0A is used for configuration
- # See the datasheet for full details http://www.issi.com/WW/pdf/31FL3731C.pdf
- sleep 0.1
- printf "ledWPage 0x00 0x24 0x10 0x20 0x30 0x40 0x50\r" > $SERIALPORT
|