Suzu Tomo / Mbed OS 2020_ChristmasLED

Dependencies:   WS2812B_SPI

Committer:
Suzutomo
Date:
Sat Nov 07 13:40:03 2020 +0000
Revision:
0:943dfa56009a
first?

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Suzutomo 0:943dfa56009a 1 void SingSingSing()
Suzutomo 0:943dfa56009a 2 {
Suzutomo 0:943dfa56009a 3 doLedStop = true;
Suzutomo 0:943dfa56009a 4 calcBar = 0;
Suzutomo 0:943dfa56009a 5
Suzutomo 0:943dfa56009a 6 // Intro
Suzutomo 0:943dfa56009a 7 FadeLED(2*4,0,0xFFFFFF,1);
Suzutomo 0:943dfa56009a 8 LightLED(16*4,0xFFFFFF,1);
Suzutomo 0:943dfa56009a 9
Suzutomo 0:943dfa56009a 10 // A
Suzutomo 0:943dfa56009a 11 LightLED(10*4,0x0000FF,1);
Suzutomo 0:943dfa56009a 12 LightLED(2*4,0xFF0000,1);
Suzutomo 0:943dfa56009a 13 LightLED(4*4,0x0000FF,1);
Suzutomo 0:943dfa56009a 14
Suzutomo 0:943dfa56009a 15 // B
Suzutomo 0:943dfa56009a 16 LightLED(8*4,0x00FF00,1);
Suzutomo 0:943dfa56009a 17
Suzutomo 0:943dfa56009a 18 // C
Suzutomo 0:943dfa56009a 19 LightLED(7*4 + 3.66,0xFFFFFF,1);
Suzutomo 0:943dfa56009a 20
Suzutomo 0:943dfa56009a 21 LightLED(2,0xFF0000,1);
Suzutomo 0:943dfa56009a 22 LightLED(2.33,0x0000FF,1);
Suzutomo 0:943dfa56009a 23 LightLED(1.66,0xFF0000,1);
Suzutomo 0:943dfa56009a 24 LightLED(2.33 + 1*4+3,0x0000FF,1);
Suzutomo 0:943dfa56009a 25 LightLED(1,0x000000,1);
Suzutomo 0:943dfa56009a 26
Suzutomo 0:943dfa56009a 27 // D
Suzutomo 0:943dfa56009a 28 LightLED(5*4 + 3.66,0x8000FF,1);
Suzutomo 0:943dfa56009a 29 LightLED(2*4,0xFF0000,1);
Suzutomo 0:943dfa56009a 30 LightLED(0.33 + 4*4,0x8000FF,1);
Suzutomo 0:943dfa56009a 31
Suzutomo 0:943dfa56009a 32 LightLED(1.66,0xFF0000,1);
Suzutomo 0:943dfa56009a 33 LightLED(2.33,0x0000FF,1);
Suzutomo 0:943dfa56009a 34 LightLED(1.66,0xFF0000,1);
Suzutomo 0:943dfa56009a 35 LightLED(2,0x0000FF,1);
Suzutomo 0:943dfa56009a 36 LightLED(0.33+2*4,0xFF0000,1);
Suzutomo 0:943dfa56009a 37
Suzutomo 0:943dfa56009a 38 // E
Suzutomo 0:943dfa56009a 39 for (int i = 0; i < BUF; i++) {
Suzutomo 0:943dfa56009a 40 if (i < BUF/2) for (int t = 0; t < 3; t++) tape[t].Write(i,0xFFFFFF);
Suzutomo 0:943dfa56009a 41 else for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
Suzutomo 0:943dfa56009a 42 }
Suzutomo 0:943dfa56009a 43 TempoWait(2*4,1);
Suzutomo 0:943dfa56009a 44 for (int i = 0; i < BUF; i++) {
Suzutomo 0:943dfa56009a 45 if (i > BUF/2) for (int t = 0; t < 3; t++) tape[t].Write(i,0xFFFFFF);
Suzutomo 0:943dfa56009a 46 else for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
Suzutomo 0:943dfa56009a 47 }
Suzutomo 0:943dfa56009a 48 TempoWait(2*4,1);
Suzutomo 0:943dfa56009a 49 LightLED(4*4,0xFFFFFF,1);
Suzutomo 0:943dfa56009a 50
Suzutomo 0:943dfa56009a 51 // F
Suzutomo 0:943dfa56009a 52 LightLED(16*4,0x00FF00,1);
Suzutomo 0:943dfa56009a 53
Suzutomo 0:943dfa56009a 54 // G
Suzutomo 0:943dfa56009a 55 for (int j = 0; j < 2; j++) {
Suzutomo 0:943dfa56009a 56 for (int i = 0; i < 3; i++) {
Suzutomo 0:943dfa56009a 57 LightLED(4,0xFF0000,1);
Suzutomo 0:943dfa56009a 58 FadeLED(4,0,0x0000FF,1);
Suzutomo 0:943dfa56009a 59 }
Suzutomo 0:943dfa56009a 60 FadeLED(2*4,0,0x0000FF,1);
Suzutomo 0:943dfa56009a 61 }
Suzutomo 0:943dfa56009a 62
Suzutomo 0:943dfa56009a 63 // H
Suzutomo 0:943dfa56009a 64 LightLED(8*4,0x00FF00,1);
Suzutomo 0:943dfa56009a 65
Suzutomo 0:943dfa56009a 66 // I
Suzutomo 0:943dfa56009a 67 for (int j = 0; j < 2; j++) {
Suzutomo 0:943dfa56009a 68 for (int i = 0; i < 3; i++) {
Suzutomo 0:943dfa56009a 69 LightLED(2,0xFF0000,1);
Suzutomo 0:943dfa56009a 70 LightLED(2,0x0000FF,1);
Suzutomo 0:943dfa56009a 71 LightLED(1.66,0xFF0000,1);
Suzutomo 0:943dfa56009a 72 LightLED(2.33,0x0000FF,1);
Suzutomo 0:943dfa56009a 73 }
Suzutomo 0:943dfa56009a 74 FadeLED(2*4,0,0x0000FF,1);
Suzutomo 0:943dfa56009a 75 }
Suzutomo 0:943dfa56009a 76
Suzutomo 0:943dfa56009a 77 // J
Suzutomo 0:943dfa56009a 78 for (int j = 0; j < 8; j++) {
Suzutomo 0:943dfa56009a 79 for (int i = 0; i < BUF; i++) {
Suzutomo 0:943dfa56009a 80 if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0xFFFFFF);
Suzutomo 0:943dfa56009a 81 else for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
Suzutomo 0:943dfa56009a 82 }
Suzutomo 0:943dfa56009a 83 TempoWait(1,1);
Suzutomo 0:943dfa56009a 84 for (int i = 0; i < BUF; i++) {
Suzutomo 0:943dfa56009a 85 if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
Suzutomo 0:943dfa56009a 86 else for (int t = 0; t < 3; t++) tape[t].Write(i,0xFFFFFF);
Suzutomo 0:943dfa56009a 87 }
Suzutomo 0:943dfa56009a 88 TempoWait(1,1);
Suzutomo 0:943dfa56009a 89 }
Suzutomo 0:943dfa56009a 90 for (int j = 0; j < 4; j++) {
Suzutomo 0:943dfa56009a 91 for (int i = 0; i < BUF; i++) {
Suzutomo 0:943dfa56009a 92 if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0xFF0000);
Suzutomo 0:943dfa56009a 93 else for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
Suzutomo 0:943dfa56009a 94 }
Suzutomo 0:943dfa56009a 95 TempoWait(1,1);
Suzutomo 0:943dfa56009a 96 for (int i = 0; i < BUF; i++) {
Suzutomo 0:943dfa56009a 97 if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
Suzutomo 0:943dfa56009a 98 else for (int t = 0; t < 3; t++) tape[t].Write(i,0xFF0000);
Suzutomo 0:943dfa56009a 99 }
Suzutomo 0:943dfa56009a 100 TempoWait(1,1);
Suzutomo 0:943dfa56009a 101 }
Suzutomo 0:943dfa56009a 102 for (int j = 0; j < 4; j++) {
Suzutomo 0:943dfa56009a 103 for (int i = 0; i < BUF; i++) {
Suzutomo 0:943dfa56009a 104 if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0x00FF00);
Suzutomo 0:943dfa56009a 105 else for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
Suzutomo 0:943dfa56009a 106 }
Suzutomo 0:943dfa56009a 107 TempoWait(1,1);
Suzutomo 0:943dfa56009a 108 for (int i = 0; i < BUF; i++) {
Suzutomo 0:943dfa56009a 109 if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
Suzutomo 0:943dfa56009a 110 else for (int t = 0; t < 3; t++) tape[t].Write(i,0x00FF00);
Suzutomo 0:943dfa56009a 111 }
Suzutomo 0:943dfa56009a 112 TempoWait(1,1);
Suzutomo 0:943dfa56009a 113 }
Suzutomo 0:943dfa56009a 114 for (int j = 0; j < 4; j++) {
Suzutomo 0:943dfa56009a 115 for (int i = 0; i < BUF; i++) {
Suzutomo 0:943dfa56009a 116 if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0x0000FF);
Suzutomo 0:943dfa56009a 117 else for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
Suzutomo 0:943dfa56009a 118 }
Suzutomo 0:943dfa56009a 119 TempoWait(1,1);
Suzutomo 0:943dfa56009a 120 for (int i = 0; i < BUF; i++) {
Suzutomo 0:943dfa56009a 121 if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
Suzutomo 0:943dfa56009a 122 else for (int t = 0; t < 3; t++) tape[t].Write(i,0x0000FF);
Suzutomo 0:943dfa56009a 123 }
Suzutomo 0:943dfa56009a 124 TempoWait(1,1);
Suzutomo 0:943dfa56009a 125 }
Suzutomo 0:943dfa56009a 126 for (int j = 0; j < 8; j++) {
Suzutomo 0:943dfa56009a 127 for (int i = 0; i < BUF; i++) {
Suzutomo 0:943dfa56009a 128 if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0xFF0000);
Suzutomo 0:943dfa56009a 129 else for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
Suzutomo 0:943dfa56009a 130 }
Suzutomo 0:943dfa56009a 131 TempoWait(1,1);
Suzutomo 0:943dfa56009a 132 for (int i = 0; i < BUF; i++) {
Suzutomo 0:943dfa56009a 133 if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
Suzutomo 0:943dfa56009a 134 else for (int t = 0; t < 3; t++) tape[t].Write(i,0xFF0000);
Suzutomo 0:943dfa56009a 135 }
Suzutomo 0:943dfa56009a 136 TempoWait(1,1);
Suzutomo 0:943dfa56009a 137 }
Suzutomo 0:943dfa56009a 138
Suzutomo 0:943dfa56009a 139 // K
Suzutomo 0:943dfa56009a 140 for (int j = 0; j < 11; j++) {
Suzutomo 0:943dfa56009a 141 for (int i = 0; i < BUF; i++) {
Suzutomo 0:943dfa56009a 142 if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0xFFFFFF);
Suzutomo 0:943dfa56009a 143 else for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
Suzutomo 0:943dfa56009a 144 }
Suzutomo 0:943dfa56009a 145 TempoWait(1,1);
Suzutomo 0:943dfa56009a 146 for (int i = 0; i < BUF; i++) {
Suzutomo 0:943dfa56009a 147 if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
Suzutomo 0:943dfa56009a 148 else for (int t = 0; t < 3; t++) tape[t].Write(i,0xFFFFFF);
Suzutomo 0:943dfa56009a 149 }
Suzutomo 0:943dfa56009a 150 TempoWait(1,1);
Suzutomo 0:943dfa56009a 151 }
Suzutomo 0:943dfa56009a 152 for (int i = 0; i < BUF; i++) {
Suzutomo 0:943dfa56009a 153 if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0xFFFFFF);
Suzutomo 0:943dfa56009a 154 else for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
Suzutomo 0:943dfa56009a 155 }
Suzutomo 0:943dfa56009a 156 TempoWait(1,1);
Suzutomo 0:943dfa56009a 157 LightLED(2,0xFF0000,1);
Suzutomo 0:943dfa56009a 158 LightLED(2,0xFFFF00,1);
Suzutomo 0:943dfa56009a 159 LightLED(2,0x00FF00,1);
Suzutomo 0:943dfa56009a 160 LightLED(2,0x00FFFF,1);
Suzutomo 0:943dfa56009a 161 LightLED(1+4*4,0x0000FF,1);
Suzutomo 0:943dfa56009a 162
Suzutomo 0:943dfa56009a 163 LightLED(1*4,0x000000,1);
Suzutomo 0:943dfa56009a 164
Suzutomo 0:943dfa56009a 165 LightLED(2,0xFF0000,1);
Suzutomo 0:943dfa56009a 166 LightLED(2,0x000000,1);
Suzutomo 0:943dfa56009a 167 LightLED(2,0xFF0000,1);
Suzutomo 0:943dfa56009a 168 LightLED(2,0x000000,1);
Suzutomo 0:943dfa56009a 169
Suzutomo 0:943dfa56009a 170 LightLED(5*4,0xFFFFFF,1);
Suzutomo 0:943dfa56009a 171
Suzutomo 0:943dfa56009a 172 // End
Suzutomo 0:943dfa56009a 173 pc.putc(0xFF);
Suzutomo 0:943dfa56009a 174
Suzutomo 0:943dfa56009a 175
Suzutomo 0:943dfa56009a 176 while (1) ;
Suzutomo 0:943dfa56009a 177 }