diff options
author | zvecr <z.zvecr@gmail.com> | 2018-11-08 23:17:41 +0000 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2018-11-08 15:17:41 -0800 |
commit | 73883425a55f23a319eb1522c2e3ce52b8e2f042 (patch) | |
tree | 83ba7208aeabd10d8d0cf36f573ae7b25ef79713 /keyboards/ut47/LED_controls.ino | |
parent | ef84bd979979f092980dc68d513a906e084c8c57 (diff) |
relocate 40percent.club boards to new parent folder (#4380)
* Initial move of 40percent.club boards to common parent folder.
* Refactor readme files to be consistent
* Refactor readme files to be consistent - fix make command examples.
* Refactor readme files to be consistent - align readme filenames.
* Refactor readme files to be consistent - fix repo url.
* Disable Community keymap builds as they are currently failing due to missing functionality
* Move more of 40percent.club boards to common parent folder.
* Refactor readme files to be consistent - align readme filenames.
* Refactor readme files to be consistent - fix make command examples.
Diffstat (limited to 'keyboards/ut47/LED_controls.ino')
-rw-r--r-- | keyboards/ut47/LED_controls.ino | 420 |
1 files changed, 0 insertions, 420 deletions
diff --git a/keyboards/ut47/LED_controls.ino b/keyboards/ut47/LED_controls.ino deleted file mode 100644 index dd50300eb7..0000000000 --- a/keyboards/ut47/LED_controls.ino +++ /dev/null @@ -1,420 +0,0 @@ -#include <FastGPIO.h> -#include <TimerOne.h> - -int iByte; -byte col = 0; -byte leds[12][4]; -byte pass = 1; -int fadecount = 1; -const int fadelimit = 3000; -const int fadelimitshort = 1000; -byte mode = 4; -byte brightness = 2; -boolean changemode = 0; -int rain = 0; -const int rainlimit = 5000; -const int rainfade = 5000; -byte rx = 0; -byte ry = 0; - -// pin[xx] on led matrix connected to nn on Arduino (-1 is dummy to make array start at pos 1) -int pins[17] = { - -1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 16, 14, 15, 18, 19, 20, 21 -}; - -// col[xx] of leds = pin yy on led matrix -int cols[12] = { - pins[8], pins[7], pins[6], pins[5], pins[9], pins[10], pins[11], pins[12], pins[13], pins[14], pins[15], pins[16] -}; - -// row[xx] of leds = pin yy on led matrix -int rows[4] = { - pins[1], pins[2], pins[3], pins[4] -}; - - -#define DELAY 0 -extern byte leds[12][4]; - -void setup() { - Serial1.begin(9600); - setupLeds(); - for (int s = 0; s < 5; s++) { - for ( int r = 1; r < 9; r++) { - delayMicroseconds(65000); - delayMicroseconds(65000); - for (int j = 0; j < 4; j++) { - for (int i = 0; i < 12; i++) { - leds[i][j] = 1; - for (int p = 0; p < 25; p++) { - } - leds[i][j] = r; - } - } - } - for ( int r = 9; r > 0; r--) { - delayMicroseconds(65000); - delayMicroseconds(65000); - delayMicroseconds(65000); - for (int j = 0; j < 4; j++) { - for (int i = 0; i < 12; i++) { - leds[i][j] = 1; - for (int p = 0; p < 25; p++) { - } - leds[i][j] = r; - } - } - } - } -} - -void loop() { - - switch (mode) { - case 0: - //Blacklight - for (int i = 0; i < 12; i++) { - for (int j = 0; j < 4; j++) { - leds[i][j] = brightness; - } - } - checkserial(); - break; - case 1: - //Breathing - for ( int r = 1; r < 9; r++) { - checkserial(); - if (changemode == 0) { - delayMicroseconds(65000); - delayMicroseconds(65000); - delayMicroseconds(65000); - for (int j = 0; j < 4; j++) { - for (int i = 0; i < 12; i++) { - leds[i][j] = 1; - for (int p = 0; p < 25; p++) { - } - leds[i][j] = r; - } - } - } - else { - break; - } - } - for ( int r = 9; r > 0; r--) { - checkserial(); - if (changemode == 0) { - delayMicroseconds(65000); - delayMicroseconds(65000); - delayMicroseconds(65000); - delayMicroseconds(65000); - for (int j = 0; j < 4; j++) { - for (int i = 0; i < 12; i++) { - leds[i][j] = 1; - for (int p = 0; p < 25; p++) { - } - leds[i][j] = r; - } - } - } - else { - break; - } - } - for ( int r = 1; r < 30; r++) { - checkserial(); - if (changemode == 0) { - delayMicroseconds(65000); - delayMicroseconds(65000); - } - else { - break; - } - } - break; - case 2: - //Random - leds[random(12)][random(4)] = random(8); - delayMicroseconds(10000); - checkserial(); - break; - case 3: - //Rain - rain++; - if (rain > rainlimit) { - rain = 0; - rx = random(12); - ry = random(4); - if (leds[rx][ry] == 0) { - leds[rx][ry] = 18; - } - } - fadecount++; - if (fadecount > rainfade) { - fadecount = 1; - for (int i = 0; i < 12; i++) { - for (int j = 0; j < 4; j++) { - if (leds[i][j] > 0) { - leds[i][j] = leds[i][j] - 1; - } - } - } - } - checkserial(); - break; - case 4: - //Reactive - fadecount++; - if (fadecount > fadelimit) { - fadecount = 1; - for (int i = 0; i < 12; i++) { - for (int j = 0; j < 4; j++) { - if (leds[i][j] > 0) { - leds[i][j] = leds[i][j] - 1; - } - } - } - } - checkserial(); - break; - case 5: - //Reactive Target - fadecount++; - if (fadecount > fadelimitshort) { - fadecount = 1; - for (int i = 0; i < 12; i++) { - for (int j = 0; j < 4; j++) { - if (leds[i][j] > 0) { - leds[i][j] = leds[i][j] - 1; - } - } - } - } - checkserial(); - break; - default: - mode = 0; - break; - } - changemode = 0; -} - -void checkserial() { - if (Serial1.available() > 0) { - iByte = Serial1.read(); - if (iByte == 100) { - brightness++; - if (brightness > 9) { - brightness = 1; - } - } - if (iByte == 101) { - mode++; - } - if (iByte < 100) { - if (mode == 4) { - byte row = iByte / 16; - byte col = iByte % 16; - leds[col][row] = 18; - } - if (mode == 5) { - byte row = iByte / 16; - byte col = iByte % 16; - for (byte i = 0; i < 12; i++) { - leds[i][row] = 18; - } - for (byte p = 0; p < 4; p++) { - leds[col][p] = 18; - } - } - } - } -} - -void setupLeds() { - // sets the pins as output - FastGPIO::Pin<2>::setOutputLow(); - FastGPIO::Pin<3>::setOutputLow(); - FastGPIO::Pin<4>::setOutputLow(); - FastGPIO::Pin<5>::setOutputLow(); - FastGPIO::Pin<6>::setOutputLow(); - FastGPIO::Pin<7>::setOutputLow(); - FastGPIO::Pin<8>::setOutputLow(); - FastGPIO::Pin<9>::setOutputLow(); - FastGPIO::Pin<10>::setOutputLow(); - FastGPIO::Pin<16>::setOutputLow(); - FastGPIO::Pin<14>::setOutputLow(); - FastGPIO::Pin<15>::setOutputLow(); - FastGPIO::Pin<18>::setOutputLow(); - FastGPIO::Pin<19>::setOutputLow(); - FastGPIO::Pin<20>::setOutputLow(); - FastGPIO::Pin<21>::setOutputLow(); - - // set up Cols - FastGPIO::Pin<6>::setOutputValueLow(); - FastGPIO::Pin<7>::setOutputValueLow(); - FastGPIO::Pin<8>::setOutputValueLow(); - FastGPIO::Pin<9>::setOutputValueLow(); - FastGPIO::Pin<10>::setOutputValueLow(); - FastGPIO::Pin<16>::setOutputValueLow(); - FastGPIO::Pin<14>::setOutputValueLow(); - FastGPIO::Pin<15>::setOutputValueLow(); - FastGPIO::Pin<18>::setOutputValueLow(); - FastGPIO::Pin<19>::setOutputValueLow(); - FastGPIO::Pin<20>::setOutputValueLow(); - FastGPIO::Pin<21>::setOutputValueLow(); - - // set up Rows - FastGPIO::Pin<2>::setOutputValueLow(); - FastGPIO::Pin<3>::setOutputValueLow(); - FastGPIO::Pin<4>::setOutputValueLow(); - FastGPIO::Pin<5>::setOutputValueLow(); - - clearLeds(); - Timer1.initialize(25); - Timer1.attachInterrupt(display); - -} - -void clearLeds() { - // Clear display array - for (int i = 0; i < 12; i++) { - for (int j = 0; j < 4; j++) { - leds[i][j] = 0; - } - } -} - -void onLeds() { - // Clear display array - for (int i = 0; i < 12; i++) { - for (int j = 0; j < 4; j++) { - leds[i][j] = 7; - } - } -} - -// Interrupt routine -void display() { - - switch (col) { // Turn whole previous column off - case 0: - FastGPIO::Pin<6>::setOutputValueLow(); - break; - case 1: - FastGPIO::Pin<7>::setOutputValueLow(); - break; - case 2: - FastGPIO::Pin<8>::setOutputValueLow(); - break; - case 3: - FastGPIO::Pin<9>::setOutputValueLow(); - break; - case 4: - FastGPIO::Pin<10>::setOutputValueLow(); - break; - case 5: - FastGPIO::Pin<16>::setOutputValueLow(); - break; - case 6: - FastGPIO::Pin<14>::setOutputValueLow(); - break; - case 7: - FastGPIO::Pin<15>::setOutputValueLow(); - break; - case 8: - FastGPIO::Pin<18>::setOutputValueLow(); - break; - case 9: - FastGPIO::Pin<19>::setOutputValueLow(); - break; - case 10: - FastGPIO::Pin<20>::setOutputValueLow(); - break; - case 11: - FastGPIO::Pin<21>::setOutputValueLow(); - break; - } - - col++; - if (col == 12) { - col = 0; - pass++; - if (pass > 8) { - pass = 1; - } - } - for (int row = 0; row < 4; row++) { - if (leds[col][row] > pass) { - switch (row) { // Turn on this led - case 0: - FastGPIO::Pin<2>::setOutputValueLow(); - break; - case 1: - FastGPIO::Pin<3>::setOutputValueLow(); - break; - case 2: - FastGPIO::Pin<4>::setOutputValueLow(); - break; - case 3: - FastGPIO::Pin<5>::setOutputValueLow(); - break; - } - } - else { - switch (row) { // Turn off this led - case 0: - FastGPIO::Pin<2>::setOutputValueHigh(); - break; - case 1: - FastGPIO::Pin<3>::setOutputValueHigh(); - break; - case 2: - FastGPIO::Pin<4>::setOutputValueHigh(); - break; - case 3: - FastGPIO::Pin<5>::setOutputValueHigh(); - break; - } - } - } - switch (col) { // Turn column on - case 0: - FastGPIO::Pin<6>::setOutputValueHigh(); - break; - case 1: - FastGPIO::Pin<7>::setOutputValueHigh(); - break; - case 2: - FastGPIO::Pin<8>::setOutputValueHigh(); - break; - case 3: - FastGPIO::Pin<9>::setOutputValueHigh(); - break; - case 4: - FastGPIO::Pin<10>::setOutputValueHigh(); - break; - case 5: - FastGPIO::Pin<16>::setOutputValueHigh(); - break; - case 6: - FastGPIO::Pin<14>::setOutputValueHigh(); - break; - case 7: - FastGPIO::Pin<15>::setOutputValueHigh(); - break; - case 8: - FastGPIO::Pin<18>::setOutputValueHigh(); - break; - case 9: - FastGPIO::Pin<19>::setOutputValueHigh(); - break; - case 10: - FastGPIO::Pin<20>::setOutputValueHigh(); - break; - case 11: - FastGPIO::Pin<21>::setOutputValueHigh(); - break; - } - -} |