#include <Bounce.h>
#include <Adafruit_NeoPixel.h>
#include <Wire.h> // wire library for LED matrix
#include "Adafruit_LEDBackpack.h"
#include "Adafruit_GFX.h"
#include "Adafruit_TLC5947.h" // for LED breakout board
// #include <Adafruit_TLC5947.h>
#include <SPI.h>
const int slaveSelectPin = 10;
#define clock 13 // 10
#define data 11
#define oe 15 // 12
#define latch 10 // 11
#define NUM_TLC5974 2 // how many LED boards
unsigned long frame;
Adafruit_TLC5947 tlc = Adafruit_TLC5947(NUM_TLC5974, clock, data, latch, oe);
//unsigned long tick, dur;
// the MIDI channel number to send messages
const int channel = 1;
const int MIDIchannel = 1; // this will only apply to midi channel 1
// the MIDI continuous controller for each analog input
const int controllerA0 = 1; // control change 1, ribbon
const int controllerA1 = 2; //control change 2
const int controllerA2 = 3; //control change 3
const int controllerA3 = 4; // control change 4
const int controllerA4 = 5; // control change 5
const int controllerA5 = 6; // control change 6
const int controllerA6 = 7; // control change 7
const int controllerA7 = 8; // control change 8
const int controllerA8 = 9; // control change 9 last ribbon
const int controllerA9 = 10; // control change 10 joystick
const int controllerA10 = 11; // joystick
const int controllerA11 = 12; // control change 12
const int controllerA12 = 13; // control change 13 joystick
const int controllerD14 = 14; // toggle, control change 14
const int controllerD15 = 15; // Button, control change 15
const int controllerD16 = 16; //
const int controllerD17 = 17;
const int controllerD18 = 18; //
const int controllerD19 = 19;
const int controllerD20 = 20;
const int controllerD21 = 21;
const int controllerD22 = 22;
const int controllerD23 = 23;
const int controllerD24 = 24;
const int controllerD25 = 25;
const int controllerD26 = 26;
const int controllerD27 = 27;
int pled16 = 0;
// Create Bounce objects for each button. The Bounce object
// automatically deals with contact chatter or "bounce", and
// it makes detecting changes very simple.
Bounce button0 = Bounce(0, 5);
Bounce button1 = Bounce(1, 5); // 5 = 5 ms debounce time
Bounce button2 = Bounce(2, 5); // which is appropriate for good
Bounce button3 = Bounce(3, 5); // quality mechanical pushbuttons
Bounce button4 = Bounce(4, 5);
Bounce button5 = Bounce(5, 5); // if a button is too "sensitive"
Bounce button6 = Bounce(6, 5); // to rapid touch, you can
Bounce button7 = Bounce(7, 5); // increase this time.
Bounce button8 = Bounce(8, 5);
Bounce button9 = Bounce(9, 5);
Bounce button10 = Bounce(10, 5);
Bounce button11 = Bounce(11, 5);
Bounce button12 = Bounce(12, 5); // goes out of order because other pins double as analog inputs
Bounce button24 = Bounce(24, 5);
Bounce button25 = Bounce(25, 5);
Bounce button26 = Bounce(26, 5);
Bounce button27 = Bounce(27, 5);
//const int ledPin28 = 28; // digital pin 28 For LED
//const int ledPin29 = 29; // digital pin 29 For LED
//const int ledPin30 = 30; // digital pin 30 For LED
//const int ledPin31 = 31; // digital pin 29 For LED
//const int ledPin32 = 32; // digital pin 29 For LED
//const int ledPin33 = 33; // digital pin 29 For
const int ledcontroller15 = 15; // midi control change 15
const int ledcontroller16 = 16; // midi control change 16
const int ledcontroller17 = 17; // midi control change 15
const int ledcontroller18 = 18; // midi control change 16
const int ledcontroller19 = 19; // midi control change 15
const int ledcontroller20 = 20; // midi control change 16
const int ledcontroller23 = 23; // midi control change 16
const int numMatrixControllers = 5;
const int firstMatrixController = 76;
// led matrix
Adafruit_7segment matrix = Adafruit_7segment();
// Adafruit_7segment matrix1 = Adafruit_7segment();
Adafruit_8x16matrix matrix2 = Adafruit_8x16matrix();
void setup() {
pinMode(latch, OUTPUT);
digitalWrite(latch, LOW);
pinMode(clock, OUTPUT);
digitalWrite(clock, LOW);
pinMode(data, OUTPUT);
digitalWrite(data, LOW);
SPI.setCS(10);
SPI.setMOSI(11);
SPI.setSCK(13);
SPI.begin();
//tlc.begin();
// Serial.begin(38400); if you don't comment this out the board goes off line
// wire 3.3V to AREF for 3.3V reference
analogReference(DEFAULT);
pinMode(0, INPUT_PULLUP); // for button swithces
pinMode(1, INPUT_PULLUP);
pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
pinMode(4, INPUT_PULLUP);
pinMode(5, INPUT_PULLUP);
pinMode(6, INPUT_PULLUP);
pinMode(7, INPUT_PULLUP);
pinMode(8, INPUT_PULLUP);
pinMode(9, INPUT_PULLUP);
// pinMode(10, INPUT_PULLUP);
// pinMode(11, INPUT_PULLUP);
pinMode(12, INPUT_PULLUP);
pinMode(24, INPUT_PULLUP);
pinMode(25, INPUT_PULLUP);
pinMode(26, INPUT_PULLUP);
pinMode(27, INPUT_PULLUP);
usbMIDI.setHandleControlChange(myControlChange);
setupLedDisplays();
}
// store previously sent values, to detect changes
int previousA0 = -1;
int previousA1 = -1;
int previousA2 = -1;
int previousA3 = -1;
int previousA4 = -1;
int previousA5 = -1;
int previousA6 = -1;
int previousA7 = -1;
int previousA8 = -1;
int previousA9 = -1;
int previousA10 = -1;
int previousA11 = -1;
int previousA12 = -1;
// store previous LED values
elapsedMillis msec = 0;
void loop() {
{
button0.update(); // this button code works, goes from 0 to 127 when pressed
button1.update();
button2.update();
button3.update();
button4.update();
button5.update();
button6.update();
button7.update();
button8.update();
button9.update();
button10.update();
button11.update();
button12.update();
button24.update();
button25.update();
button26.update();
button27.update();
if (button0.fallingEdge()) { // this deals with reading the button swithces
usbMIDI.sendControlChange(controllerD14, 127, channel);
}
if (button0.risingEdge()) {
usbMIDI.sendControlChange(controllerD14, 0, channel);
}
if (button1.fallingEdge()) {
usbMIDI.sendControlChange(controllerD15, 127, channel);
}
if (button1.risingEdge()) {
usbMIDI.sendControlChange(controllerD15, 0, channel);
}
if (button2.fallingEdge()) {
usbMIDI.sendControlChange(controllerD16, 127, channel);
}
if (button2.risingEdge()) {
usbMIDI.sendControlChange(controllerD16, 0, channel);
}
if (button3.fallingEdge()) {
usbMIDI.sendControlChange(controllerD17, 127, channel);
}
if (button3.risingEdge()) {
usbMIDI.sendControlChange(controllerD17, 0, channel);
}
if (button4.fallingEdge()) {
usbMIDI.sendControlChange(controllerD18, 127, channel);
}
if (button4.risingEdge()) {
usbMIDI.sendControlChange(controllerD18, 0, channel);
}
if (button5.fallingEdge()) {
usbMIDI.sendControlChange(controllerD19, 127, channel);
}
if (button5.risingEdge()) {
usbMIDI.sendControlChange(controllerD19, 0, channel);
}
if (button6.fallingEdge()) {
usbMIDI.sendControlChange(controllerD20, 127, channel);
}
if (button6.risingEdge()) {
usbMIDI.sendControlChange(controllerD20, 0, channel);
}
if (button7.fallingEdge()) {
usbMIDI.sendControlChange(controllerD21, 127, channel);
}
if (button7.risingEdge()) {
usbMIDI.sendControlChange(controllerD21, 0, channel);
}
if (button8.fallingEdge()) {
usbMIDI.sendControlChange(controllerD22, 127, channel);
}
if (button8.risingEdge()) {
usbMIDI.sendControlChange(controllerD22, 0, channel);
}
if (button9.fallingEdge()) {
usbMIDI.sendControlChange(controllerD23, 127, channel);
}
if (button9.risingEdge()) {
usbMIDI.sendControlChange(controllerD23, 0, channel);
}
if (button10.fallingEdge()) {
usbMIDI.sendControlChange(controllerD24, 127, channel);
}
if (button10.risingEdge()) {
usbMIDI.sendControlChange(controllerD24, 0, channel);
}
if (button11.fallingEdge()) {
usbMIDI.sendControlChange(controllerD25, 127, channel);
}
if (button11.risingEdge()) {
usbMIDI.sendControlChange(controllerD25, 0, channel);
}
if (button12.fallingEdge()) {
usbMIDI.sendControlChange(controllerD26, 127, channel);
}
if (button12.risingEdge()) {
usbMIDI.sendControlChange(controllerD26, 0, channel);
}
if (button24.fallingEdge()) {
usbMIDI.sendControlChange(controllerD27, 127, channel);
}
if (button24.risingEdge()) {
usbMIDI.sendControlChange(controllerD27, 0, channel);
}
/*
if (button25.fallingEdge()) {
usbMIDI.sendControlChange(controllerD28, 127, channel);
}
if (button25.risingEdge()) {
usbMIDI.sendControlChange(controllerD28, 0, channel);
}
if (button26.fallingEdge()) {
usbMIDI.sendControlChange(controllerD29, 127, channel);
}
if (button26.risingEdge()) {
usbMIDI.sendControlChange(controllerD29, 0, channel);
}
if (button27.fallingEdge()) {
usbMIDI.sendControlChange(controllerD30, 127, channel);
}
if (button27.risingEdge()) {
usbMIDI.sendControlChange(controllerD30, 0, channel);
}
*/
}
// only check the analog inputs 50 times per second,
// to prevent a flood of MIDI messages
if (msec >= 3) { // i changed this value to 10 from 20 for faster updates
msec = 0;
int n0 = map(analogRead(A0), 0, 1023, 0, 127);
int n1 = map(analogRead(A1), 0, 1023, 0, 127);
int n2 = map(analogRead(A2), 0, 1023, 0, 127);
int n3 = map(analogRead(A3), 0, 1023, 0, 127);
// int n4 = map(analogRead(A4), 0, 1023, 0, 127); //commented this out for SCL0 and SDA0
// int n5 = map(analogRead(A5), 0, 1023, 0, 127);
int n6 = map(analogRead(A6), 0, 1023, 0, 127);
int n7 = map(analogRead(A7), 0, 1023, 0, 127);
int n8 = map(analogRead(A8), 0, 1023, 0, 127);
int n9 = map(analogRead(A9), 0, 1023, 0, 127);
int n10 = map(analogRead(A14), 0, 1023, 0, 127);
int n11 = map(analogRead(A15), 0, 1023, 0, 127);
int n12 = map(analogRead(A16), 0, 1023, 0, 127);
// only transmit MIDI messages if analog input changed
if (n0 != previousA0) {
previousA0 = n0;
if (n0 < 2) n0 = 0;
usbMIDI.sendControlChange(controllerA0, n0, channel);
}
if (n1 != previousA1) {
previousA1 = n1;
if (n1 < 2) n1 = 0;
usbMIDI.sendControlChange(controllerA1, n1, channel);
}
if (n2 != previousA2) {
previousA2 = n2;
if (n2 < 2) n2 = 0;
usbMIDI.sendControlChange(controllerA2, n2, channel);
}
if (n3 != previousA3) {
previousA3 = n3;
if (n3 < 2) n3 = 0;
usbMIDI.sendControlChange(controllerA3, n3, channel);
}
/*
if (n4 != previousA4) {
previousA4 = n4;
if (n4 < 2) n4 = 0;
usbMIDI.sendControlChange(controllerA4, n4, channel);
}
if (n5 != previousA5) {
previousA5 = n5;
if (n5 < 2) n5 = 0;
usbMIDI.sendControlChange(controllerA5, n5, channel);
}
*/
if (n6 != previousA6) {
previousA6 = n6;
if (n6 < 2) n6 = 0;
usbMIDI.sendControlChange(controllerA6, n6, channel);
}
if (n7 != previousA7) {
previousA7 = n7;
if (n7 < 2) n7 = 0;
usbMIDI.sendControlChange(controllerA7, n7, channel);
}
if (n8 != previousA8) {
previousA8 = n8;
if (n8 < 2) n8 = 0;
usbMIDI.sendControlChange(controllerA8, n8, channel);
}
if (n9 != previousA9) {
previousA9 = n9;
if (n9 < 3) n9 = 0;
usbMIDI.sendControlChange(controllerA9, n9, channel);
}
if (n10 != previousA10) {
previousA10 = n10;
if (n10 < 3) n10 = 0;
usbMIDI.sendControlChange(controllerA10, n10, channel);
}
if (n11 != previousA11) {
previousA11 = n11;
if (n11 < 3) n11 = 0;
usbMIDI.sendControlChange(controllerA11, n11, channel);
}
if (n12 != previousA12) {
previousA12 = n12;
if (n12 < 3) n12 = 0;
usbMIDI.sendControlChange(controllerA12, n12, channel);
}
}
// MIDI Controllers should discard incoming MIDI messages.
// http://forum.pjrc.com/threads/24179-Teensy-3-Ableton-Analog-CC-causes-midi-crash
while (usbMIDI.read()) {
// ignore incoming messages
}
}
/////////////////////////
// TO OPTIMIZE
// NEXT: calculate the color in one set of conditions and the controller in another, and then combine them to send the color
//////////////////////////
void myControlChange(byte channel, byte control, byte value) { // for LEDs, MIDI output
if (channel == MIDIchannel) {
if (control == ledcontroller15) {
if (value == 0)
tlc.setLED(0, 0, 0, 0); //off
if (value == 10)
tlc.setLED(0, 246, 84, 106); //light pink
if (value == 20)
tlc.setLED(0, 0, 0, 255); //blue
if ( value == 30)
tlc.setLED(0, 90, 0, 255); //lavender
if (value == 40)
tlc.setLED(0, 255, 0, 255); //pink
if (value == 50)
tlc.setLED(0, 255, 0, 0); //red
if ( value == 60)
tlc.setLED(0, 255, 128, 0); //orange
if (value == 70)
tlc.setLED(0, 255, 255, 0); // yellow
if (value == 80)
tlc.setLED(0, 0, 255, 0); // green
if (value == 90)
tlc.setLED(0, 50, 255, 50); //light green
if (value == 100)
tlc.setLED(0, 0, 255, 90); //turquoise
if (value == 110)
tlc.setLED(0, 0, 180, 255); //light blue
if (value == 120)
tlc.setLED(0, 0, 255, 180); // aqua turquoise
if (value == 127)
tlc.setLED(0, 255, 255, 255); // white
}
/////// new 16
if (control == ledcontroller16) {
// if (value == pled16) {
// }
if ( value == 0)
setLEDspi( 1, 0, 0, 0); // off check
if (value == 10)
//light pink
setLEDspi( 1, 90, 2, 10);
if (value == 20)
//blue check
setLEDspi( 1, 0, 0, 100);
if (value == 30)
//lavender
setLEDspi( 1, 70, 2, 10);
if (value == 40)
//pink check
setLEDspi( 1, 90, 2, 2);
if (value == 50)
setLEDspi( 1, 100, 0, 0); //red check
if (value == 60)
setLEDspi( 1, 100, 8, 0); //orange check
if (value == 70)
setLEDspi( 1, 100, 60, 0); // yellow
if (value == 80)
setLEDspi( 1, 0, 100, 0); // green check
if (value == 90)
setLEDspi( 1, 2, 100, 2); //light green x
if (value == 100)
setLEDspi( 1, 0, 50, 20); //turquoise x
if (value == 110)
setLEDspi( 1, 0, 50, 40); //light blue x
if (value == 120)
setLEDspi( 1, 0, 100, 41); // aqua turquoise
if (value == 127)
setLEDspi( 1, 100, 90, 100); // white check
// value = pled16;
}
//////// 17
if (control == ledcontroller17 && value == 0)
tlc.setLED(2, 0, 0, 0); //off
if (control == ledcontroller17 && value == 10)
tlc.setLED(2, 246, 84, 106); //light pink
if (control == ledcontroller17 && value == 20)
tlc.setLED(2, 0, 0, 255); //blue
if (control == ledcontroller17 && value == 30)
tlc.setLED(2, 90, 0, 255); //lavender
if (control == ledcontroller17 && value == 40)
tlc.setLED(2, 255, 0, 255); //pink
if (control == ledcontroller17 && value == 50)
tlc.setLED(2, 255, 0, 0); //red
if (control == ledcontroller17 && value == 60)
tlc.setLED(2, 255, 128, 0); //orange
if (control == ledcontroller17 && value == 70)
tlc.setLED(2, 255, 255, 0); // yellow
if (control == ledcontroller17 && value == 80)
tlc.setLED(2, 0, 255, 0); // green
if (control == ledcontroller17 && value == 90)
tlc.setLED(2, 50, 255, 50); //light green
if (control == ledcontroller17 && value == 100)
tlc.setLED(2, 0, 255, 90); //turquoise
if (control == ledcontroller17 && value == 110)
tlc.setLED(2, 0, 180, 255); //light blue
if (control == ledcontroller17 && value == 120)
tlc.setLED(2, 0, 255, 180); // aqua turquoise
if (control == ledcontroller17 && value == 127)
tlc.setLED(2, 255, 255, 255); // white
///// new 18
if (control == ledcontroller18 && value == 0)
tlc.setLED(3, 0, 0, 0); //off
if (control == ledcontroller18 && value == 10)
tlc.setLED(3, 246, 84, 106); //light pink
if (control == ledcontroller18 && value == 20)
tlc.setLED(3, 0, 0, 255); //blue
if (control == ledcontroller18 && value == 30)
tlc.setLED(3, 90, 0, 255); //lavender
if (control == ledcontroller18 && value == 40)
tlc.setLED(3, 255, 0, 255); //pink
if (control == ledcontroller18 && value == 50)
tlc.setLED(3, 255, 0, 0); //red
if (control == ledcontroller18 && value == 60)
tlc.setLED(3, 255, 128, 0); //orange
if (control == ledcontroller18 && value == 70)
tlc.setLED(3, 255, 255, 0); // yellow
if (control == ledcontroller18 && value == 80)
tlc.setLED(3, 0, 255, 0); // green
if (control == ledcontroller18 && value == 90)
tlc.setLED(3, 50, 255, 50); //light green
if (control == ledcontroller18 && value == 100)
tlc.setLED(3, 0, 255, 90); //turquoise
if (control == ledcontroller18 && value == 110)
tlc.setLED(3, 0, 180, 255); //light blue
if (control == ledcontroller18 && value == 120)
tlc.setLED(3, 0, 255, 180); // aqua turquoise
if (control == ledcontroller18 && value == 127)
tlc.setLED(3, 255, 255, 255); // white
////////// 23
if (control == ledcontroller23 && value == 0)
tlc.setLED(8, 0, 0, 0); //off
if (control == ledcontroller23 && value == 10)
tlc.setLED(8, 246, 84, 106); //light pink
if (control == ledcontroller23 && value == 20)
tlc.setLED(8, 0, 0, 255); //blue
if (control == ledcontroller23 && value == 30)
tlc.setLED(8, 90, 0, 255); //lavender
if (control == ledcontroller23 && value == 40)
tlc.setLED(8, 255, 0, 255); //pink
if (control == ledcontroller23 && value == 50)
tlc.setLED(8, 255, 0, 0); //red
if (control == ledcontroller23 && value == 60)
tlc.setLED(8, 255, 128, 0); //orange
if (control == ledcontroller23 && value == 70)
tlc.setLED(8, 255, 255, 0); // yellow
if (control == ledcontroller23 && value == 80)
tlc.setLED(8, 0, 255, 0); // green
if (control == ledcontroller23 && value == 90)
tlc.setLED(8, 50, 255, 50); //light green
if (control == ledcontroller23 && value == 100)
tlc.setLED(8, 0, 255, 90); //turquoise
if (control == ledcontroller23 && value == 110)
tlc.setLED(8, 0, 180, 255); //light blue
if (control == ledcontroller23 && value == 120)
tlc.setLED(8, 0, 255, 180); // aqua turquoise
if (control == ledcontroller23 && value == 127)
tlc.setLED(8, 255, 255, 255); // white
// write LED changes
// tlc.write();
// SPIwrite();
// handle matrix
if (control >= firstMatrixController && control < (firstMatrixController + numMatrixControllers))
handleMatrix(control, value);
}
}
void setLEDspi(uint16_t i, uint16_t r, uint16_t g, uint16_t b) {
tlc.setLED(i,r, g, b);
SPIwrite();
}
/////////////////////////
// TO OPTIMIZE
// NEXT: reduce number of conditions by grouping and encapulating like in the myControlChange function
//////////////////////////
void handleMatrix(byte number, byte value)
{
if (number == 76 && value == 0) {
display11Clear();
}
else if (number == 76 && value == 127) {
display11Full();
}
else if (number == 76 && value == 1) {
display11Ascending();
}
else if (number == 76 && value == 0) {
display11Clear();
}
else if (number == 76 && value == 2) {
display11Descending();
}
else if (number == 76 && value == 3) {
display12Ascending();
}
else if (number == 76 && value == 4) {
display12Descending();
}
else if (number == 76 && value == 5) {
display13Ascending();
}
else if (number == 76 && value == 6) {
display13Descending();
}
else if (number == 76 && value == 7) {
display14Ascending();
}
else if (number == 76 && value == 8) {
display14Descending();
}
else if (number == 76 && value == 9) {
display15Ascending();
}
else if (number == 76 && value == 10) {
display15Descending();
}
else if (number == 76 && value == 11) {
display16Ascending();
}
else if (number == 76 && value == 12) {
display16Descending();
}
else if (number == 76 && value == 13) {
display17Ascending();
}
else if (number == 76 && value == 14) {
display18Ascending();
}
else if (number == 76 && value == 15) {
display19Ascending();
}
else if (number == 76 && value == 16) {
display19Descending();
}
else if (number == 76 && value == 17) {
display110Ascending();
}
else if (number == 76 && value == 18) {
display110Descending();
}
else if (number == 76 && value == 19) {
display111Ascending();
}
else if (number == 76 && value == 20) {
display111Descending();
}
else if (number == 76 && value == 21) {
display112Ascending();
}
else if (number == 76 && value == 22) {
display112Descending();
}
else if (number == 76 && value == 23) {
display113Ascending();
}
else if (number == 76 && value == 24) {
display113Descending();
}
else if (number == 76 && value == 25) {
display114Ascending();
}
else if (number == 76 && value == 26) {
display114Descending();
}
else if (number == 76 && value == 27) {
display115Ascending();
}
else if (number == 76 && value == 28) {
display115Descending();
}
else if (number == 76 && value == 29) {
display116Ascending();
}
else if (number == 76 && value == 30) {
display116Descending();
}
else if (number == 76 && value == 31) {
display117Ascending();
}
else if (number == 76 && value == 32) {
display117Descending();
}
else if (number == 76 && value == 33) {
display118Ascending();
}
else if (number == 76 && value == 34) {
display119Ascending();
}
else if (number == 76 && value == 35) {
display120Ascending();
}
else if (number == 76 && value == 36) {
display121Ascending();
}
else if (number == 76 && value == 37) {
display121Descending();
}
else if (number == 76 && value == 38) {
display122Ascending();
}
else if (number == 76 && value == 39) {
display122Descending();
}
else if (number == 76 && value == 40) {
display123Ascending();
}
else if (number == 76 && value == 41) {
display123Descending();
}
else if (number == 76 && value == 42) {
display124Ascending();
}
else if (number == 76 && value == 43) {
display124Descending();
}
else if (number == 76 && value == 44) {
display125Ascending();
}
else if (number == 76 && value == 45) {
display125Descending();
}
else if (number == 76 && value == 46) {
display126Ascending();
}
else if (number == 76 && value == 47) {
display126Descending();
}
else if (number == 76 && value == 48) {
display127Ascending();
}
else if (number == 76 && value == 49) {
display127Descending();
}
else if (number == 76 && value == 50) {
display128Ascending();
}
else if (number == 76 && value == 51) {
display128Descending();
}
else if (number == 76 && value == 52) {
display129Ascending();
}
else if (number == 76 && value == 53) {
display130Ascending();
}
else if (number == 76 && value == 54) {
display131Ascending();
}
else if (number == 76 && value == 55) {
display131Descending();
}
else if (number == 76 && value == 56) {
display132Ascending();
}
else if (number == 76 && value == 57) {
display133Ascending();
}
else if (number == 76 && value == 58) {
display134Ascending();
}
else if (number == 76 && value == 59) {
display135Ascending();
}
else if (number == 76 && value == 60) {
display135Descending();
}
else if (number == 76 && value == 61) {
display136Ascending();
}
else if (number == 76 && value == 62) {
display137Ascending();
}
else if (number == 76 && value == 63) {
display137Descending();
}
else if (number == 76 && value == 64) {
display138Ascending();
}
else if (number == 76 && value == 65) {
display138Descending();
}
else if (number == 76 && value == 66) {
display139Ascending();
}
else if (number == 76 && value == 67) {
display140Ascending();
}
else if (number == 76 && value == 68) {
display141Ascending();
}
else if (number == 76 && value == 69) {
display142Ascending();
}
else if (number == 76 && value == 70) {
display143Ascending();
}
else if (number == 76 && value == 71) {
display143Descending();
}
else if (number == 76 && value == 72) {
display144Ascending();
}
else if (number == 76 && value == 73) { // 6animation
display145Ascending();
}
else if (number == 76 && value == 74) {
display146Ascending();
}
else if (number == 76 && value == 75) {
display147Ascending();
}
else if (number == 76 && value == 76) {
display148Ascending();
}
else if (number == 76 && value == 77) {
display148Descending();
}
else if (number == 76 && value == 78) {
display149Ascending();
}
else if (number == 76 && value == 79) {
display150Ascending();
}
else if (number == 76 && value == 80) {
display151Ascending();
}
else if (number == 76 && value == 81) {
display152Ascending();
}
else if (number == 76 && value == 82) {
display152Descending();
}
else if (number == 76 && value == 83) {
display153Ascending();
}
else if (number == 76 && value == 84) {
display154Ascending();
}
else if (number == 76 && value == 85) {
display155Ascending();
}
else if (number == 76 && value == 86) {
display156Ascending();
}
else if (number == 76 && value == 87) {
display156Descending();
}
else if (number == 76 && value == 88) {
display157Ascending();
}
else if (number == 76 && value == 89) {
display157Descending();
}
else if (number == 76 && value == 90) {
display158Ascending();
}
else if (number == 76 && value == 91) {
display159Ascending();
}
else if (number == 76 && value == 92) {
display160Ascending();
}
else if (number == 76 && value == 93) {
display161Ascending();
}
else if (number == 76 && value == 94) {
display161Descending();
}
else if (number == 76 && value == 95) {
display162Ascending();
}
else if (number == 76 && value == 96) {
display162Descending();
}
else if (number == 76 && value == 97) {
display163Ascending();
}
else if (number == 76 && value == 98) {
display164Ascending();
}
else if (number == 76 && value == 99) {
display165Ascending();
}
else if (number == 76 && value == 100) {
display166Ascending();
}
else if (number == 76 && value == 101) {
display167Ascending();
}
else if (number == 76 && value == 102) {
display168Ascending();
}
else if (number == 76 && value == 103) {
display169Ascending();
}
else if (number == 76 && value == 104) {
display170Ascending();
}
else if (number == 76 && value == 105) {
display171Ascending();
}
else if (number == 76 && value == 106) {
display172Ascending();
}
else if (number == 76 && value == 107) {
display173Ascending();
}
else if (number == 76 && value == 108) {
display174Ascending();
}
else if (number == 76 && value == 109) {
display175Ascending();
}
else if (number == 76 && value == 110) {
display176Ascending();
}
else if (number == 76 && value == 111) {
display177Ascending();
}
else if (number == 76 && value == 112) {
display178Ascending();
}
else if (number == 76 && value == 113) {
display179Ascending();
}
else if (number == 76 && value == 114) {
display180Ascending();
}
else if (number == 76 && value == 115) {
display181Ascending();
}
else if (number == 76 && value == 116) {
display182Ascending();
}
else if (number == 76 && value == 117) {
display182Descending();
}
else if (number == 76 && value == 118) {
display183Ascending();
}
else if (number == 76 && value == 119) {
display184Ascending();
}
else if (number == 76 && value == 120) {
display185Ascending();
}
else if (number == 76 && value == 121) {
display186Ascending();
}
else if (number == 76 && value == 122) {
display187Ascending();
}
else if (number == 76 && value == 123) {
display188Ascending();
}
else if (number == 76 && value == 124) {
display188Descending();
}
else if (number == 76 && value == 125) {
display189Ascending();
}
else if (number == 76 && value == 126) {
display190Ascending();
}
if (number == 77 && value == 0) {
display31Clear();
}
else if (number == 77 && value == 127) {
display31Full();
}
else if (number == 77 && value == 126) {
display31Randomx();
}
else if (number == 77 && value == 125) {
display31Rpp();
}
else if (number == 77 && value == 124) {
display31Rpp2();
}
else if (number == 77 && value == 123) {
display31Rpp4();
}
else if (number == 77 && value == 122) {
display31Rpp8();
}
else if (number == 77 && value == 121) {
display31Rss();
}
else if (number == 77 && value == 120) {
display31Rsr();
}
else if (number == 77 && value == 119) {
display31Rsc();
}
else if (number == 77 && value == 118) {
display31Rbs();
}
else if (number == 77 && value == 117) {
display31R4c();
}
else if (number == 77 && value == 116) {
display31R4cs();
}
else if (number == 77 && value == 115) {
display31Twoblockssmall();
}
else if (number == 77 && value == 114) {
display31Twoblocksverysmall();
}
else if (number == 77 && value == 113) {
display31Twocirclesb();
}
else if (number == 77 && value == 112) {
display31Twocircles();
}
else if (number == 77 && value == 111) {
display31randomlsquare();
}
else if (number == 77 && value == 110) {
display31random2lines();
}
else if (number == 77 && value == 109) {
display31random4lines();
}
else if (number == 77 && value == 108) {
display31twonoisesquare();
}
else if (number == 77 && value == 107) {
display31fournoisesquare();
}
else if (number == 77 && value == 106) {
display31fournoiseblocks();
}
else if (number == 77 && value == 105) {
display32Ascending();
}
else if (number == 77 && value == 104) {
display33Ascending();
}
else if (number == 77 && value == 103) {
display34Ascending();
}
else if (number == 77 && value == 102) {
display34Descending();
}
else if (number == 77 && value == 101) {
display35Ascending();
}
else if (number == 77 && value == 100) {
display36Ascending();
}
else if (number == 77 && value == 99) {
display37Ascending();
}
else if (number == 77 && value == 98) {
display38Ascending();
}
else if (number == 77 && value == 97) {
display38Descending();
}
else if (number == 77 && value == 96) {
display39Ascending();
}
else if (number == 77 && value == 95) {
display391Ascending();
}
else if (number == 77 && value == 94) {
display392Ascending();
}
else if (number == 77 && value == 93) {
display393Ascending();
}
else if (number == 77 && value == 92) {
display394Ascending();
}
else if (number == 77 && value == 91) {
display395Ascending();
}
else if (number == 77 && value == 90) {
display396Ascending();
}
else if (number == 77 && value == 89) {
display396Descending();
}
else if (number == 77 && value == 88) {
display310Ascending();
}
else if (number == 77 && value == 87) {
display310Descending();
}
else if (number == 77 && value == 86) {
display311Ascending();
}
else if (number == 77 && value == 85) {
display311Descending();
}
else if (number == 77 && value == 84) {
display312Ascending();
}
else if (number == 77 && value == 83) {
display313Ascending();
}
else if (number == 77 && value == 82) {
display314Ascending();
}
else if (number == 77 && value == 81) {
display314Descending();
}
else if (number == 77 && value == 80) {
display315Ascending();
}
else if (number == 77 && value == 79) {
display315Descending();
}
else if (number == 77 && value == 78) {
display316Ascending();
}
else if (number == 77 && value == 77) {
display317Ascending();
}
else if (number == 77 && value == 76) {
display317Descending();
}
else if (number == 77 && value == 75) {
display318Ascending();
}
else if (number == 77 && value == 74) {
display318Descending();
}
else if (number == 77 && value == 73) {
display319Ascending();
}
else if (number == 77 && value == 72) {
display320Ascending();
}
else if (number == 77 && value == 71) {
display320Descending();
}
else if (number == 77 && value == 70) {
display321Ascending();
}
else if (number == 77 && value == 69) {
display321Descending();
}
else if (number == 77 && value == 68) {
display322Ascending();
}
else if (number == 77 && value == 67) {
display322Descending();
}
else if (number == 77 && value == 66) {
display323Ascending();
}
else if (number == 77 && value == 65) {
display323Descending();
}
else if (number == 77 && value == 64) {
display324Ascending();
}
else if (number == 77 && value == 63) {
display324Descending();
}
else if (number == 77 && value == 62) {
display325Ascending();
}
else if (number == 77 && value == 61) {
display325Descending();
}
else if (number == 77 && value == 60) {
display326Ascending();
}
else if (number == 77 && value == 59) {
display326Descending();
}
else if (number == 77 && value == 58) {
display327Ascending();
}
else if (number == 77 && value == 57) {
display327Descending();
}
else if (number == 77 && value == 56) {
display328Ascending();
}
else if (number == 77 && value == 55) {
display328Descending();
}
else if (number == 77 && value == 54) { //triangls5
display329Ascending();
}
else if (number == 77 && value == 53) { //triangls4
display330Ascending();
}
else if (number == 77 && value == 52) { //triangls3
display331Ascending();
}
else if (number == 77 && value == 51) { //2randHorrectangles
display332Ascending();
}
else if (number == 77 && value == 50) { //triangleMove_rect
display333Ascending();
}
else if (number == 77 && value == 49) { //diamonds
display3344Ascending();
}
else if (number == 77 && value == 48) { //diamonds2
display334Ascending();
}
else if (number == 77 && value == 47) { //triangle5
display335Ascending();
}
else if (number == 77 && value == 46) { //triangle5Desc
display335Descending();
}
else if (number == 77 && value == 45) { //triangle4
display336Ascending();
}
else if (number == 77 && value == 44) { //triangle3
display337Ascending();
}
else if (number == 77 && value == 43) { //triangle3Desc
display337Descending();
}
else if (number == 77 && value == 42) { //triangle2Rotate
display338Ascending();
}
else if (number == 77 && value == 41) { //triangle2
display339Ascending();
}
else if (number == 77 && value == 40) { //triangle2Desc
display339Descending();
}
else if (number == 77 && value == 39) { //triangle1
display340Ascending();
}
else if (number == 77 && value == 38) { //triangle1Desc
display340Descending();
}
else if (number == 77 && value == 37) { //triangle_rect
display341Ascending();
}
else if (number == 77 && value == 36) { //transform
display342Ascending();
}
else if (number == 77 && value == 35) { //stretched_circle
display343Ascending();
}
else if (number == 77 && value == 34) { //star3
display344Ascending();
}
else if (number == 77 && value == 33) { //star2
display345Ascending();
}
else if (number == 77 && value == 32) { //squares
display346Ascending();
}
else if (number == 77 && value == 31) { //rectround1
display347Ascending();
}
else if (number == 77 && value == 30) { //rect6
display348Ascending();
}
else if (number == 77 && value == 29) { //rect5
display349Ascending();
}
else if (number == 77 && value == 28) { //rect5Desc
display349Descending();
}
else if (number == 77 && value == 27) { //rect4
display350Ascending();
}
else if (number == 77 && value == 26) { //rect3
display351Ascending();
}
else if (number == 77 && value == 25) { //rect2
display352Ascending();
}
else if (number == 77 && value == 24) { //rect1
display353Ascending();
}
else if (number == 77 && value == 23) { //rect1Desc
display353Descending();
}
else if (number == 77 && value == 22) { //pixelLtoR
display354Ascending();
}
else if (number == 77 && value == 21) { //pixel2
display355Ascending();
}
else if (number == 77 && value == 20) { //pixel1
display356Ascending();
}
else if (number == 77 && value == 19) { //pillars2
display357Ascending();
}
else if (number == 77 && value == 18) { //pillars1
display358Ascending();
}
else if (number == 77 && value == 17) { //moving_circle
display359Ascending();
}
else if (number == 77 && value == 16) { //lines91
display360Ascending();
}
else if (number == 77 && value == 15) { //Ex
display361Ascending();
}
else if (number == 77 && value == 14) { //ExDesc
display361Descending();
}
else if (number == 77 && value == 13) { //Ex2
display362Ascending();
}
else if (number == 77 && value == 12) { //circles_transform
display363Ascending();
}
else if (number == 77 && value == 11) { //circles_stripe
display364Ascending();
}
else if (number == 77 && value == 10) { //circle1
display365Ascending();
}
else if (number == 77 && value == 9) { //_4randvertlines2
display366Ascending();
}
else if (number == 77 && value == 8) { //_4randvertlines
display367Ascending();
}
else if (number == 77 && value == 7) { //_4randHorrectangles
display368Ascending();
}
else if (number == 77 && value == 6) { //_3randrec
display369Ascending();
}
else if (number == 77 && value == 5) { //_3circles
display370Ascending();
}
else if (number == 77 && value == 4) { //_2windmills2
display371Ascending();
}
else if (number == 77 && value == 3) { //_2randvertlines
display372Ascending();
}
else if (number == 77 && value == 2) { //_2randrec_line
display373Ascending();
}
else if (number == 77 && value == 1) { //_2randhorlines
display374Ascending();
}
else if (number == 78 && value == 1) { // A
displayA1();
}
else if (number == 78 && value == 2) { // B
displayB1();
}
else if (number == 78 && value == 3) { //
displayC1();
}
else if (number == 78 && value == 4) { //
displayD1();
}
else if (number == 78 && value == 5) { // A
displayE1();
}
else if (number == 78 && value == 6) { // B
displayF1();
}
else if (number == 78 && value == 7) { //
displayG1();
}
else if (number == 78 && value == 8) { //
displayH1();
}
else if (number == 78 && value == 9) { //
displayI1();
}
else if (number == 78 && value == 10) { //
displayJ1();
}
else if (number == 78 && value == 11) { // A
displayK1();
}
else if (number == 78 && value == 12) { // B
displayL1();
}
else if (number == 78 && value == 13) { //
displayM1();
}
else if (number == 78 && value == 14) { //
displayN1();
}
else if (number == 78 && value == 15) { // A
displayO1();
}
else if (number == 78 && value == 16) { // B
displayP1();
}
else if (number == 78 && value == 17) { //
displayQ1();
}
else if (number == 78 && value == 18) { //
displayR1();
}
else if (number == 78 && value == 19) { // A
displayS1();
}
else if (number == 78 && value == 20) { // B
displayT1();
}
else if (number == 78 && value == 21) { //
displayU1();
}
else if (number == 78 && value == 22) { //
displayV1();
}
else if (number == 78 && value == 23) { // A
displayW1();
}
else if (number == 78 && value == 24) { // B
displayX1();
}
else if (number == 78 && value == 25) { //
displayY1();
}
else if (number == 78 && value == 26) { //
displayZ1();
}
else if (number == 78 && value == 27) { // lower case a
displaya2();
}
else if (number == 78 && value == 28) { //
displayb2();
}
else if (number == 78 && value == 29) { // A
displayc2();
}
else if (number == 78 && value == 30) { // B
displayd2();
}
else if (number == 78 && value == 31) { //
displaye2();
}
else if (number == 78 && value == 32) { //
displayf2();
}
else if (number == 78 && value == 33) { //
displayg2();
}
else if (number == 78 && value == 34) { // A
displayh2();
}
else if (number == 78 && value == 35) { // B
displayi2();
}
else if (number == 78 && value == 36) { //
displayj2();
}
else if (number == 78 && value == 37) { //
displayk2();
}
else if (number == 78 && value == 38) { //
displayl2();
}
else if (number == 78 && value == 39) { //
displaym2();
}
else if (number == 78 && value == 40) { //
displayn2();
}
else if (number == 78 && value == 41) { //
displayo2();
}
else if (number == 78 && value == 42) { //
displayp2();
}
else if (number == 78 && value == 43) { //
displayq2();
}
else if (number == 78 && value == 44) { //
displayr2();
}
else if (number == 78 && value == 45) { //
displays2();
}
else if (number == 78 && value == 46) { //
displayt2();
}
else if (number == 78 && value == 47) { //
displayu2();
}
else if (number == 78 && value == 48) { //
displayv2();
}
else if (number == 78 && value == 49) { //
displayw2();
}
else if (number == 78 && value == 50) { //
displayx2();
}
else if (number == 78 && value == 51) { //
displayy2();
}
else if (number == 78 && value == 52) { //
displayz2();
}
else if (number == 78 && value == 53) { //
displayone1();
}
else if (number == 78 && value == 54) { //
displaytwo1();
}
else if (number == 78 && value == 55) { //
displaythree1();
}
else if (number == 78 && value == 56) { //
displayfour1();
}
else if (number == 78 && value == 57) { //
displayfive1();
}
else if (number == 78 && value == 58) { //
displaysix1();
}
else if (number == 78 && value == 59) { //
displayseven1();
}
else if (number == 78 && value == 60) { //
displayeight1();
}
else if (number == 78 && value == 61) { //
displaynine1();
}
else if (number == 78 && value == 62) { //
displayzero1();
}
else if (number == 78 && value == 63) { //
displaya3();
}
else if (number == 78 && value == 64) { //
displayb3();
}
else if (number == 78 && value == 65) { //
displayc3();
}
else if (number == 78 && value == 66) { //
displayd3();
}
else if (number == 78 && value == 67) { //
displaye3();
}
else if (number == 78 && value == 68) { //
displayf3();
}
else if (number == 78 && value == 69) { //
displayg3();
}
else if (number == 78 && value == 70) { //
displayh3();
}
else if (number == 78 && value == 71) { //
displayi3();
}
else if (number == 78 && value == 72) { //
displayface1();
}
else if (number == 78 && value == 73) { //
displayface2();
}
else if (number == 78 && value == 74) { //
displayface3();
}
else if (number == 78 && value == 75) { //
displayface4();
}
else if (number == 78 && value == 76) { //
displayface5();
}
else if (number == 78 && value == 77) { //
displayface6();
}
else if (number == 78 && value == 78) { //
displayface7();
}
else if (number == 78 && value == 79) { //
displayface8();
}
else if (number == 78 && value == 80) { //
displayface9();
}
else if (number == 78 && value == 81) { //
displayflake2();
}
else if (number == 78 && value == 82) { //
displayflake1();
}
else if (number == 78 && value == 83) { //
displayflake3();
}
else if (number == 78 && value == 86) { //
displayflake4();
}
else if (number == 78 && value == 85) { //
displayflake5();
}
else if (number == 78 && value == 84) { //
displayflake6();
}
else if (number == 78 && value == 87) { //
displayflake7();
}
else if (number == 78 && value == 88) { //
displayflake8();
}
else if (number == 78 && value == 89) { //
displayflake9();
}
else if (number == 78 && value == 90) { //
displayflake10();
}
else if (number == 78 && value == 91) { //
displayflake11();
}
else if (number == 78 && value == 92) { //
displayflake12();
}
else if (number == 78 && value == 93) { //
displayflake13();
}
else if (number == 78 && value == 94) { //
displayflake14();
}
else if (number == 78 && value == 95) { //
displayflake15();
}
else if (number == 78 && value == 96) { //
displayflake16();
}
else if (number == 78 && value == 97) { //
displayflake17();
}
else if (number == 78 && value == 98) { //
displayflake18();
}
else if (number == 78 && value == 99) { //
displayflake19();
}
else if (number == 78 && value == 100) { //
displayflake20();
}
else if (number == 78 && value == 101) { //
displayflake21();
}
else if (number == 78 && value == 102) { //
displayflake22();
}
else if (number == 78 && value == 103) { //
displayflake23();
}
else if (number == 78 && value == 104) { //
displayflake24();
}
else if (number == 78 && value == 105) { //
displayflake25();
}
else if (number == 78 && value == 106) { //
displayflake26();
}
else if (number == 78 && value == 107) { //
displayflake27();
}
else if (number == 78 && value == 108) { //
displayflake28();
}
else if (number == 78 && value == 109) { //
displayflake29();
}
else if (number == 78 && value == 110) { //
displayflake30();
}
else if (number == 78 && value == 111) { //
displayflake31();
}
else if (number == 78 && value == 112) { //
displayflake32();
}
else if (number == 78 && value == 113) { //
displayflake33();
}
else if (number == 78 && value == 114) { //
displayalien1();
}
else if (number == 78 && value == 115) { //
displayalien2();
}
else if (number == 78 && value == 116) { //
displayalien3();
}
else if (number == 78 && value == 117) { //
displayalien4();
}
else if (number == 78 && value == 118) { //
displayalien5();
}
else if (number == 78 && value == 119) { //
displayalien6();
}
else if (number == 78 && value == 120) { //
displayalien7();
}
else if (number == 78 && value == 121) { //
displaytriangle1();
}
else if (number == 78 && value == 122) { //
displaytriangle2();
}
else if (number == 78 && value == 123) { //
displaytriangle3();
}
else if (number == 78 && value == 124) { //
displaytriangle4();
}
else if (number == 78 && value == 125) { //
displaytriangle5();
}
else if (number == 78 && value == 126) { //
displaytriangle6();
}
else if (number == 78 && value == 127) { //
displaytriangle7();
}
else if (number == 79 && value == 0) { //
display7count0();
}
else if (number == 79 && value == 1) { //
display7count1();
}
else if (number == 79 && value == 2) { //
display7count2();
}
else if (number == 79 && value == 3) { //
display7count3();
}
else if (number == 79 && value == 4) { //
display7count4();
}
else if (number == 79 && value == 5) { //
display7count5();
}
else if (number == 79 && value == 6) { //
display7count6();
}
else if (number == 79 && value == 7) { //
display7count7();
}
else if (number == 79 && value == 8) { //
display7count8();
}
else if (number == 79 && value == 9) { //
display7count9();
}
else if (number == 79 && value == 10) { //
display7count10();
}
else if (number == 79 && value == 11) { //
display7count11();
}
else if (number == 79 && value == 12) { //
display7count12();
}
else if (number == 79 && value == 13) { //
display7count13();
}
else if (number == 79 && value == 14) { //
display7count14();
}
else if (number == 79 && value == 15) { //
display7count15();
}
else if (number == 79 && value == 16) { //
display7count16();
}
else if (number == 79 && value == 17) { //
display7count17();
}
else if (number == 79 && value == 18) { //
display7count18();
}
else if (number == 79 && value == 19) { //
display7count19();
}
else if (number == 79 && value == 20) { //
display7count20();
}
else if (number == 79 && value == 21) { //
display7count21();
}
else if (number == 79 && value == 22) { //
display7count22();
}
else if (number == 79 && value == 23) { //
display7count23();
}
else if (number == 79 && value == 24) { //
display7count24();
}
else if (number == 79 && value == 25) { //
display7count25();
}
else if (number == 79 && value == 26) { //
display7count26();
}
else if (number == 79 && value == 27) { //
display7count27();
}
else if (number == 79 && value == 28) { //
display7count28();
}
else if (number == 79 && value == 29) { //
display7count29();
}
else if (number == 79 && value == 30) { //
display7count30();
}
else if (number == 79 && value == 31) { //
display7count31();
}
else if (number == 79 && value == 32) { //
display7count32();
}
else if (number == 79 && value == 33) { //
display7count33();
}
else if (number == 79 && value == 34) { //
display7count34();
}
else if (number == 79 && value == 35) { //
display7count35();
}
else if (number == 79 && value == 36) { //
display7count36();
}
else if (number == 79 && value == 37) { //
display7count37();
}
else if (number == 79 && value == 38) { //
display7count38();
}
else if (number == 79 && value == 39) { //
display7count39();
}
else if (number == 79 && value == 40) { //
display7count40();
}
else if (number == 79 && value == 41) { //
display7count41();
}
else if (number == 79 && value == 42) { //
display7count42();
}
else if (number == 79 && value == 43) { //
display7count43();
}
else if (number == 79 && value == 44) { //
display7count44();
}
else if (number == 79 && value == 45) { //
display7count45();
}
else if (number == 79 && value == 46) { //
display7count46();
}
else if (number == 79 && value == 47) { //
display7count47();
}
else if (number == 79 && value == 48) { //
display7count48();
}
else if (number == 79 && value == 49) { //
display7count49();
}
else if (number == 79 && value == 50) { //
display7count50();
}
else if (number == 79 && value == 51) { //
display7count51();
}
else if (number == 79 && value == 52) { //
display7count52();
}
else if (number == 79 && value == 53) { //
display7count53();
}
else if (number == 79 && value == 54) { //
display7count54();
}
else if (number == 79 && value == 55) { //
display7count55();
}
else if (number == 79 && value == 56) { //
display7count56();
}
else if (number == 79 && value == 57) { //
display7count57();
}
else if (number == 79 && value == 58) { //
display7count58();
}
else if (number == 79 && value == 59) { //
display7count59();
}
else if (number == 79 && value == 60) { //
display7count60();
}
else if (number == 79 && value == 61) { //
display7count61();
}
else if (number == 79 && value == 62) { //
display7count62();
}
else if (number == 79 && value == 63) { //
display7count63();
}
else if (number == 79 && value == 64) { //
display7count64();
}
else if (number == 79 && value == 65) { //
display7count65();
}
else if (number == 79 && value == 66) { //
display7count66();
}
else if (number == 79 && value == 67) { //
display7count67();
}
else if (number == 79 && value == 68) { //
display7count68();
}
else if (number == 79 && value == 69) { //
display7count69();
}
else if (number == 79 && value == 70) { //
display7count70();
}
else if (number == 79 && value == 71) { //
display7count71();
}
else if (number == 79 && value == 72) { //
display7count72();
}
else if (number == 79 && value == 73) { //
display7count73();
}
else if (number == 79 && value == 74) { //
display7count74();
}
else if (number == 79 && value == 75) { //
display7count75();
}
else if (number == 79 && value == 76) { //
display7count76();
}
else if (number == 79 && value == 77) { //
display7count77();
}
else if (number == 79 && value == 78) { //
display7count78();
}
else if (number == 79 && value == 79) { //
display7count79();
}
else if (number == 79 && value == 80) { //
display7count80();
}
else if (number == 79 && value == 81) { //
display7count81();
}
else if (number == 79 && value == 82) { //
display7count82();
}
else if (number == 79 && value == 83) { //
display7count83();
}
else if (number == 79 && value == 84) { //
display7count84();
}
else if (number == 79 && value == 85) { //
display7count85();
}
else if (number == 79 && value == 86) { //
display7count86();
}
else if (number == 79 && value == 87) { //
display7count87();
}
else if (number == 79 && value == 88) { //
display7count88();
}
else if (number == 79 && value == 89) { //
display7count89();
}
else if (number == 79 && value == 90) { //
display7count90();
}
else if (number == 79 && value == 91) { //
display7count91();
}
else if (number == 79 && value == 92) { //
display7count92();
}
else if (number == 79 && value == 93) { //
display7count93();
}
else if (number == 79 && value == 94) { //
display7count94();
}
else if (number == 79 && value == 95) { //
display7count95();
}
else if (number == 79 && value == 96) { //
display7count96();
}
else if (number == 79 && value == 97) { //
display7count97();
}
else if (number == 79 && value == 98) { //
display7count98();
}
else if (number == 79 && value == 99) { //
display7count99();
}
else if (number == 79 && value == 100) { //
display7count100();
}
else if (number == 79 && value == 101) { //
display7count101();
}
else if (number == 79 && value == 102) { //
display7count102();
}
else if (number == 79 && value == 103) { //
display7count103();
}
else if (number == 79 && value == 104) { //
display7count104();
}
else if (number == 79 && value == 105) { //
display7count105();
}
else if (number == 79 && value == 106) { //
display7count106();
}
else if (number == 79 && value == 107) { //
display7count107();
}
else if (number == 79 && value == 108) { //
display7count108();
}
else if (number == 79 && value == 109) { //
display7count109();
}
else if (number == 79 && value == 110) { //
display7count110();
}
else if (number == 79 && value == 111) { //
display7count111();
}
else if (number == 79 && value == 112) { //
display7count112();
}
else if (number == 79 && value == 113) { //
display7count113();
}
else if (number == 79 && value == 114) { //
display7count114();
}
else if (number == 79 && value == 115) { //
display7count115();
}
else if (number == 79 && value == 116) { //
display7count116();
}
else if (number == 79 && value == 117) { //
display7count117();
}
else if (number == 79 && value == 118) { //
display7count118();
}
else if (number == 79 && value == 119) { //
display7count119();
}
else if (number == 79 && value == 120) { //
display7count120();
}
else if (number == 79 && value == 121) { //
display7count121();
}
else if (number == 79 && value == 122) { //
display7count122();
}
else if (number == 79 && value == 123) { //
display7count123();
}
else if (number == 79 && value == 124) { //
display7count124();
}
else if (number == 79 && value == 125) { //
display7count125();
}
else if (number == 79 && value == 126) { //
display7count126();
}
else if (number == 79 && value == 127) { //
display7count127();
}
}
void SPIwrite() {
#define TSPEED 1000000 //1Mhz
unsigned int chan1 = 0;
unsigned int chan2 = 0;
byte address1 = 0;
byte address2 = 0;
byte address3 = 0;
SPISettings TLC5947(TSPEED , MSBFIRST, SPI_MODE0);
// packing each 2 channel (12bit*2) to 3 byte (8bit*3) for transfering
SPI.beginTransaction(TLC5947);
// digitalWriteFast(latch, HIGH);
digitalWriteFast(latch, LOW);
for (unsigned int ledpos = 24 * NUM_TLC5974 ; ledpos > 0; ledpos = ledpos - 2) {
chan1 = tlc.getCHAN(ledpos - 1);
chan2 = tlc.getCHAN(ledpos - 2);
address1 = (byte)(chan1 >> 4) ;
address2 = (byte)((chan1 << 4) & (B11110000)) + (byte)((chan2 >> 8) & (B00001111));
address3 = (byte)chan2;
/* address1 = B00000000;
address2 = B00000000;
address3 = B00000000;*/
SPI.transfer(address1);
SPI.transfer(address2);
SPI.transfer(address3);
}
SPI.endTransaction();
// digitalWriteFast(latch, LOW);
digitalWriteFast(latch, HIGH);
digitalWriteFast(latch, LOW);
digitalWriteFast(clock, LOW);
}