The London Hackspace bandwidth meter

Dependencies:   LPD8806 MODSERIAL mbed picojson

See:

Committer:
Jasper
Date:
Sun Jun 10 19:23:12 2012 +0000
Revision:
0:0a6f193d5344
Child:
1:e384e7146746
initial version, in the middle of simplifying

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jasper 0:0a6f193d5344 1 #include "mbed.h"
Jasper 0:0a6f193d5344 2
Jasper 0:0a6f193d5344 3 #include "LPD8806.h"
Jasper 0:0a6f193d5344 4
Jasper 0:0a6f193d5344 5 DigitalOut led1(LED1);
Jasper 0:0a6f193d5344 6 DigitalOut led2(LED2);
Jasper 0:0a6f193d5344 7 DigitalOut led3(LED3);
Jasper 0:0a6f193d5344 8 DigitalOut led4(LED4);
Jasper 0:0a6f193d5344 9
Jasper 0:0a6f193d5344 10 LPD8806 strip = LPD8806(32);
Jasper 0:0a6f193d5344 11
Jasper 0:0a6f193d5344 12 /* 0 - 16 */
Jasper 0:0a6f193d5344 13 void top_strip(int quantity){
Jasper 0:0a6f193d5344 14 int i;
Jasper 0:0a6f193d5344 15
Jasper 0:0a6f193d5344 16 if (quantity == 0) {
Jasper 0:0a6f193d5344 17 // blank it
Jasper 0:0a6f193d5344 18 setPixelsTop(0, 16, 0);
Jasper 0:0a6f193d5344 19 }
Jasper 0:0a6f193d5344 20
Jasper 0:0a6f193d5344 21 setPixelsTop(0, quantity < 12 ? quantity : 12, strip.Color(0, 127, 0));
Jasper 0:0a6f193d5344 22
Jasper 0:0a6f193d5344 23 for (i = 0 ; i < 12 ; i++) {
Jasper 0:0a6f193d5344 24 if (i <= quantity)
Jasper 0:0a6f193d5344 25 strip.setPixelColor(i, 0, 127, 0);
Jasper 0:0a6f193d5344 26 else
Jasper 0:0a6f193d5344 27 strip.setPixelColor(i, 0, 0, 0);
Jasper 0:0a6f193d5344 28 }
Jasper 0:0a6f193d5344 29 i = 12;
Jasper 0:0a6f193d5344 30 if (i <= quantity)
Jasper 0:0a6f193d5344 31 strip.setPixelColor(i, 127, 127, 0);
Jasper 0:0a6f193d5344 32 else
Jasper 0:0a6f193d5344 33 strip.setPixelColor(i, 0, 0, 0);
Jasper 0:0a6f193d5344 34
Jasper 0:0a6f193d5344 35 i = 13;
Jasper 0:0a6f193d5344 36 if (i <= quantity)
Jasper 0:0a6f193d5344 37 strip.setPixelColor(i, 127, 127, 0);
Jasper 0:0a6f193d5344 38 else
Jasper 0:0a6f193d5344 39 strip.setPixelColor(i, 0, 0, 0);
Jasper 0:0a6f193d5344 40
Jasper 0:0a6f193d5344 41 i = 14;
Jasper 0:0a6f193d5344 42 if (i <= quantity)
Jasper 0:0a6f193d5344 43 strip.setPixelColor(i, 127, 0, 0);
Jasper 0:0a6f193d5344 44 else
Jasper 0:0a6f193d5344 45 strip.setPixelColor(i, 0, 0, 0);
Jasper 0:0a6f193d5344 46
Jasper 0:0a6f193d5344 47 i = 15;
Jasper 0:0a6f193d5344 48 if (i <= quantity)
Jasper 0:0a6f193d5344 49 strip.setPixelColor(i, 127, 0, 0);
Jasper 0:0a6f193d5344 50 else
Jasper 0:0a6f193d5344 51 strip.setPixelColor(i, 0, 0, 0);
Jasper 0:0a6f193d5344 52
Jasper 0:0a6f193d5344 53 strip.show();
Jasper 0:0a6f193d5344 54 }
Jasper 0:0a6f193d5344 55
Jasper 0:0a6f193d5344 56 void bottom_strip(int quantity){
Jasper 0:0a6f193d5344 57 int i;
Jasper 0:0a6f193d5344 58
Jasper 0:0a6f193d5344 59 for (i = 0 ; i < 12 ; i++) {
Jasper 0:0a6f193d5344 60 if (i <= quantity)
Jasper 0:0a6f193d5344 61 strip.setPixelColor(16 + i, 0, 127, 0);
Jasper 0:0a6f193d5344 62 else
Jasper 0:0a6f193d5344 63 strip.setPixelColor(16 + i, 0, 0, 0);
Jasper 0:0a6f193d5344 64 }
Jasper 0:0a6f193d5344 65 i = 12;
Jasper 0:0a6f193d5344 66 if (i <= quantity)
Jasper 0:0a6f193d5344 67 strip.setPixelColor(16 + i, 127, 127, 0);
Jasper 0:0a6f193d5344 68 else
Jasper 0:0a6f193d5344 69 strip.setPixelColor(16 + i, 0, 0, 0);
Jasper 0:0a6f193d5344 70
Jasper 0:0a6f193d5344 71 i = 13;
Jasper 0:0a6f193d5344 72 if (i <= quantity)
Jasper 0:0a6f193d5344 73 strip.setPixelColor(16 + i, 127, 127, 0);
Jasper 0:0a6f193d5344 74 else
Jasper 0:0a6f193d5344 75 strip.setPixelColor(16 + i, 0, 0, 0);
Jasper 0:0a6f193d5344 76
Jasper 0:0a6f193d5344 77 i = 14;
Jasper 0:0a6f193d5344 78 if (i <= quantity)
Jasper 0:0a6f193d5344 79 strip.setPixelColor(16 + i, 127, 0, 0);
Jasper 0:0a6f193d5344 80 else
Jasper 0:0a6f193d5344 81 strip.setPixelColor(16 + i, 0, 0, 0);
Jasper 0:0a6f193d5344 82
Jasper 0:0a6f193d5344 83 i = 15;
Jasper 0:0a6f193d5344 84 if (i <= quantity)
Jasper 0:0a6f193d5344 85 strip.setPixelColor(16 + i, 127, 0, 0);
Jasper 0:0a6f193d5344 86 else
Jasper 0:0a6f193d5344 87 strip.setPixelColor(16 + i, 0, 0, 0);
Jasper 0:0a6f193d5344 88 }
Jasper 0:0a6f193d5344 89
Jasper 0:0a6f193d5344 90 void setPixelsTop(int start, int end, int colour) {
Jasper 0:0a6f193d5344 91 int i;
Jasper 0:0a6f193d5344 92
Jasper 0:0a6f193d5344 93 for (i = start; i < end + 1 ; i++) {
Jasper 0:0a6f193d5344 94 strip.setPixelColor(i, colour);
Jasper 0:0a6f193d5344 95 }
Jasper 0:0a6f193d5344 96 }
Jasper 0:0a6f193d5344 97
Jasper 0:0a6f193d5344 98 void setPixelsBottom(int start, int end, int colour) {
Jasper 0:0a6f193d5344 99 int i;
Jasper 0:0a6f193d5344 100
Jasper 0:0a6f193d5344 101 for (i = start; i < end + 1 ; i++) {
Jasper 0:0a6f193d5344 102 strip.setPixelColor(16 + i, colour);
Jasper 0:0a6f193d5344 103 }
Jasper 0:0a6f193d5344 104 }
Jasper 0:0a6f193d5344 105
Jasper 0:0a6f193d5344 106 int main() {
Jasper 0:0a6f193d5344 107 int count = 0;
Jasper 0:0a6f193d5344 108 int c2 = 0;
Jasper 0:0a6f193d5344 109 int i;
Jasper 0:0a6f193d5344 110
Jasper 0:0a6f193d5344 111 strip.begin();
Jasper 0:0a6f193d5344 112
Jasper 0:0a6f193d5344 113 for (i = 0 ; i < strip.numPixels() ; i++) {
Jasper 0:0a6f193d5344 114 // clear the strip
Jasper 0:0a6f193d5344 115 strip.setPixelColor(i, 0);
Jasper 0:0a6f193d5344 116 }
Jasper 0:0a6f193d5344 117
Jasper 0:0a6f193d5344 118 strip.show();
Jasper 0:0a6f193d5344 119
Jasper 0:0a6f193d5344 120 while(1) {
Jasper 0:0a6f193d5344 121
Jasper 0:0a6f193d5344 122 if (c2 > 16) c2 = 0;
Jasper 0:0a6f193d5344 123
Jasper 0:0a6f193d5344 124 led1 = 1;
Jasper 0:0a6f193d5344 125 wait(0.25);
Jasper 0:0a6f193d5344 126 led1 = 0;
Jasper 0:0a6f193d5344 127 count ++;
Jasper 0:0a6f193d5344 128 if (count > 2)
Jasper 0:0a6f193d5344 129 {
Jasper 0:0a6f193d5344 130 top_strip(c2);
Jasper 0:0a6f193d5344 131 bottom_strip(c2);
Jasper 0:0a6f193d5344 132 strip.show();
Jasper 0:0a6f193d5344 133 count = 0;
Jasper 0:0a6f193d5344 134 c2 ++;
Jasper 0:0a6f193d5344 135 }
Jasper 0:0a6f193d5344 136 }
Jasper 0:0a6f193d5344 137 }