Suzu Tomo / Mbed OS 2020_ChristmasLED

Dependencies:   WS2812B_SPI

Files at this revision

API Documentation at this revision

Comitter:
Suzutomo
Date:
Sun Nov 22 12:01:50 2020 +0000
Parent:
0:943dfa56009a
Commit message:
Initial commit

Changed in this revision

AsyncSerial.lib Show diff for this revision Revisions of this file
LED.h Show diff for this revision Revisions of this file
README.md Show diff for this revision Revisions of this file
doctorX.h Show diff for this revision Revisions of this file
hale_sola.h Show diff for this revision Revisions of this file
jurassic.h Show diff for this revision Revisions of this file
lupin.h Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
midi.h Show diff for this revision Revisions of this file
sanadamaru.h Show diff for this revision Revisions of this file
singsingsing.h Show diff for this revision Revisions of this file
spin_kick.h Show diff for this revision Revisions of this file
starwars.h Show diff for this revision Revisions of this file
sunshineaura.h Show diff for this revision Revisions of this file
yozakura.h Show diff for this revision Revisions of this file
--- a/AsyncSerial.lib	Sat Nov 07 13:40:03 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-https://os.mbed.com/users/Suzutomo/code/AsyncSerial/#32c2f28ac0b6
--- a/LED.h	Sat Nov 07 13:40:03 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,242 +0,0 @@
-#include "WS2812B.h"
-
-#define BUF 60
-#define BUF2 42
-
-double beatTime = 60/60;
-bool LR = false;
-
-
-int buf[3] = {BUF,BUF,BUF2};
-WS2812B tape[2] = {
-    WS2812B(PB_0,BUF),
-    WS2812B(PC_1,BUF)/*,
-    WS2812B(PC_0,BUF2)*/
-};
-
-Timer ledT;
-
-volatile double calcBar = 0;
-
-void TempoWait(double beat,bool useF8 = 0)
-{
-    calcBar += beat;
-    if (useF8) while (barClock < calcBar * 24);
-    else while (ledT.read() < calcBar * beatTime);
-}
-
-void FlowLED(double beat,int type,uint32_t color,bool useF8 = 0)
-{
-    for (int t = 0; t < 2; t++) tape[t].Clear(buf[t]);
-    switch (type) {
-        case 0 : // 端から端
-            for (int i = 0; i<=BUF; i++) {
-                for (int t = 0; t < 2; t++) tape[t].Write(i-1,0x0);
-                for (int j = 0; j < 3; j++) for (int t = 0; t < 2; t++) tape[t].Write(i + j,color);
-                
-                if (useF8) while (barClock < calcBar * 24 + i * beat * 24 / BUF);
-                else while (ledT.read() < calcBar * beatTime + i * beat * beatTime / BUF);
-            }
-            break;
-
-        case 1 : // 端から端
-            for (int i = 0; i<=BUF; i++) {
-                for (int t = 0; t < 2; t++) tape[t].Write(BUF - i + 1,0x0);
-                for (int j = 0; j > -3; j--) for (int t = 0; t < 2; t++) tape[t].Write(BUF - i + j,color);
-                
-                if (useF8) while (barClock < calcBar * 24 + i * beat * 24 / BUF);
-                else while (ledT.read() < calcBar * beatTime + i * beat * beatTime / BUF);
-            }
-            break;
-
-        case 2 : // 外から中央に
-            for (int i = 0; i<=(BUF / 2); i++) {
-                for (int t = 0; t < 2; t++) tape[t].Write(i - 1,0x0);
-                for (int t = 0; t < 2; t++) tape[t].Write(BUF - i + 1,0x0);
-                for (int j = 0; j < 3; j++) {
-                    for (int t = 0; t < 2; t++) tape[t].Write(i + j,color);
-                    for (int t = 0; t < 2; t++) tape[t].Write(BUF - i - j,color);
-                }
-                
-                if (useF8) while (barClock < calcBar * 24 + i * beat * 24 * 2 / BUF);
-                else while (ledT.read() < calcBar * beatTime + i * beat * beatTime * 2 / BUF);
-            }
-            break;
-
-        case 3 : // 中央から外に
-            for (int i = 0; i<=(BUF / 2); i++) {
-                for (int t = 0; t < 2; t++) tape[t].Write(BUF / 2 - i + 1,0x0);
-                for (int t = 0; t < 2; t++) tape[t].Write(BUF / 2 + i - 1,0x0);
-                for (int j = 0; j < 3; j++) {
-                    for (int t = 0; t < 2; t++) tape[t].Write(BUF / 2 - i - j,color);
-                    for (int t = 0; t < 2; t++) tape[t].Write(BUF / 2 + i + j,color);
-                }
-                
-                if (useF8) while (barClock < calcBar * 24 + i * beat * 24 * 2 / BUF);
-                else while (ledT.read() < calcBar * beatTime + i * beat * beatTime * 2 / BUF);
-            }
-            break;
-
-        case 4 : // まとまって流れる
-            for (int i = 0; i<=BUF + 40; i++) {
-                //printf("%d\r\n",i);
-                for (int j = 0; j<20; j++) {
-                    for (int t = 0; t < 2; t++) tape[t].Write(i - 20 + j,tape[t].BrightAdjust(color,(double)j * 1/20/*sin(j * (PI / 10))*/));
-                }
-                for (int j = 0; j < 20; j++) for (int t = 0; t < 2; t++) tape[t].Write(i - 20 + j,0);
-                if (useF8) while (barClock < calcBar * 24 + i * beat * 24 / (BUF + 40));
-                else while (barClock < calcBar * 24 + i * beat * 24 / (BUF + 40));
-                
-            }
-            break;
-    }
-    for (int t = 0; t < 2; t++) tape[t].Clear(BUF);
-    calcBar += beat;
-
-}
-
-void FlashLED(double beat,int type,uint32_t color,bool useF8 = 0)
-{
-    calcBar += beat;
-    for (int t = 0; t < 2; t++) tape[t].Clear(BUF);
-    switch (type) {
-        case 0 :
-            int rw = (rand() % 5) + 2;
-            int rb = (rand() % 5) + 2;
-            for (int i = 0; i<=BUF;) {
-                for (int j = 0; j < rw; j++) {
-                    if (rw % 2) for (int t = 0; t < 2; t++) tape[t].Write(i + j,color);
-                    else for (int t = 0; t < 2; t++) tape[t].Write(i + j,0x0);
-                }
-                for (int j = 0; j < rb; j++) {
-                    if (rw % 2)for (int t = 0; t < 2; t++) tape[t].Write(i + rw + j,0x0);
-                    else for (int t = 0; t < 2; t++) tape[t].Write(i + rw + j,color);
-                }
-                i += rw + rb;
-            }
-            break;
-        case 1 :
-            int r = (rand() % (BUF / 2 - BUF / 4));
-            for (int i = 0; i<=BUF; i++) {
-                if (LR) {
-                    if ((i - r > 0) && (i - r < (BUF / 4)))for (int t = 0; t < 2; t++) tape[t].Write(i,color);
-                    else for (int t = 0; t < 2; t++) tape[t].Write(i,0x0);
-                } else {
-                    if ((i - (r + BUF / 2) > 0) && (i - (r + BUF / 2) < (BUF / 4))) for (int t = 0; t < 2; t++) tape[t].Write(i,color);
-                    else for (int t = 0; t < 2; t++) tape[t].Write(i,0x0);
-                }
-            }
-            LR = !LR;
-            break;
-    }
-
-    if (useF8) while (barClock < calcBar * 24);
-    else while (ledT.read() < calcBar * beatTime);
-    //ws.Clear(BUF);
-
-}
-
-void LightLED(double beat,uint32_t color,bool useF8 = 0)
-{
-    calcBar += beat;
-    for (int t = 0; t < 2; t++) tape[t].Write(color);
-    if (useF8) while (barClock < calcBar * 24);
-    else while (ledT.read() < calcBar * beatTime);
-}
-
-void SendLED(double beat,bool useF8 = 0)
-{
-    calcBar += beat;
-    if (useF8) while (calcBar < calcBar * 24);
-    else while (ledT.read() < calcBar * beatTime);
-}
-
-void FadeLED(double beat,int mode,uint32_t color,bool useF8 = 0)
-{
-    for (int i = 1; i <= 48; i++) {
-        if (mode == 0) for (int t = 0; t < 2; t++) tape[t].Write(color,i / 48.0);
-        if (mode == 1) for (int t = 0; t < 2; t++) tape[t].Write(color,(1.0 - i / 48.0));
-        if (useF8) while (barClock < calcBar * 24 + i * beat * 24 / 48);
-        else while (ledT.read() < calcBar * beatTime + i * beat * beatTime / 48);
-    }
-    calcBar += beat;
-}
-
-void SendingLED()
-{
-    while (1) {
-        for (int t = 0; t < 2; t++) tape[t].Send();
-        wait_us((1000 / 60)*1e3);
-    }
-}
-
-
-void FlowLED2(double beat,int type,uint32_t color,int num,bool useF8 = 0)
-{
-    tape[num].Clear(buf[num]);
-    switch (type) {
-        case 0 : // 端から端
-            for (int i = 0; i<=BUF; i++) {
-                tape[num].Write(i-1,0x0);
-                for (int j = 0; j < 3; j++) tape[num].Write(i + j,color);
-                
-                if (useF8) while (barClock < calcBar * 24 + i * beat * 24 / BUF);
-                else while (ledT.read() < calcBar * beatTime + i * beat * beatTime / BUF);
-            }
-            break;
-
-        case 1 : // 端から端
-            for (int i = 0; i<=BUF; i++) {
-                tape[num].Write(BUF - i + 1,0x0);
-                for (int j = 0; j > -3; j--) tape[num].Write(BUF - i + j,color);
-                
-                if (useF8) while (barClock < calcBar * 24 + i * beat * 24 / BUF);
-                else while (ledT.read() < calcBar * beatTime + i * beat * beatTime / BUF);
-            }
-            break;
-
-        case 2 : // 外から中央に
-            for (int i = 0; i<=(BUF / 2); i++) {
-                tape[num].Write(i - 1,0x0);
-                tape[num].Write(BUF - i + 1,0x0);
-                for (int j = 0; j < 3; j++) {
-                    tape[num].Write(i + j,color);
-                    tape[num].Write(BUF - i - j,color);
-                }
-                
-                if (useF8) while (barClock < calcBar * 24 + i * beat * 24 * 2 / BUF);
-                else while (ledT.read() < calcBar * beatTime + i * beat * beatTime * 2 / BUF);
-            }
-            break;
-
-        case 3 : // 中央から外に
-            for (int i = 0; i<=(BUF / 2); i++) {
-                tape[num].Write(BUF / 2 - i + 1,0x0);
-                tape[num].Write(BUF / 2 + i - 1,0x0);
-                for (int j = 0; j < 3; j++) {
-                    tape[num].Write(BUF / 2 - i - j,color);
-                    tape[num].Write(BUF / 2 + i + j,color);
-                }
-                
-                if (useF8) while (barClock < calcBar * 24 + i * beat * 24 * 2 / BUF);
-                else while (ledT.read() < calcBar * beatTime + i * beat * beatTime * 2 / BUF);
-            }
-            break;
-
-        case 4 : // まとまって流れる
-            for (int i = 0; i<=BUF + 40; i++) {
-                //printf("%d\r\n",i);
-                for (int j = 0; j<20; j++) {
-                    tape[num].Write(i - 20 + j,tape[num].BrightAdjust(color,(double)j * 1/20));
-                }
-                for (int j = 0; j < 20; j++) tape[num].Write(i - 20 + j,0);
-                if (useF8) while (barClock < calcBar * 24 + i * beat * 24 / (BUF + 40));
-                else while (barClock < calcBar * 24 + i * beat * 24 / (BUF + 40));
-                
-            }
-            break;
-    }
-    tape[num].Clear(BUF);
-    calcBar += beat;
-
-}
\ No newline at end of file
--- a/README.md	Sat Nov 07 13:40:03 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-# Getting started with Blinky on mbed OS
-
-This guide reviews the steps required to get Blinky working on an mbed OS platform.
-
-Please install [mbed CLI](https://github.com/ARMmbed/mbed-cli#installing-mbed-cli).
-
-## Import the example application
-
-From the command-line, import the example:
-
-```
-mbed import mbed-os-example-blinky
-cd mbed-os-example-blinky
-```
-
-### Now compile
-
-Invoke `mbed compile`, and specify the name of your platform and your favorite toolchain (`GCC_ARM`, `ARM`, `IAR`). For example, for the ARM Compiler 5:
-
-```
-mbed compile -m K64F -t ARM
-```
-
-Your PC may take a few minutes to compile your code. At the end, you see the following result:
-
-```
-[snip]
-+----------------------------+-------+-------+------+
-| Module                     | .text | .data | .bss |
-+----------------------------+-------+-------+------+
-| Misc                       | 13939 |    24 | 1372 |
-| core/hal                   | 16993 |    96 |  296 |
-| core/rtos                  |  7384 |    92 | 4204 |
-| features/FEATURE_IPV4      |    80 |     0 |  176 |
-| frameworks/greentea-client |  1830 |    60 |   44 |
-| frameworks/utest           |  2392 |   512 |  292 |
-| Subtotals                  | 42618 |   784 | 6384 |
-+----------------------------+-------+-------+------+
-Allocated Heap: unknown
-Allocated Stack: unknown
-Total Static RAM memory (data + bss): 7168 bytes
-Total RAM memory (data + bss + heap + stack): 7168 bytes
-Total Flash memory (text + data + misc): 43402 bytes
-Image: .\.build\K64F\ARM\mbed-os-example-blinky.bin
-```
-
-### Program your board
-
-1. Connect your mbed device to the computer over USB.
-1. Copy the binary file to the mbed device.
-1. Press the reset button to start the program.
-
-The LED on your platform turns on and off.
-
-## Export the project to Keil MDK, and debug your application
-
-From the command-line, run the following command:
-
-```
-mbed export -m K64F -i uvision
-```
-
-To debug the application:
-
-1. Start uVision.
-1. Import the uVision project generated earlier.
-1. Compile your application, and generate an `.axf` file.
-1. Make sure uVision is configured to debug over CMSIS-DAP (From the Project menu > Options for Target '...' > Debug tab > Use CMSIS-DAP Debugger).
-1. Set breakpoints, and start a debug session.
-
-![Image of uVision](img/uvision.png)
-
-## Troubleshooting
-
-1. Make sure `mbed-cli` is working correctly and its version is `>1.0.0`
-
- ```
- mbed --version
- ```
-
- If not, you can update it:
-
- ```
- pip install mbed-cli --upgrade
- ```
-
-2. If using Keil MDK, make sure you have a license installed. [MDK-Lite](http://www.keil.com/arm/mdk.asp) has a 32 KB restriction on code size.
\ No newline at end of file
--- a/doctorX.h	Sat Nov 07 13:40:03 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-void DoctorX()
-{
-    calcBar = 0;
-// Intro.1
-    TempoWait(7*4,1);
-    FadeLED(4*4,0,0xFFFFFF,1);
-    TempoWait(1*4,1);
-// Intro.2
-    FadeLED(4*4,0,0xFF0000,1);
-    FadeLED(4*4,0,0x00FF00,1);
-    FadeLED(4*4,0,0x0000FF,1);
-// Vamp
-    LightLED(8*4,0xFFFFFF,1);
-    FadeLED(1*4,0,0xFF0000,1);
-// A
-    LightLED(3*4 + 2,0x0000FF,1);
-    LightLED(2,0xFF0000,1);
-    LightLED(3*4 + 2,0x0000FF,1);
-    LightLED(2,0xFF0000,1);
-// B
-    LightLED(3*4 + 2,0x0000FF,1);
-    LightLED(2,0xFF0000,1);
-    LightLED(3*4 + 2,0x0000FF,1);
-    FadeLED(2,1,0x0000FF,1);
-// C
-    FadeLED(2*4,0,0xFFFFFF,1);
-    FadeLED(2*4,1,0xFFFFFF,1);
-// D
-    FadeLED(4*4,0,0x0000FF,1);
-    FadeLED(4*4,1,0x0000FF,1);
-// Vamp
-    LightLED(8*4,0xFFFFFF,1);
-    FadeLED(1*4,0,0xFF0000,1);
-// A
-    LightLED(3*4 + 2,0x0000FF,1);
-    LightLED(2,0xFF0000,1);
-    LightLED(3*4 + 2,0x0000FF,1);
-    LightLED(2,0xFF0000,1);
-// B
-    LightLED(3*4 + 2,0x0000FF,1);
-    LightLED(2,0xFF0000,1);
-    LightLED(3*4 + 2,0x0000FF,1);
-    LightLED(2,0xFF0000,1);
-// E
-    LightLED(3*4 + 2,0xFFFFFF,1);
-    LightLED(2,0xFF0000,1);
-    LightLED(4*4,0xFFFFFF,1);
-    FadeLED(1*4,0,0xFF0000,1);
-// F
-    FadeLED(4*4,0,0x00FF00,1);
-    FadeLED(4*4,1,0x00FF00,1);
-// G
-    FadeLED(9*4,0,0xFFFFFF,1);
-// End
-    FadeLED(1*4,1,0xFFFFFF,1);
-
-    pc.putc(0xFF);
-
-    while (1);
-}
\ No newline at end of file
--- a/hale_sola.h	Sat Nov 07 13:40:03 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-void HaleSola()
-{
-    calcBar = 0;
-
-    doLedStop = true;
-// A
-    TempoWait(1*4,1);
-    LightLED(7,0x0000FF,1);
-    LightLED(2*7,0xFFFFFF,1);
-    LightLED(7,0x0000FF,1);
-    LightLED(7,0xFFFFFF,1);
-
-// B
-    LightLED(3*4+2,0x00FF00,1);
-    LightLED(1.75,0x0000FF,1);
-    LightLED(4*6+0.25,0x00FF00,1);
-    LightLED(0.75,0xFF0000,1);
-    LightLED(0.75,0xFFFF00,1);
-    LightLED(0.75,0x00FF00,1);
-    LightLED(0.75,0x00FFFF,1);
-    LightLED(1,0x0000FF,1);
-    LightLED(3.75,0x000000,1);
-
-// C
-    for (int i =0 ; i < 4; i++) {
-        LightLED(2.25,0xFF0000,1);
-        LightLED(1.75,0x000000,1);
-    }
-    LightLED(2,0x0000FF,1);
-    LightLED(2,0x00FFFF,1);
-    LightLED(2,0x00FF00,1);
-    LightLED(2,0xFFFF00,1);
-    LightLED(2,0xFF0000,1);
-    LightLED(2,0xFFFF00,1);
-    LightLED(2,0x00FF00,1);
-    LightLED(2,0x00FFFF,1);
-    LightLED(1*4+3.25,0x0000FF,1);
-    LightLED(1.5,0x000000,1);
-
-    LightLED(0.75,0x0000FF,1);
-    LightLED(0.75,0x00FFFF,1);
-    LightLED(0.75,0x00FF00,1);
-    LightLED(0.75,0xFFFF00,1);
-    LightLED(0.5,0xFF0000,1);
-
-// D
-    LightLED(8*4,0x0000FF,1);
-
-    LightLED(8*4,0xFF0000,1);
-
-// E
-    LightLED(8*4,0x00FF00,1);
-
-    LightLED(8*4,0xFFFFFF,1);
-
-// F
-    FadeLED(4,1,0xFFFFFF,1);
-    TempoWait(3*4,1);
-
-// G
-    LightLED(8*4,0x8000FF,1);
-    LightLED(4*4,0x00FF00,1);
-
-    LightLED(1*4,0xFF0000,1);
-    LightLED(1*4,0x0000FF,1);
-    LightLED(1*4,0xFF0000,1);
-    LightLED(1*4,0xFFFFFF,1);
-
-    LightLED(8*4,0x00FF00,1);
-
-// H
-    LightLED(4*4,0xFF0000,1);
-    LightLED(2*4,0x0000FF,1);
-    LightLED(2*4,0xFFFFFF,1);
-
-// I
-    LightLED(8*4,0x00FF00,1);
-
-// J
-    LightLED(7*4+3.75,0xFFFFFF,1);
-
-// K
-    LightLED(2.25,0xFF0000,1);
-    LightLED(1.75,0x000000,1);
-
-    LightLED(2.25,0x0000FF,1);
-    LightLED(1.75,0x000000,1);
-
-    LightLED(2.25,0xFF0000,1);
-    LightLED(1.75,0x000000,1);
-
-    LightLED(2.25,0x0000FF,1);
-    LightLED(1.75,0x000000,1);
-
-    LightLED(2,0x0000FF,1);
-    LightLED(2,0x00FFFF,1);
-    LightLED(2,0x00FF00,1);
-    LightLED(2,0xFFFF00,1);
-    LightLED(2,0xFF0000,1);
-    LightLED(2,0xFFFF00,1);
-    LightLED(2,0x00FF00,1);
-    LightLED(1.75,0x00FFFF,1);
-
-    LightLED(1,0x000000,1);
-    LightLED(1*4+3.5,0xFFFFFF,1);
-
-// L
-    LightLED(8*4,0x0000FF,1);
-
-// M
-    LightLED(8*4,0x00FF00,1);
-
-// N
-    LightLED(8*4,0x0000FF,1);
-
-// O
-    LightLED(7,0x000000,1);
-    LightLED(2*7,0xFFFFFF,1);
-    LightLED(7,0x000000,1);
-    LightLED(7,0xFF0000,1);
-
-    LightLED(0,0xFFFFFF,1);
-    doLedStop = false;
-    while (doRhythm == true);
-    LightLED(0,0x000000,1);
-
-    while (doRhythm == false);
-    doLedStop = true;
-    calcBar = 0;
-    FadeLED(4*4 + 2,1,0xFFFFFF,1);
-    doLedStop = true;
-    
-// End
-    wait_us(3 * 1e6);
-    pc.putc(0xFF);
-}
\ No newline at end of file
--- a/jurassic.h	Sat Nov 07 13:40:03 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-void Jurassic()
-{
-    doLedStop = true;
-    calcBar = 0;
-
-// A
-    LightLED(3,0x0,1);
-    FadeLED(3,0,0x8000FF,1);
-    FadeLED(3,1,0x8000FF,1);
-    FadeLED(3,0,0x8000FF,1);
-    FadeLED(3,1,0x8000FF,1);
-    FadeLED(3,0,0x8000FF,1);
-    FadeLED(3,1,0x00FFFF,1);
-    FadeLED(3,0,0x00FFFF,1);
-    FadeLED(3,1,0x00FFFF,1);
-    FadeLED(3,0,0x00FFFF,1);
-
-    FadeLED(4,0,0x8000FF,1);
-    FadeLED(4,1,0x8000FF,1);
-
-// B
-    FadeLED(2*4,0,0x0000FF,1);
-    LightLED(2*4,0x0000FF,1);
-    FadeLED(2,0,0x8000FF,1);
-
-    LightLED(4*4,0xFF00FF,1);
-
-// C
-    LightLED(6,0xFFFFFF,1);
-    FadeLED(2,0,0xFFFFFF,1);
-    LightLED(3*4,0xFFFFFF,1);
-    LightLED(4,0xFF0000,1);
-    FadeLED(2*4,0,0xFF0000,1);
-
-// D
-    LightLED(5*4,0x00FF00,1);
-    FadeLED(4,0,0xFF0000,1);
-    LightLED(3*4,0x00FF00,1);
-    FadeLED(4,0,0xFF0000,1);
-
-// E
-    LightLED(5*4,0x00FFFF,1);
-
-// F
-    LightLED(4*4,0x00FF00,1);
-    LightLED(2*4,0xFF0000,1);
-
-// G
-    LightLED(4*4,0xFFFFFF,1);
-    LightLED(3*4,0x00FF00,1);
-    FadeLED(2*4,0,0xFF00FF,1);
-    LightLED(2*4,0xFF8000,1);
-
-// H
-    LightLED(2*4,0xFFFFFF,1);
-    LightLED(4,0x0,1);
-    FadeLED(2*4,0,0xFFFFFF,1);
-    FadeLED(1*4,0,0xFF0000,1);
-    LightLED(2*4,0x0000FF,1);
-
-    LightLED(0.5,0x000000,1);
-    LightLED(7.5,0xFF0000,1);
-    LightLED(2,0x000000,1);
-    LightLED(10+3,0x00FF00,1);
-
-    FadeLED(3*4,0,0xFFFFFF,1);
-    LightLED(4,0xFFFFFF,1);
-
-// End
-    pc.putc(0xFF);
-}
\ No newline at end of file
--- a/lupin.h	Sat Nov 07 13:40:03 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +0,0 @@
-void Lupin()
-{
-    doLedStop = true;
-    calcBar = 0;
-// Intro1
-    LightLED(1*4,0x0,1);
-    FadeLED(2*4,0,0xFF0000,1);
-    LightLED(2.5,0xFFFFFF,1);
-    LightLED(1*4 + 1.5,0xFF0000,1);
-    LightLED(2.5,0xFFFFFF,1);
-    LightLED(1*4 + 1.5,0x0000FF,1);
-    
-// Intro2
-    LightLED(1.5,0xFF0000,1);
-    LightLED(2.5,0xFFFFFF,1);
-
-    for (int i = 0 ; i< 2; i ++) {
-        FlowLED(1.5,2,0xFF0000,1);
-        FlowLED(2.5,3,0xFF0000,1);
-    }
-    LightLED(1*4 + 1,0xFF0000,1);
-    LightLED(3,0x0,1);
-
-// A
-    LightLED(7*4,0x0000FF,1);
-    LightLED(1*4 + 2.5,0xFF0000,1);
-
-// A'
-    LightLED(5*4 + 1.5,0x0000FF,1);
-    LightLED(1,0xFF0000,1);
-    LightLED(1,0xFFFF00,1);
-    LightLED(1,0x00FF00,1);
-    LightLED(1,0x00FFFF,1);
-    LightLED(1*4,0x0000FF,1);
-    LightLED(3,0x0000FF,1);
-
-// B
-    LightLED(7*4 + 1,0xFFFFFF,1);
-    LightLED(1*4 + 2.5,0xFF0000,1);
-
-// C
-    LightLED(5*4 + 1.5,0x0000FF,1);
-    LightLED(1,0xFF0000,1);
-    LightLED(1,0xFFFF00,1);
-    LightLED(1,0x00FF00,1);
-    LightLED(1,0x00FFFF,1);
-    LightLED(1*4,0x0000FF,1);
-
-// D
-    LightLED(3.5,0xFF0000,1);
-    LightLED(1*4 + 0.5,0x0000FF,1);
-    LightLED(3.5,0xFF0000,1);
-    LightLED(1*4 + 0.5,0x0000FF,1);
-
-    LightLED(1*4 + 3,0xFF0000,1);
-    LightLED(1,0x0,1);
-
-// E
-    LightLED(16*4,0xFF0000,1);
-
-// F
-    for (int i = 0; i < 2; i++) {
-        LightLED(0.5,0xFFFFFF,1);
-        LightLED(1,0x0,1);
-        LightLED(0.5,0xFFFFFF,1);
-        LightLED(1.5,0x0,1);
-        LightLED(0.5,0xFFFFFF,1);
-        LightLED(1,0x0,1);
-        LightLED(0.5,0xFFFFFF,1);
-        LightLED(2.5,0x0,1);
-    }
-
-// G
-    for (int i = 0 ; i < 8; i ++) {
-        FlowLED(1,0,0xFF0000,1);
-        FlowLED(1,1,0xFF0000,1);
-    }
-
-// Intro2
-    LightLED(1.5,0xFF0000,1);
-    LightLED(2.5,0xFFFFFF,1);
-    for (int i = 0 ; i< 2; i ++) {
-        FlowLED(1.5,3,0xFF0000,1);
-        FlowLED(2.5,3,0xFF0000,1);
-    }
-    LightLED(1*4 + 1,0xFF0000,1);
-    LightLED(3,0x0,1);
-
-// A
-    LightLED(7*4,0x0000FF,1);
-    LightLED(1*4 + 2.5,0xFF0000,1);
-
-// A'
-    LightLED(5*4 + 1.5,0x0000FF,1);
-    LightLED(1,0xFF0000,1);
-    LightLED(1,0xFFFF00,1);
-    LightLED(1,0x00FF00,1);
-    LightLED(1,0x00FFFF,1);
-    LightLED(1*4,0x0000FF,1);
-    LightLED(3,0x0000FF,1);
-
-// B
-    LightLED(7*4 + 1,0xFFFFFF,1);
-    LightLED(1*4 + 2.5,0xFF0000,1);
-
-// C
-    LightLED(5*4 + 1.5,0x0000FF,1);
-    LightLED(1,0xFF0000,1);
-    LightLED(1,0xFFFF00,1);
-    LightLED(1,0x00FF00,1);
-    LightLED(1,0x00FFFF,1);
-    LightLED(1*4,0x0000FF,1);
-
-// D
-    LightLED(3.5,0xFF0000,1);
-    LightLED(1*4 + 0.5,0x0000FF,1);
-    LightLED(3.5,0xFF0000,1);
-    LightLED(1*4 + 0.5,0x0000FF,1);
-
-    LightLED(1*4 + 1.75,0xFF0000,1);
-    LightLED(1,0xFFFFFF,1);
-    LightLED(0,0x0,1);
-
-    pc.putc(0xFF);
-
-
-    while (1) ;
-}
\ No newline at end of file
--- a/main.cpp	Sat Nov 07 13:40:03 2020 +0000
+++ b/main.cpp	Sun Nov 22 12:01:50 2020 +0000
@@ -1,149 +1,62 @@
 #include "mbed.h"
+#include <stdlib.h>
 
-RawSerial pc(USBTX,USBRX,115200 * 4);
-DigitalOut bLed(LED1);
-InterruptIn user(PC_13);
-
-bool doLedStop = true;
+#include "WS2812B.h"
 
-#include "midi.h"
-#include "LED.h"
-#include "hale_sola.h"
-#include "doctorX.h"
-#include "lupin.h"
-#include "spin_kick.h"
-#include "singsingsing.h"
-#include "starwars.h"
-#include "yozakura.h"
-#include "sunshineaura.h"
-#include "sanadamaru.h"
-#include "jurassic.h"
+#define BUF 60
+#define BUF2 42
 
-Thread *LedTh;
-Thread LEDSend;
-Thread PC;
-
-char pcCommand;
-char color[3];
-double alpha;
-int pcCount = 0;
-
-void PcRead();
-
-int musicNum = -1;
-
-enum Mode {
-    Nucleo,Straight
+int buf[3] = {BUF,BUF,BUF2};
+WS2812B tape[2] = {
+    WS2812B(PB_0,BUF),
+    WS2812B(PC_1,BUF)/*,
+    WS2812B(PC_0,BUF2)*/
 };
 
-Mode mode = Nucleo;
-
+int brightness[2];
+Thread sendTh;
 
-void Test()
-{
-    //ModelReq();
-    //Start();
-    //MDRStart();
-    bLed=1;
-    pc.putc(0xFA);
+uint32_t colors[] = {0xFF0000,0x00FF00,0x0000FF,0xFFFF00,0xFF00FF,0x00FFFF,0xFFFFFF};
 
-}
-
-void MCLed()
+void SendingLED()
 {
-    beatTime = 60/120.0;
-
-    calcBar = 0;
-    ledT.reset();
-    ledT.start();
-
     while (1) {
-        tape[0].Write(0xFFFFFF);
-        FlowLED2(4,0,0xFFFFFF,1,0);
+        for (int t = 0; t < 2; t++) tape[t].Send();
+        wait_us((1000 / 60)*1e3);
     }
 }
 
-
 int main()
 {
-    printf("\rElectone LED Controller\n\r");
-
-    user.fall(Test);
-
-    LEDSend.start(SendingLED);
+    printf("\r2020 S-Home Christmas!!!\n\r");
+    sendTh.start(SendingLED);
 
     for (int t = 0; t < 2; t++) tape[t].Write(0xFFFFFF);
     wait_us(0.3 * 1e6);
     for (int t = 0; t < 2; t++) tape[t].Write(0);
-    Thread Midi;
-    //Midi.start(MidiTh);
-    //ms.attach(MidiTh,RawSerial::RxIrq);
-    pc.attach(PcRead,RawSerial::RxIrq);
-    //PC.start(PcRead);
-    wait(0.1);
-
-    while (1) {
-        if (mode == Straight) {
-            if (LedTh->get_state() == 1 && doLedStop) LedTh->terminate();
-            uint32_t c = color[0] << 16 | color[1] << 8 | color[2];
-            for (int t = 0; t < 2; t++) tape[t].Write(c);
-
-            for (int t = 0; t < 2; t++) tape[t].Brightness(alpha);
-        } else {
-            if (doRhythm) {
-                if (LedTh->get_state() == 16) {
-                    pc.putc(0xFA);
-                    LedTh = new Thread();
 
-                    if (musicNum == 1)          LedTh->start(SingSingSing);
-                    else if (musicNum == 2)     LedTh->start(DoctorX);
-                    else if (musicNum == 3)     LedTh->start(Yozakura);
-                    else if (musicNum == 4)     LedTh->start(Lupin);
-                    else if (musicNum == 5)     LedTh->start(Sunshineaura);
-                    else if (musicNum == 6)     LedTh->start(StarWars);
-                    else if (musicNum == 7)     LedTh->start(HaleSola);
-                    else if (musicNum == 8)     LedTh->start(Spin_kick);
-                    else if (musicNum == 9)     LedTh->start(Sanadamaru);
-                    else if (musicNum == 10)    LedTh->start(Jurassic);
-                }
-            } else {
-                if (musicNum == 0) {
-                    if (LedTh->get_state() == 16) {
-                        LedTh = new Thread();
-                        LedTh->start(MCLed);
-                    }
-                } else if (LedTh->get_state() == 1 && doLedStop) {
-                    pc.putc(0xFC);
-                    LedTh->terminate();
-                    for (int t = 0; t < 2; t++) tape[t].Clear(BUF);
-                }
+    double sita[2][BUF] = {0};
+    uint32_t c[2][BUF] = {0};
+    for (int i = 0; i < 2; i++) {
+        for (int j = 0; j < BUF; j++) {
+            sita[i][j] = fmod(rand()/1000.0,(double)PI * 3);// + PI * (j % 3);//(,PI);
+            c[i][j] = rand() % 7;
+        }
+    }
+    //float sita = 0;
+    while (1) {
+        for (int t=0; t < 2; t++) {
+            for (int i = 0; i < buf[t]; i++) {
+                if (sita[t][i] == 0) c[t][i] = rand() % 7;
+
+                float s = 0;
+                if (sita[t][i] > 0 && sita[t][i] < PI)s = sin(sita[t][i]);
+                tape[t].Write(i,colors[c[t][i]],s);
+
+                sita[t][i] += 0.03f;
+                if (sita[t][i] > PI * 3) sita[t][i] = 0;
             }
         }
-    }
-}
-
-void PcRead()
-{
-    if (pc.readable()) {
-        char data = pc.getc();
-
-        if (data >= 0x80) { // 開始バイト
-            if (data >= 0x90) mode = Straight;
-            else if (data >= 0x80) mode = Nucleo;
-            pcCommand = data;
-            pcCount = 0;
-
-        } else { // データバイト
-            if (pcCommand == 0x80) {
-                musicNum = data;
-            } else if (pcCommand == 0x91 && pcCount < 3) {
-                color[pcCount] = data << 1;
-            } else if (pcCommand == 0x92 && pcCount < 1) {
-                alpha = (double)data / 127;
-            } else {
-                //bLed = 0;
-            }
-            pcCount++;
-        }
+        wait_us(0.01 * 1e6);
     }
 }
\ No newline at end of file
--- a/midi.h	Sat Nov 07 13:40:03 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,175 +0,0 @@
-#include "AsyncSerial.h"
-
-#include <vector>
-#include <string>
-
-
-AsyncSerial ms(PA_0,PA_1,31250,500);
-//RawSerial ms(PA_0,PA_1,31250);
-
-DigitalOut clockLed_(D10);
-DigitalOut RhythmLED(D11);
-DigitalOut active(D12);
-
-volatile bool doRhythm = false;
-
-volatile int memory = 0;
-
-volatile int barClock = 0;
-volatile int beat = 4;
-
-
-const string notesName[12] = {"C ","C#","D ","D#","E ","F ","F#","G ","G#","A ","A#","B "};
-
-std::vector<char> dataByte;
-
-void MidiTh()
-{
-    if(ms.readable()) {
-        int data = ms.read();
-
-// RealTime Message ------------------------------------------------------------
-        if (data == 0xF8) { // Clock
-            barClock++;
-            if (barClock % (24 * beat) == 13) clockLed_ = 0;
-
-        } else if (data == 0xFA) { // RhythmStart
-            clockLed_ = RhythmLED = doRhythm = 1;
-            barClock =  0;
-
-        } else if (data == 0xFC) { // RhythmStop
-            RhythmLED = doRhythm = 0;
-            
-        } else if (data >= 0xF8) {
-
-// Channel Message -------------------------------------------------------------
-        } else {
-            //printf("\n\r%d..",data);
-            if (data >= 0x80 && data != 0xF7) {
-                dataByte.clear();
-                dataByte.push_back(data);
-
-            } else {
-                if ((dataByte[0] & 0xF0) == 0x90) { // NoteOFF
-                    dataByte.push_back(data);
-
-                    if (dataByte.size() == 3) {
-                        string nName = notesName[dataByte[1] % 12];
-                        int nOctave = ((int)(dataByte[1] / 12) - 2);
-
-                        //printf("%2dch Note ",(dataByte[0] & 0x0F) + 1);
-                        //if (dataByte[2] == 0) printf("OFF : %s%d\r\n",nName.c_str(),nOctave);
-                        //else printf(" ON : %s%d , Velocity : %3d\r\n",nName.c_str(),nOctave,dataByte[2]);
-                        dataByte.erase(dataByte.begin() + 1,dataByte.end());
-                        //isStatusByte = false;
-
-                        /*if (velocity == 0x00) {
-                        if (ch == 1) {
-                            LEDlight_uk[Key % 12] = false;
-                            flag_uk = true;
-                        } else if (ch == 2) {
-                            LEDlight_lk[Key % 12] = false;
-                            flag_lk = true;
-                        } else if (ch == 3) {
-                            LEDlight_pk[Key % 12] = false;
-                            flag_pk = true;
-                        }
-                        LEDwrite();
-                        } else {
-                            printf("%dch Note ON : %d InitialTouch : %d\n\r",ch,key,velocity);
-                            if (ch == 1) LEDlight_uk[Key % 12] = flag_uk = true;
-                            else if (ch == 2) LEDlight_lk[Key % 12] = flag_lk = true;
-                            else if (ch == 3) LEDlight_pk[Key % 12] = flag_pk = true;
-                            LEDw*/
-                    }
-                } else if ((dataByte[0] & 0xF0) == 0xB0) { // ExpressionPedal & VA AfterTouch
-                    dataByte.push_back(data);
-
-                    if (dataByte.size() == 3) {
-                        //printf("%2dch ",(dataByte[0] & 0x0F) + 1);
-                        if (dataByte[1] == 0x04) ;//printf("SecondExpression : %3d\r\n",dataByte[2] - (0x7F >> 1));
-                        else if (dataByte[1] == 0x0B) {
-                            //printf("Expression : %3d\r\n",dataByte[2]);
-                            if (doRhythm) {
-                                //uk.setII(dataByte[2]);
-                                //uk.write();
-                            }
-                        } else if (dataByte[1] == 0x10) ;//printf("VA AfterTouch : %3d\r\n",dataByte[2]);
-                        dataByte.erase(dataByte.begin() + 1,dataByte.end());
-                    }
-
-                } else if ((dataByte[0] & 0xF0) == 0xC0) { // Memory
-                    dataByte.push_back(data);
-                    memory = dataByte[1] + 1;
-                    //printf("Memory : %2d\r\n",memory);
-                    dataByte.erase(dataByte.begin() + 1,dataByte.end());
-
-                } else if ((dataByte[0] & 0xF0) == 0xD0) { // AfterTouch
-                    dataByte.push_back(data);
-
-                    //printf("%2dch ",(dataByte[0] & 0x0F) + 1);
-                    //printf("AfterTouch : %3d\r\n",dataByte[1]);
-                    dataByte.erase(dataByte.begin() + 1,dataByte.end());
-
-                } else if ((dataByte[0] & 0xF0) == 0xE0) { // PitchBend
-                    dataByte.push_back(data);
-
-                    if (dataByte.size() == 3) {
-                        //printf("%2dch ",(dataByte[0] & 0x0F) + 1);
-                        //printf("PitchBend : %5d\r\n",(dataByte[1] | (dataByte[2] << 7)) - 0x1FFF);
-                        dataByte.erase(dataByte.begin() + 1,dataByte.end());
-                    }
-// Exclusive Message -----------------------------------------------------------
-                } else if (dataByte[0] == 0xF0) {
-                    dataByte.push_back(data);
-                    if (data == 0xF7) {
-                        if (dataByte[1] == 0x43) {
-                            if (dataByte[2] == 0x70) {
-                                if (dataByte[3] == 0x53) printf("Model : ELS-02(Electone STAGEA 02Series Standerd)\r\n");
-                                else if (dataByte[3] == 0x54) printf("Model : ELS-02C(Electone STAGEA 02Series Custom)\r\n");
-                                else if (dataByte[3] == 0x55) printf("Model : ELS-02X(Electone STAGEA 02Series Professional)\r\n");
-                                else if (dataByte[3] == 0x70) {
-                                    if (dataByte[4] == 0x78) { // Per signal
-                                        static int clock_m = 0;
-                                        if (barClock - clock_m < 0) clock_m = 0;
-                                        beat = (barClock - clock_m) / 24;
-                                        clock_m = barClock;
-                                        clockLed_ = 1;
-                                        //printf("C %d\r\n",clock_);
-                                        //clock_ = 0;
-                                        //if (doRhythm) count = 0;
-                                    }
-                                }
-                            }
-                        }
-                        dataByte.erase(dataByte.begin() + 1,dataByte.end());
-                    }
-
-                } else { // Other
-                    printf("able %d\r\n", ms.read());
-                }
-
-            }
-        }
-    }
-}
-
-void ModelReq()
-{
-    //F0, 43, 70, 70, 30, F7
-    uint8_t sd[6] = {0xF0,0x43,0x70,0x70,0x30,0xF7};
-    ms.write(sd,6);
-
-}
-
-void Start()
-{
-    ms.write(0xFA);
-}
-
-void MDRStart()
-{
-    uint8_t sd[7] = {0xF0,0x43,0x70,0x70,0x70,0x01,0xF7};
-    ms.write(sd,7);
-
-}
\ No newline at end of file
--- a/sanadamaru.h	Sat Nov 07 13:40:03 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-void Sanadamaru()
-{
-    doLedStop = true;
-    calcBar = 0;
-
-// Intro
-    LightLED(4,0x0,1);
-    LightLED(4.5,0x0000FF,1);
-    LightLED(2.5,0xFF0000,1);
-    LightLED(5,0x0000FF,1);
-    FadeLED(4,0,0x0000FF,1);
-    FadeLED(2*4,0,0xFF0000,1);
-
-// A
-    LightLED(8*4,0x8000FF,1);
-    
-// B
-    LightLED(6*4,0xFF0000,1);
-
-// C
-    LightLED(4*4,0x8000FF,1);
-    
-// D
-    LightLED(6*4,0xFF0000,1);
-    FadeLED(2*4,0,0xFF0000,1);
-
-// E
-    LightLED(4*4,0x00FFFF,1);
-    
-// F
-    LightLED(12*4,0xFF0000,1);
-    
-// G
-    LightLED(2*4,0x0000FF,1);
-    LightLED(2*4,0x00FF00,1);
-    
-// H
-    FadeLED(2*4,0,0xFFFFFF,1);
-    FadeLED(2*4,0,0xFF0000,1);
-    
-// I
-    LightLED(7*4,0x00FFFF,1);
-    LightLED(2*4,0x00FF00,1);
-    FadeLED(4,0,0xFFFFFF,1);
-    
-// J
-    LightLED(4*4,0xFF0000,1);
-    
-    LightLED(0.5,0xFFFFFF,1);
-    LightLED(0.5,0x0,1);
-    LightLED(3,0xFF0000,1);
-    LightLED(1,0xFFFFFF,1);
-    LightLED(3,0xFF0000,1);
-    LightLED(7,0x0000FF,1);
-    LightLED(1,0xFF0000,1);
-
-// End
-    pc.putc(0xFF);
-}
\ No newline at end of file
--- a/singsingsing.h	Sat Nov 07 13:40:03 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,177 +0,0 @@
-void SingSingSing()
-{
-    doLedStop = true;
-    calcBar = 0;
-    
-// Intro
-    FadeLED(2*4,0,0xFFFFFF,1);
-    LightLED(16*4,0xFFFFFF,1);
-
-// A
-    LightLED(10*4,0x0000FF,1);
-    LightLED(2*4,0xFF0000,1);
-    LightLED(4*4,0x0000FF,1);
-
-// B
-    LightLED(8*4,0x00FF00,1);
-
-// C
-    LightLED(7*4 + 3.66,0xFFFFFF,1);
-
-    LightLED(2,0xFF0000,1);
-    LightLED(2.33,0x0000FF,1);
-    LightLED(1.66,0xFF0000,1);
-    LightLED(2.33 + 1*4+3,0x0000FF,1);
-    LightLED(1,0x000000,1);
-
-// D
-    LightLED(5*4 + 3.66,0x8000FF,1);
-    LightLED(2*4,0xFF0000,1);
-    LightLED(0.33 + 4*4,0x8000FF,1);
-
-    LightLED(1.66,0xFF0000,1);
-    LightLED(2.33,0x0000FF,1);
-    LightLED(1.66,0xFF0000,1);
-    LightLED(2,0x0000FF,1);
-    LightLED(0.33+2*4,0xFF0000,1);
-
-// E
-    for (int i = 0; i < BUF; i++) {
-        if (i < BUF/2) for (int t = 0; t < 3; t++) tape[t].Write(i,0xFFFFFF);
-        else for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
-    }
-    TempoWait(2*4,1);
-    for (int i = 0; i < BUF; i++) {
-        if (i > BUF/2) for (int t = 0; t < 3; t++) tape[t].Write(i,0xFFFFFF);
-        else for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
-    }
-    TempoWait(2*4,1);
-    LightLED(4*4,0xFFFFFF,1);
-
-// F
-    LightLED(16*4,0x00FF00,1);
-
-// G
-    for (int j = 0; j < 2; j++) {
-        for (int i = 0; i < 3; i++) {
-            LightLED(4,0xFF0000,1);
-            FadeLED(4,0,0x0000FF,1);
-        }
-        FadeLED(2*4,0,0x0000FF,1);
-    }
-
-// H
-    LightLED(8*4,0x00FF00,1);
-
-// I
-    for (int j = 0; j < 2; j++) {
-        for (int i = 0; i < 3; i++) {
-            LightLED(2,0xFF0000,1);
-            LightLED(2,0x0000FF,1);
-            LightLED(1.66,0xFF0000,1);
-            LightLED(2.33,0x0000FF,1);
-        }
-        FadeLED(2*4,0,0x0000FF,1);
-    }
-
-// J
-    for (int j = 0; j < 8; j++) {
-        for (int i = 0; i < BUF; i++) {
-            if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0xFFFFFF);
-            else for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
-        }
-        TempoWait(1,1);
-        for (int i = 0; i < BUF; i++) {
-            if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
-            else for (int t = 0; t < 3; t++) tape[t].Write(i,0xFFFFFF);
-        }
-        TempoWait(1,1);
-    }
-    for (int j = 0; j < 4; j++) {
-        for (int i = 0; i < BUF; i++) {
-            if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0xFF0000);
-            else for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
-        }
-        TempoWait(1,1);
-        for (int i = 0; i < BUF; i++) {
-            if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
-            else for (int t = 0; t < 3; t++) tape[t].Write(i,0xFF0000);
-        }
-        TempoWait(1,1);
-    }
-    for (int j = 0; j < 4; j++) {
-        for (int i = 0; i < BUF; i++) {
-            if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0x00FF00);
-            else for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
-        }
-        TempoWait(1,1);
-        for (int i = 0; i < BUF; i++) {
-            if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
-            else for (int t = 0; t < 3; t++) tape[t].Write(i,0x00FF00);
-        }
-        TempoWait(1,1);
-    }
-    for (int j = 0; j < 4; j++) {
-        for (int i = 0; i < BUF; i++) {
-            if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0x0000FF);
-            else for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
-        }
-        TempoWait(1,1);
-        for (int i = 0; i < BUF; i++) {
-            if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
-            else for (int t = 0; t < 3; t++) tape[t].Write(i,0x0000FF);
-        }
-        TempoWait(1,1);
-    }
-    for (int j = 0; j < 8; j++) {
-        for (int i = 0; i < BUF; i++) {
-            if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0xFF0000);
-            else for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
-        }
-        TempoWait(1,1);
-        for (int i = 0; i < BUF; i++) {
-            if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
-            else for (int t = 0; t < 3; t++) tape[t].Write(i,0xFF0000);
-        }
-        TempoWait(1,1);
-    }
-
-// K
-    for (int j = 0; j < 11; j++) {
-        for (int i = 0; i < BUF; i++) {
-            if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0xFFFFFF);
-            else for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
-        }
-        TempoWait(1,1);
-        for (int i = 0; i < BUF; i++) {
-            if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
-            else for (int t = 0; t < 3; t++) tape[t].Write(i,0xFFFFFF);
-        }
-        TempoWait(1,1);
-    }
-    for (int i = 0; i < BUF; i++) {
-        if ((i % 10) >= 0 && (i % 10) <= 4) for (int t = 0; t < 3; t++) tape[t].Write(i,0xFFFFFF);
-        else for (int t = 0; t < 3; t++) tape[t].Write(i,0x000000);
-    }
-    TempoWait(1,1);
-    LightLED(2,0xFF0000,1);
-    LightLED(2,0xFFFF00,1);
-    LightLED(2,0x00FF00,1);
-    LightLED(2,0x00FFFF,1);
-    LightLED(1+4*4,0x0000FF,1);
-    
-    LightLED(1*4,0x000000,1);
-    
-    LightLED(2,0xFF0000,1);
-    LightLED(2,0x000000,1);
-    LightLED(2,0xFF0000,1);
-    LightLED(2,0x000000,1);
-    
-    LightLED(5*4,0xFFFFFF,1);
-
-// End
-    pc.putc(0xFF);
-
-
-    while (1) ;
-}
\ No newline at end of file
--- a/spin_kick.h	Sat Nov 07 13:40:03 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,237 +0,0 @@
-void Spin_kick()
-{
-    doLedStop = true;
-    calcBar = 0;
-// Intro1
-
-    LightLED(6,0x0,1);
-    LightLED(3*8,0xFFFFFF,1);
-
-    FlowLED(3,0,0xFF0000,1);
-    //FlowLED(2,1,0xFF0000,1);
-    FlowLED(3,0,0x00FF00,1);
-    //FlowLED(2,1,0x00FF00,1);
-    FlowLED(3,0,0x0000FF,1);
-    //FlowLED(2,1,0x0000FF,1);
-
-    LightLED(1,0xFF0000,1);
-    LightLED(1,0x00FF00,1);
-    LightLED(1,0x0000FF,1);
-    LightLED(1,0xFFFFFF,1);
-    LightLED(2,0x0,1);
-    LightLED(3*3,0xFFFFFF,1);
-    LightLED(1,0xFF0000,1);
-    LightLED(2,0x0,1);
-
-    LightLED(3,0xFF0000,1);
-    LightLED(3,0x00FF00,1);
-    LightLED(4,0x0000FF,1);
-    LightLED(17,0xFFFFFF,1);
-    LightLED(1*4,0xFFFFFF,1);
-    LightLED(1*4,0x0,1);
-    LightLED(7*4,0xFF0000,1);
-    LightLED(1*4,0x0,1);
-
-    // Intro2
-    LightLED(3*4 + 0.5,0xFFFFFF,1);
-    LightLED(3.5,0xFF0000,1);
-    LightLED(3*4 + 0.5,0xFFFFFF,1);
-    LightLED(3.5,0xFF0000,1);
-
-    // A
-    for (int i = 0; i < 2; i ++) {
-        LightLED(1*4 + 2.75,0x0000FF,1);
-        LightLED(1.25,0xFF0000,1);
-        LightLED(1*4,0x0000FF,1);
-
-        LightLED(1,0xFF0000,1);
-        LightLED(1,0xFFFF00,1);
-        LightLED(1,0x00FF00,1);
-        LightLED(1,0x00FFFF,1);
-
-        LightLED(1*4 + 3.5,0x0000FF,1);
-        if(i == 0) {
-            LightLED(2*4 + 2,0xFF0000,1);
-            LightLED(4.25,0x00FF00,1);
-            LightLED(3.75,0xFF0000,1);
-            LightLED(1*4 + 2.5,0x00FF00,1);
-        } else {
-            // B
-            LightLED(1*4 + 2.5,0xFF0000,1);
-            LightLED(0.5,0x00FFFF,1);
-            LightLED(0.5,0x00FF00,1);
-            LightLED(0.5,0xFFFF00,1);
-            LightLED(1*4 + 2.5,0xFF0000,1);
-
-            LightLED(0.5,0x00FFFF,1);
-            LightLED(0.5,0x00FF00,1);
-            LightLED(0.5,0xFFFF00,1);
-            LightLED(2*4 + 0.5,0xFF0000,1);
-        }
-    }
-
-    LightLED(0.5,0x0,1);
-    LightLED(0.5,0x808080,1);
-    LightLED(1,0x0,1);
-    LightLED(0.5,0x808080,1);
-    LightLED(1,0x0,1);
-    LightLED(0.5,0x808080,1);
-    LightLED(1,0x0,1);
-    LightLED(0.5,0x808080,1);
-    LightLED(0.5,0x0,1);
-    LightLED(0.5,0x808080,1);
-    LightLED(0.5,0x0,1);
-    LightLED(0.5,0x808080,1);
-    LightLED(0.5,0x0,1);
-    LightLED(1,0x808080,1);
-    LightLED(1*4 + 3,0xFF0000,1);
-
-// C
-    LightLED(7*4 + 3.5,0x00FF00,1);
-
-// D
-    LightLED(3*4 + 2,0xFF0000,1);
-    LightLED(2,0xFFFFFF,1);
-    LightLED(3*4 + 0.5,0xFF0000,1);
-    LightLED(0.5,0x0,1);
-    LightLED(3.5,0xFFFFFF,1);
-
-// E
-    LightLED(3*4 + 0.5,0xFFFFFF,1);
-    LightLED(3.5,0xFF0000,1);
-    LightLED(3*4 + 0.5,0xFFFFFF,1);
-    LightLED(3.25,0xFF0000,1);
-    LightLED(0.25,0x0000FF,1);
-
-// F
-    LightLED(12*4,0x0000FF,1);
-    //LightLED(12*4 + 0.25,0x0000FF,1);
-    LightLED(1*4 + 0.25,0xFF0000,1);
-    LightLED(2*4 + 3.25,0x0000FF,1);
-
-    LightLED(2*4 + 0.25,0xFF0000,1);
-    LightLED(2*4,0xFFFF00,1);
-    LightLED(1*4,0x00FF00,1);
-    LightLED(1*4,0x00FFFF,1);
-    LightLED(1*4,0x0000FF,1);
-    LightLED(2,0xFF00FF,1);
-    LightLED(1,0xFF0000,1);
-    LightLED(0.75,0xFFFF00,1);
-    LightLED(2*4 + 0.25,0xFFFFFF,1);
-
-    LightLED(0.5,0x0,1);
-    LightLED(0.5,0xFF0000,1);
-    LightLED(5,0x0,1);
-    LightLED(0.25,0xFF0000,1);
-    LightLED(0.25,0x0000FF,1);
-    LightLED(0.5,0x0,1);
-    LightLED(0.25,0xFF0000,1);
-    LightLED(0.25,0x0000FF,1);
-    LightLED(1*4 + 2.5,0x0,1);
-    LightLED(0.75,0xFF0000,1);
-    LightLED(1.25,0x0000FF,1);
-
-    LightLED(1,0xFF0000,1);
-    LightLED(0.5,0x0,1);
-    LightLED(1,0xFF0000,1);
-    LightLED(0.5,0x0,1);
-    LightLED(1,0xFF0000,1);
-    LightLED(0.5,0x0,1);
-    LightLED(1,0xFF0000,1);
-    LightLED(0.5,0x0,1);
-    LightLED(2,0xFF0000,1);
-
-// H
-
-    LightLED(3.*4 + 0.5,0xFF0000,1);
-    LightLED(3.5,0x0000FF,1);
-    LightLED(3*4 + 0.5,0xFF0000,1);
-    LightLED(3.5,0x0000FF,1);
-
-// I
-    LightLED(4*4 + 0.5,0xFF0000,1);
-    LightLED(4*4 + 0.5,0x0000FF,1);
-    LightLED(4*4 + 1,0xFF0000,1);
-
-    LightLED(0.5,0x00FFFF,1);
-    LightLED(0.5,0x00FF00,1);
-    LightLED(0.5,0xFFFF00,1);
-    LightLED(2.5,0xFF0000,1);
-
-    LightLED(0.5,0x00FFFF,1);
-    LightLED(0.5,0x00FF00,1);
-    LightLED(0.5,0xFFFF00,1);
-    LightLED(2.5,0xFF0000,1);
-
-    LightLED(0.5,0x00FFFF,1);
-    LightLED(0.5,0x00FF00,1);
-    LightLED(0.5,0xFFFF00,1);
-    LightLED(2*4 + 0.5,0xFF0000,1);
-
-// J
-    LightLED(0.5,0x0,1);
-    LightLED(0.5,0x808080,1);
-    LightLED(1,0x0,1);
-    LightLED(0.5,0x808080,1);
-    LightLED(1,0x0,1);
-    LightLED(0.5,0x808080,1);
-    LightLED(1,0x0,1);
-    LightLED(0.5,0x808080,1);
-    LightLED(0.5,0x0,1);
-    LightLED(0.5,0x808080,1);
-    LightLED(0.5,0x0,1);
-    LightLED(0.5,0x808080,1);
-    LightLED(0.5,0x0,1);
-    LightLED(1,0x808080,1);
-    LightLED(1*4 + 3,0xFF0000,1);
-
-// K
-    LightLED(7*4 + 2.5,0x00FF00,1);
-
-// L
-    LightLED(16*4 + 1.5,0xFF0000,1);
-
-// C
-    LightLED(7*4 + 3.5,0x00FF00,1);
-
-// D
-    LightLED(3*4 + 2,0xFF0000,1);
-    LightLED(2,0xFFFFFF,1);
-    LightLED(3*4 + 0.5,0xFF0000,1);
-    LightLED(0.5,0x0,1);
-    LightLED(3.5,0xFFFFFF,1);
-
-// A
-    LightLED(1*4 + 2.75,0x0000FF,1);
-    LightLED(1.25,0xFF0000,1);
-    LightLED(1*4,0x0000FF,1);
-
-    LightLED(1,0xFF0000,1);
-    LightLED(1,0xFFFF00,1);
-    LightLED(1,0x00FF00,1);
-    LightLED(1,0x00FFFF,1);
-
-    LightLED(1*4 + 3.5,0x0000FF,1);
-    LightLED(2*4 + 2,0xFF0000,1);
-    LightLED(4.25,0x00FF00,1);
-    LightLED(3.75,0xFF0000,1);
-    LightLED(1*4 + 2.5,0x00FF00,1);
-
-// M
-    LightLED(3*4 + 0.5,0xFFFFFF,1);
-    LightLED(1*4,0xFF0000,1);
-    LightLED(3.25,0x0000FF,1);
-    LightLED(2*4 + 0.25,0x0,1);
-    LightLED(0.5,0xFFFFFF,1);
-    LightLED(3.5,0x0,1);
-    LightLED(4*4 + 2.5,0xFF0000,1);
-    LightLED(0.5,0x0,1);
-    LightLED(2.5,0xFFFFFF,1);
-
-
-    LightLED(0,0x0,1);
-
-    pc.putc(0xFF);
-
-    while (1) ;
-}
\ No newline at end of file
--- a/starwars.h	Sat Nov 07 13:40:03 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +0,0 @@
-void StarWars()
-{
-    calcBar = 0;
-
-    doLedStop = true;
-
-// Intro
-    TempoWait(8*4,1);
-    FadeLED(3*4,1,0xFFFF00,1);
-
-// A
-    LightLED(8*4-1,0xFF00FF,1);
-
-// B
-    LightLED(3*4+1,0x0000FF,1);
-    LightLED(1*4,0x00FF00,1);
-    LightLED(2*4,0x0000FF,1);
-    LightLED(1*4,0xFF0000,1);
-    LightLED(2*4,0xFF8000,1);
-
-// C
-    LightLED(7*4,0x8000FF,1);
-
-// D
-    LightLED(2*4-1,0xFFFFFF,1);
-
-    FadeLED(7,0,0xFFFF00,1);
-    FadeLED(6,0,0xFF8000,1);
-    LightLED(2*4,0xFF0000,1);
-    LightLED(0,0x101010,1);
-
-    doLedStop = false;
-    while (doRhythm == true);
-
-// E
-    while (doRhythm == false);
-    calcBar = 0;
-
-// F
-    for (int i = 0; i < 7; i++) {
-        LightLED(3,0xFF8000,1);
-        LightLED(1,0xFF0000,1);
-    }
-    doLedStop = true;
-    LightLED(2*4,0xFF8000,1);
-    for (int i = 0; i < 2; i++) {
-        LightLED(1.5,0xFF0000,1);
-        LightLED(2.5,0xFF8000,1);
-    }
-    LightLED(2*4,0xFF8000,1);
-    for (int i = 0; i < 2; i++) {
-        LightLED(1.5,0xFF0000,1);
-        LightLED(2.5,0xFF8000,1);
-    }
-    LightLED(1*4,0xFF8000,1);
-
-// G
-    for (int i = 0; i < 3; i++) {
-        LightLED(3,0xFF8000,1);
-        LightLED(1,0xFF0000,1);
-    }
-    FadeLED(4,0,0xFF0000,1);
-
-// H
-    for (int i = 0; i < 3; i++) {
-        FadeLED(2,0,0x0000FF,1);
-        FadeLED(2,1,0x0000FF,1);
-    }
-    FadeLED(4,0,0x00FF00,1);
-
-// I
-    LightLED(4*4+1,0x0000FF,1);
-    LightLED(3,0xFF0000,1);
-    LightLED(4*4,0x0000FF,1);
-    FadeLED(4,0,0xFF0000,1);
-
-    LightLED(4*4,0xFF0000,1);
-    LightLED(4*4,0xFFFF00,1);
-
-// J
-    LightLED(8*4,0x00FF00,1);
-
-// K
-    FadeLED(4,0,0xFF0000,1);
-    FadeLED(4,1,0xFF0000,1);
-    FadeLED(2*4,0,0xFF0000,1);
-    for (int i = 0; i < 2; i++) {
-        LightLED(1,0xFF0000,1);
-        LightLED(1,0x000000,1);
-    }
-
-// L
-    for (int i = 0; i < 8; i++) {
-        LightLED(1,0xFF0000,1);
-        LightLED(1,0x000000,1);
-    }
-
-// M
-    FadeLED(4,0,0xFF0000,1);
-
-    for (int i = 0; i < 2; i++) {
-        LightLED(2,0xFFFF00,1);
-        LightLED(2,0xFF0000,1);
-    }
-    LightLED(2,0xFFFF00,1);
-    LightLED(6,0xFF0000,1);
-    for (int i = 0; i < 2; i++) {
-        LightLED(2,0xFFFF00,1);
-        LightLED(2,0xFF0000,1);
-    }
-
-// N
-    LightLED(0,0x8000FF,1);
-
-    doLedStop = false;
-    while (doRhythm == true);
-
-// O
-
-// P
-    while (doRhythm == false);
-    calcBar = 0;
-
-    FadeLED(3.75,0,0xFFFF00,1);
-    doLedStop = true;
-    LightLED(5*4,0x00FF00,1);
-    LightLED(2*4,0xFFFFFF,1);
-    doLedStop = false;
-    LightLED(0.75+4,0x0000FF,1);
-    FadeLED(5,0,0x0000FF,1);
-    LightLED(0,0xFFFFFF,1);
-
-// End
-}
\ No newline at end of file
--- a/sunshineaura.h	Sat Nov 07 13:40:03 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-void Sunshineaura()
-{
-    doLedStop = true;
-    calcBar = 0;
-
-// Intro
-    FadeLED(2*4,0,0xFFFFFF,1);
-    LightLED(1.5,0xFF0000,1);
-    LightLED(2.5,0x0000FF,1);
-    LightLED(1.5,0xFF0000,1);
-    LightLED(2,0x0000FF,1);
-    LightLED(3.5,0xFF0000,1);
-    LightLED(4.5,0x0000FF,1);
-    LightLED(4.5,0xFF0000,1);
-
-// Intro2
-    for (int i = 0; i < 6; i++) {
-        LightLED(1,0xFF0000,1);
-        LightLED(1,0x00FF00,1);
-        LightLED(1,0x0000FF,1);
-        LightLED(1,0xFFFF00,1);
-    }
-    LightLED(4,0x0,1);
-
-// A
-    LightLED(16*4,0x00FFFF,1);
-
-// B
-    LightLED(16*4,0xFFFF00,1);
-
-// C
-    LightLED(6*4,0x00FF00,1);
-    FadeLED(2*4,0,0x0000FF,1);
-    FadeLED(2*4,0,0xFF0000,1);
-
-// D
-    LightLED(14*4,0xFFFFFF,1);
-    LightLED(1.5,0xFF0000,1);
-    LightLED(2,0x00FF00,1);
-    LightLED(2,0x0000FF,1);
-    LightLED(2.5,0xFFFF00,1);
-
-// E
-    LightLED(4*4,0x00FF00,1);
-
-// F
-    LightLED(16*4,0x00FFFF,1);
-
-// G
-    LightLED(16*4,0xFFFF00,1);
-
-// H
-    LightLED(6*4,0x00FF00,1);
-    FadeLED(2*4,0,0x0000FF,1);
-    FadeLED(2*4,0,0xFF0000,1);
-
-// D
-    LightLED(14*4,0xFFFFFF,1);
-    LightLED(1.5,0xFF0000,1);
-    LightLED(2,0x00FF00,1);
-    LightLED(2,0x0000FF,1);
-    LightLED(2.5,0xFFFF00,1);
-
-// I
-    for (int i = 0; i<9; i++) {
-        FadeLED(4,0,0xFF00FF,1);
-        FadeLED(4,1,0xFF00FF,1);
-    }
-
-// J
-    FadeLED(8*4,0,0x0000FF,1);
-    FadeLED(6*4,0,0x00FFFF,1);
-
-    LightLED(1.5,0xFF0000,1);
-    LightLED(2,0x00FF00,1);
-    LightLED(1.5,0x0000FF,1);
-    LightLED(2,0xFFFF00,1);
-    LightLED(7,0xFF00FF,1);
-    FadeLED(4,0,0x0000FF,1);
-
-// K
-    LightLED(8*4,0x00FFFF,1);
-    LightLED(8*4,0xFFFF00,1);
-
-// L
-    for (int i = 0; i < 13; i++) {
-        LightLED(1,0xFF0000,1);
-        LightLED(1,0x00FF00,1);
-        LightLED(1,0x0000FF,1);
-        LightLED(1,0xFFFF00,1);
-    }
-    LightLED(1,0xFF0000,1);
-    LightLED(1,0x00FF00,1);
-    LightLED(1,0x0000FF,1);
-    LightLED(0.5,0xFFFF00,1);
-
-    LightLED(2,0xFF0000,1);
-    LightLED(2,0x00FF00,1);
-    LightLED(2,0x0000FF,1);
-    LightLED(2,0xFFFF00,1);
-    LightLED(2,0xFF00FF,1);
-    LightLED(2,0x00FF00,1);
-    LightLED(7.5,0x0000FF,1);
-    LightLED(8,0xFF0000,1);
-
-// End
-    pc.putc(0xFF);
-}
\ No newline at end of file
--- a/yozakura.h	Sat Nov 07 13:40:03 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-void Yozakura()
-{
-    doLedStop = true;
-    calcBar = 0;
-
-// Intro
-    LightLED(4,0x000000,1);
-    for (int i = 0; i < 2; i++) {
-        FadeLED(2*4,0,0x0000FF,1);
-        FadeLED(2*4,1,0x0000FF,1);
-    }
-    for (int i =0; i < 4; i++) {
-        FlowLED(4,0,0x0000FF,1);
-    }
-
-// A
-    for (int i =0; i < 6; i++) {
-        FlowLED(3.5,0,0x0000FF,1);
-        LightLED(0.5,0xFF0000,1);
-    }
-    FlowLED(4,0,0x0000FF,1);
-    FlowLED(4,0,0x0000FF,1);
-
-// B
-    LightLED(5*4+0.5,0xFF00FF,1);
-    LightLED(3.5,0xFF0000,1);
-
-// C
-    for (int i = 0; i < 5; i++) {
-        FlowLED(2,0,0xFF00FF,1);
-        FlowLED(2,1,0xFF00FF,1);
-    }
-    LightLED(4,0xFF0000,1);
-    for (int i = 0; i < 3; i++) {
-        FlowLED(2,0,0xFF00FF,1);
-        FlowLED(2,1,0xFF00FF,1);
-    }
-    LightLED(4,0xFF0000,1);
-
-    for (int i = 0; i < 4; i++) {
-        FlowLED(2,0,0xFF00FF,1);
-        FlowLED(2,1,0xFF00FF,1);
-    }
-    LightLED(3.5,0xFF0000,1);
-    LightLED(0.5,0x0000FF,1);
-    LightLED(2.66,0xFF0000,1);
-    LightLED(1.34,0x0000FF,1);
-    for (int i = 0; i < 3; i++) {
-        FlowLED(2,0,0xFF00FF,1);
-        FlowLED(2,1,0xFF00FF,1);
-    }
-    LightLED(2*4,0xFF0000,1);
-    LightLED(2.5,0xFF00FF,1);
-    LightLED(0.5,0xFF0000,1);
-    LightLED(1.5,0x0000FF,1);
-    LightLED(3.5,0xFF0000,1);
-
-// D
-    for (int i = 0; i < 6; i++) {
-        FlowLED(2,0,0xFF00FF,1);
-        FlowLED(2,1,0xFF00FF,1);
-    }
-    LightLED(2*4,0xFF0000,1);
-
-// E
-    for (int i =0; i < 10; i++) {
-        FlowLED(4,0,0x0000FF,1);
-    }
-    LightLED(2.5,0x0000FF,1);
-    LightLED(0.5,0xFF0000,1);
-    LightLED(1.5,0x0000FF,1);
-    LightLED(3.5,0xFF0000,1);
-
-// D
-    for (int i = 0; i < 6; i++) {
-        FlowLED(2,0,0xFF00FF,1);
-        FlowLED(2,1,0xFF00FF,1);
-    }
-    LightLED(2*4,0xFF0000,1);
-
-    LightLED(2.5,0x0000FF,1);
-    LightLED(0.5,0xFF0000,1);
-    LightLED(1.5,0x0000FF,1);
-    LightLED(3.5,0xFF0000,1);
-
-// F
-    for (int i = 0; i < 6; i++) {
-        FlowLED(2,0,0xFF00FF,1);
-        FlowLED(2,1,0xFF00FF,1);
-    }
-    LightLED(2*4,0xFF0000,1);
-
-// G
-    for (int i = 0;i < 5;i++){
-        LightLED(1,0xFF00FF,1);
-        LightLED(1,0xFFFF00,1);
-        LightLED(1,0xFF0000,1);
-        LightLED(1,0xFF8000,1);
-    }
-    LightLED(4,0xFF0000,1);
-    LightLED(2*4,0x0000FF,1);
-    
-    LightLED(0.5,0x000000,1);
-    LightLED(3.5,0xFF0000,1);
-    LightLED(1,0x000000,1);
-    LightLED(2,0x0000FF,1);
-    LightLED(1,0xFF00FF,1);
-    
-// End
-    pc.putc(0xFF);
-}
\ No newline at end of file