annotate Scan/STLcd/exampleAPI.bash @ 402:88814d3c0c8b

Merge remote-tracking branch 'github/master' into not-linux
author Dan McGregor <dan.mcgregor@usask.ca>
date Tue, 05 Jan 2016 10:08:14 -0600
parents 99f93dec8fea 63b1d003fd50
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
401
99f93dec8fea Start removing select Linux-isms
Dan McGregor <dan.mcgregor@usask.ca>
parents: 375
diff changeset
1 #!/usr/bin/env bash
375
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
2 # STLcd
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
3 # Virtual Serial Port API Example
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
4 # Jacob Alexander 2015
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
5
398
63b1d003fd50 Stop requiring editing of example scripts
Joshua Flanagan <joshuaflanagan@gmail.com>
parents: 375
diff changeset
6 if [ $# -eq 0 ]; then
63b1d003fd50 Stop requiring editing of example scripts
Joshua Flanagan <joshuaflanagan@gmail.com>
parents: 375
diff changeset
7 echo "You must specify your virtual serialport. (/dev/ttyACM0 on linux, /dev/cu.usbmodemXXXX on OSX)"
63b1d003fd50 Stop requiring editing of example scripts
Joshua Flanagan <joshuaflanagan@gmail.com>
parents: 375
diff changeset
8 echo " ex: $0 /dev/ttyACM0"
63b1d003fd50 Stop requiring editing of example scripts
Joshua Flanagan <joshuaflanagan@gmail.com>
parents: 375
diff changeset
9 exit 1
63b1d003fd50 Stop requiring editing of example scripts
Joshua Flanagan <joshuaflanagan@gmail.com>
parents: 375
diff changeset
10 fi
375
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
11 # XXX Set this to match your virtual serialport
398
63b1d003fd50 Stop requiring editing of example scripts
Joshua Flanagan <joshuaflanagan@gmail.com>
parents: 375
diff changeset
12 # TODO Show example for Cygwin/Windows
63b1d003fd50 Stop requiring editing of example scripts
Joshua Flanagan <joshuaflanagan@gmail.com>
parents: 375
diff changeset
13 # For Mac OSX it will be something like /dev/cu.usbmodem1413 (number may differ)
63b1d003fd50 Stop requiring editing of example scripts
Joshua Flanagan <joshuaflanagan@gmail.com>
parents: 375
diff changeset
14 SERIALPORT=$1
375
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
15
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
16 # NOTE: Make sure you don't write too quickly to the serial port, it can get overwhelmed by a modern computer
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
17 # Generally this just means commands will get ignored
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
18 # I'm using 100 ms sleeps here, but much smaller are probably sufficient
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
19
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
20 # Clear out cli buffer
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
21 printf "\r" > $SERIALPORT
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
22
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
23 # Change backlight color
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
24 # 3 16-bit numbers (hex or decimal) Red, Green and Blue
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
25 sleep 0.1
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
26 printf "lcdColor 0x100 0x2000 0x4000\r" > $SERIALPORT # Light blue
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
27
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
28 # Change the lcd image
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
29 # Arguments:
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
30 # - page
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
31 # - starting address
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
32 # - pixels (1 bit per pixel)
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
33 #
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
34 # There are 9 total pages of display memory, but only 4 are visable at time (it is possible to scroll though)
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
35 # Each page is 128 bits wide (16 bytes)
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
36 # See the datasheet for full details http://www.newhavendisplay.com/specs/NHD-C12832A1Z-FSRGB-FBW-3V.pdf
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
37 sleep 0.1
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
38 printf "lcdDisp 0x0 0x0 0xFF 0x13 0xFF 0x11 0xFF\r" > $SERIALPORT
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
39 sleep 0.1
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
40 printf "lcdDisp 0x1 0x10 0xFF 0x13 0xFF 0x11 0xFF 0x44\r" > $SERIALPORT
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
41 sleep 0.1
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
42 printf "lcdDisp 0x2 0x20 0xFF 0x13 0xFF 0x11 0xFF\r" > $SERIALPORT
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
43 sleep 0.1
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
44 printf "lcdDisp 0x3 0x30 0xFF 0x13 0xFF 0x11 0xFF\r" > $SERIALPORT
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
45
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
46 # Send command directly to the lcd
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
47 # See the datasheet for full details http://www.newhavendisplay.com/specs/NHD-C12832A1Z-FSRGB-FBW-3V.pdf
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
48 sleep 0.1
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
49 printf "lcdCmd 0xA7\r" > $SERIALPORT # Reverse display (0xA6 is Normal)
3e5a95c196f8 Adding example API scripts
Jacob Alexander <haata@kiibohd.com>
parents:
diff changeset
50