Source code for the Curilights Controller. See http://www.saccade.com/writing/projects/CuriController/ for details.

Dependencies:   FatFileSystem mbed

This is the source code for the Curilights controller. This lets you interactively control a string of Curilights. It provides a simple click-wheel user interface for changing colors, brightness and behavior. It responds to movement and lighting.

Finished Controller

/media/uploads/isonno/nxp3872_controllerclose.jpg

System Block Diagram

/media/uploads/isonno/blockdiagram.png

Committer:
isonno
Date:
Mon Feb 11 05:04:18 2013 +0000
Revision:
4:cfef06d8bb96
Parent:
0:6da5625a6946
Minor changes to add backlight routines.  Not hooked up yet, shouldn't affect build operation.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
isonno 0:6da5625a6946 1 // Small text font definition, from the original NokiaLCD.c
isonno 0:6da5625a6946 2
isonno 0:6da5625a6946 3 const byte font[475] = {
isonno 0:6da5625a6946 4 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
isonno 0:6da5625a6946 5 0x00 , 0x06 , 0x5F , 0x06 , 0x00 , // !
isonno 0:6da5625a6946 6 0x07 , 0x03 , 0x00 , 0x07 , 0x03 , // ,
isonno 0:6da5625a6946 7 0x24 , 0x7E , 0x24 , 0x7E , 0x24 , // #
isonno 0:6da5625a6946 8 0x24 , 0x2B , 0x6A , 0x12 , 0x00 , // $
isonno 0:6da5625a6946 9 0x63 , 0x13 , 0x08 , 0x64 , 0x63 , // %
isonno 0:6da5625a6946 10 0x36 , 0x49 , 0x56 , 0x20 , 0x50 , // &
isonno 0:6da5625a6946 11 0x00 , 0x07 , 0x03 , 0x00 , 0x00 , // //
isonno 0:6da5625a6946 12 0x00 , 0x3E , 0x41 , 0x00 , 0x00 , // (
isonno 0:6da5625a6946 13 0x00 , 0x41 , 0x3E , 0x00 , 0x00 , // )
isonno 0:6da5625a6946 14 0x08 , 0x3E , 0x1C , 0x3E , 0x08 , // *
isonno 0:6da5625a6946 15 0x08 , 0x08 , 0x3E , 0x08 , 0x08 , // +
isonno 0:6da5625a6946 16 0x00 , 0xE0 , 0x60 , 0x00 , 0x00 , // ,
isonno 0:6da5625a6946 17 0x08 , 0x08 , 0x08 , 0x08 , 0x08 , // -
isonno 0:6da5625a6946 18 0x00 , 0x60 , 0x60 , 0x00 , 0x00 , // .
isonno 0:6da5625a6946 19 0x20 , 0x10 , 0x08 , 0x04 , 0x02 , // /
isonno 0:6da5625a6946 20 0x3E , 0x51 , 0x49 , 0x45 , 0x3E , // 0
isonno 0:6da5625a6946 21 0x00 , 0x42 , 0x7F , 0x40 , 0x00 , // 1
isonno 0:6da5625a6946 22 0x62 , 0x51 , 0x49 , 0x49 , 0x46 , // 2
isonno 0:6da5625a6946 23 0x22 , 0x49 , 0x49 , 0x49 , 0x36 , // 3
isonno 0:6da5625a6946 24 0x18 , 0x14 , 0x12 , 0x7F , 0x10 , // 4
isonno 0:6da5625a6946 25 0x2F , 0x49 , 0x49 , 0x49 , 0x31 , // 5
isonno 0:6da5625a6946 26 0x3C , 0x4A , 0x49 , 0x49 , 0x30 , // 6
isonno 0:6da5625a6946 27 0x01 , 0x71 , 0x09 , 0x05 , 0x03 , // 7
isonno 0:6da5625a6946 28 0x36 , 0x49 , 0x49 , 0x49 , 0x36 , // 8
isonno 0:6da5625a6946 29 0x06 , 0x49 , 0x49 , 0x29 , 0x1E , // 9
isonno 0:6da5625a6946 30 0x00 , 0x6C , 0x6C , 0x00 , 0x00 , // :
isonno 0:6da5625a6946 31 0x00 , 0xEC , 0x6C , 0x00 , 0x00 , // ;
isonno 0:6da5625a6946 32 0x08 , 0x14 , 0x22 , 0x41 , 0x00 , // <
isonno 0:6da5625a6946 33 0x24 , 0x24 , 0x24 , 0x24 , 0x24 , // =
isonno 0:6da5625a6946 34 0x00 , 0x41 , 0x22 , 0x14 , 0x08 , // >
isonno 0:6da5625a6946 35 0x02 , 0x01 , 0x59 , 0x09 , 0x06 , // ?
isonno 0:6da5625a6946 36 0x3E , 0x41 , 0x5D , 0x55 , 0x1E , // @
isonno 0:6da5625a6946 37 0x7E , 0x09 , 0x09 , 0x09 , 0x7E , // A
isonno 0:6da5625a6946 38 0x7F , 0x49 , 0x49 , 0x49 , 0x36 , // B
isonno 0:6da5625a6946 39 0x3E , 0x41 , 0x41 , 0x41 , 0x22 , // C
isonno 0:6da5625a6946 40 0x7F , 0x41 , 0x41 , 0x41 , 0x3E , // D
isonno 0:6da5625a6946 41 0x7F , 0x49 , 0x49 , 0x49 , 0x41 , // E
isonno 0:6da5625a6946 42 0x7F , 0x09 , 0x09 , 0x09 , 0x01 , // F
isonno 0:6da5625a6946 43 0x3E , 0x41 , 0x49 , 0x49 , 0x7A , // G
isonno 0:6da5625a6946 44 0x7F , 0x08 , 0x08 , 0x08 , 0x7F , // H
isonno 0:6da5625a6946 45 0x00 , 0x41 , 0x7F , 0x41 , 0x00 , // I
isonno 0:6da5625a6946 46 0x30 , 0x40 , 0x40 , 0x40 , 0x3F , // J
isonno 0:6da5625a6946 47 0x7F , 0x08 , 0x14 , 0x22 , 0x41 , // K
isonno 0:6da5625a6946 48 0x7F , 0x40 , 0x40 , 0x40 , 0x40 , // L
isonno 0:6da5625a6946 49 0x7F , 0x02 , 0x04 , 0x02 , 0x7F , // M
isonno 0:6da5625a6946 50 0x7F , 0x02 , 0x04 , 0x08 , 0x7F , // N
isonno 0:6da5625a6946 51 0x3E , 0x41 , 0x41 , 0x41 , 0x3E , // O
isonno 0:6da5625a6946 52 0x7F , 0x09 , 0x09 , 0x09 , 0x06 , // P
isonno 0:6da5625a6946 53 0x3E , 0x41 , 0x51 , 0x21 , 0x5E , // Q
isonno 0:6da5625a6946 54 0x7F , 0x09 , 0x09 , 0x19 , 0x66 , // R
isonno 0:6da5625a6946 55 0x26 , 0x49 , 0x49 , 0x49 , 0x32 , // S
isonno 0:6da5625a6946 56 0x01 , 0x01 , 0x7F , 0x01 , 0x01 , // T
isonno 0:6da5625a6946 57 0x3F , 0x40 , 0x40 , 0x40 , 0x3F , // U
isonno 0:6da5625a6946 58 0x1F , 0x20 , 0x40 , 0x20 , 0x1F , // V
isonno 0:6da5625a6946 59 0x3F , 0x40 , 0x3C , 0x40 , 0x3F , // W
isonno 0:6da5625a6946 60 0x63 , 0x14 , 0x08 , 0x14 , 0x63 , // X
isonno 0:6da5625a6946 61 0x07 , 0x08 , 0x70 , 0x08 , 0x07 , // Y
isonno 0:6da5625a6946 62 0x71 , 0x49 , 0x45 , 0x43 , 0x00 , // Z
isonno 0:6da5625a6946 63 0x00 , 0x7F , 0x41 , 0x41 , 0x00 , // [
isonno 0:6da5625a6946 64 0x02 , 0x04 , 0x08 , 0x10 , 0x20 , // Back slash
isonno 0:6da5625a6946 65 0x00 , 0x41 , 0x41 , 0x7F , 0x00 , // ]
isonno 0:6da5625a6946 66 0x04 , 0x02 , 0x01 , 0x02 , 0x04 , // ^
isonno 0:6da5625a6946 67 0x80 , 0x80 , 0x80 , 0x80 , 0x80 , // _
isonno 0:6da5625a6946 68 0x00 , 0x03 , 0x07 , 0x00 , 0x00 , // `
isonno 0:6da5625a6946 69 0x20 , 0x54 , 0x54 , 0x54 , 0x78 , // a
isonno 0:6da5625a6946 70 0x7F , 0x44 , 0x44 , 0x44 , 0x38 , // b
isonno 0:6da5625a6946 71 0x38 , 0x44 , 0x44 , 0x44 , 0x28 , // c
isonno 0:6da5625a6946 72 0x38 , 0x44 , 0x44 , 0x44 , 0x7F , // d
isonno 0:6da5625a6946 73 0x38 , 0x54 , 0x54 , 0x54 , 0x18 , // e
isonno 0:6da5625a6946 74 0x08 , 0x7E , 0x09 , 0x09 , 0x00 , // f
isonno 0:6da5625a6946 75 0x18 , 0xA4 , 0xA4 , 0xA4 , 0x7C , // g
isonno 0:6da5625a6946 76 0x7F , 0x04 , 0x04 , 0x78 , 0x00 , // h
isonno 0:6da5625a6946 77 0x00 , 0x00 , 0x7D , 0x00 , 0x00 , // i
isonno 0:6da5625a6946 78 0x40 , 0x80 , 0x84 , 0x7D , 0x00 , // j
isonno 0:6da5625a6946 79 0x7F , 0x10 , 0x28 , 0x44 , 0x00 , // k
isonno 0:6da5625a6946 80 0x00 , 0x00 , 0x7F , 0x40 , 0x00 , // l
isonno 0:6da5625a6946 81 0x7C , 0x04 , 0x18 , 0x04 , 0x78 , // m
isonno 0:6da5625a6946 82 0x7C , 0x04 , 0x04 , 0x78 , 0x00 , // n
isonno 0:6da5625a6946 83 0x38 , 0x44 , 0x44 , 0x44 , 0x38 , // o
isonno 0:6da5625a6946 84 0xFC , 0x44 , 0x44 , 0x44 , 0x38 , // p
isonno 0:6da5625a6946 85 0x38 , 0x44 , 0x44 , 0x44 , 0xFC , // q
isonno 0:6da5625a6946 86 0x44 , 0x78 , 0x44 , 0x04 , 0x08 , // r
isonno 0:6da5625a6946 87 0x08 , 0x54 , 0x54 , 0x54 , 0x20 , // s
isonno 0:6da5625a6946 88 0x04 , 0x3E , 0x44 , 0x24 , 0x00 , // t
isonno 0:6da5625a6946 89 0x3C , 0x40 , 0x20 , 0x7C , 0x00 , // u
isonno 0:6da5625a6946 90 0x1C , 0x20 , 0x40 , 0x20 , 0x1C , // v
isonno 0:6da5625a6946 91 0x3C , 0x60 , 0x30 , 0x60 , 0x3C , // w
isonno 0:6da5625a6946 92 0x6C , 0x10 , 0x10 , 0x6C , 0x00 , // x
isonno 0:6da5625a6946 93 0x9C , 0xA0 , 0x60 , 0x3C , 0x00 , // y
isonno 0:6da5625a6946 94 0x64 , 0x54 , 0x54 , 0x4C , 0x00 , // z
isonno 0:6da5625a6946 95 0x08 , 0x3E , 0x41 , 0x41 , 0x00 , // {
isonno 0:6da5625a6946 96 0x00 , 0x00 , 0x7F , 0x00 , 0x00 , // |
isonno 0:6da5625a6946 97 0x00 , 0x41 , 0x41 , 0x3E , 0x08 , // }
isonno 0:6da5625a6946 98 0x02 , 0x01 , 0x02 , 0x01 , 0x00 // ~
isonno 0:6da5625a6946 99 };