Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: MMA8451Q Multi_WS2811 NVIC_set_all_priorities TSI cc3000_hostdriver_mbedsocket mbed
Fork of CubicHand by
Revision 10:9d87a886f066, committed 2014-12-05
- Comitter:
- joseoyola
- Date:
- Fri Dec 05 22:34:20 2014 +0000
- Parent:
- 9:6d122c16efb7
- Child:
- 11:e880e844f258
- Commit message:
- Fixed errors in led.cpp, added correct Neopixel library
Changed in this revision
--- a/LEDTape_WS2812.lib Fri Dec 05 22:21:20 2014 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -http://developer.mbed.org/users/okini3939/code/LEDTape_WS2812/#d067ddfe3df9
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Multi_WS2811.lib Fri Dec 05 22:34:20 2014 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/bikeNomad/code/Multi_WS2811/#c80c012455a4
--- a/led.cpp Fri Dec 05 22:21:20 2014 +0000
+++ b/led.cpp Fri Dec 05 22:34:20 2014 +0000
@@ -66,93 +66,17 @@
uint8_t b = 255*0.1;
-WS2811 lightStrip1(nLEDs, DATA_OUT_PIN1);
-WS2811 lightStrip2(nLEDs, DATA_OUT_PIN2);
-WS2811 lightStrip3(nLEDs, DATA_OUT_PIN2);
+WS2811 ledStrip1(nLEDs, DATA_OUT_PIN1);
+WS2811 ledStrip2(nLEDs, DATA_OUT_PIN2);
+WS2811 ledStrip3(nLEDs, DATA_OUT_PIN2);
+/*
void readTouchSensor()
{
touchPercentage *= 0.(nCOLs - 1);
touchPercentage += touchSensor.readPercentage() * 0.1;
brite = minBrite + (maxBrite - minBrite) * touchPercentage;
-}
-
-
-void move(deltaX, deltaY, deltaZ) {
- //Moving in X direction
- if(pos[Y] == 0 || pos[Z] == (nCOLs - 1)) { //Making sure square is "stuck" to panel 1 or 3
- if((pos[X] + size + deltaX) < nCOLs && (pos[X] + deltaX) >= 0) {
- pos[X] += deltaX;
- }
- }
-
- //Moving in Y direction
- if(pos[X] == (nCOLs - 1) || pos[Z] == (nCOLs - 1)) {//Making sure square is "stuck" to panel 2 or 3
- if((pos[Y] + size + deltaY) < nCOLs && (pos[Y] + deltaY) >= 0) {
- pos[Y] += deltaY;
- }
- }
-
- //Moving in Z direction
- if(pos[X] == (nCOLs - 1) || pos[Y] == 0) {//Making sure square is "stuck" to panel 1 or 2
- if((pos[Z] + size + deltaZ) < nCOLs && (pos[Z] + deltaZ) >= 0) {
- pos[Z] += deltaZ;
- }
- }
-
- cubeUpdate();
-}
-
-void cubeUpdate() {
- updateLEDs(false); //Turn off LEDs from previous state
- updateLEDs(true); //Turn on new LEDs for new state
-}
-
-void updateLEDs(bool on) {
- //Panel 1
- if(pos[Y] == 0) {
- for(int i = pos[X]; i < pos[X] + size; i++) {
- for(int j = pos[Z]; j < pos[Z] + size; j++) {
- int led = getLedIndex(PANEL1, i, j);
- if(on) {
- ledStrip1(led, r, g, b);
- } else {
- ledStrip1(led, 0, 0, 0);
- }
- }
- }
- }
-
- //Panel 2
- if(pos[X] + size == (nCOLs - 1)) {
- for(int i = pos[Y]; i < pos[Y] + size; i++) {
- for(int j = pos[Z]; j < pos[Z] + size; j++) {
- int led = getLedIndex(PANEL2, i, j);
- if(on) {
- ledStrip2(led, r, g, b);
- } else {
- ledStrip2(led, 0, 0, 0);
- }
- }
- }
- }
-
- //Panel 3
- if(pos[Z] + size == (nCOLs - 1)) {
- for(int i = pos[X]; i < pos[X] + size; i++) {
- for(int j = pos[Y]; j < pos[Y] + size; j++) {
- int led = getLedIndex(PANEL3, i, j);
- if(on) {
- ledStrip3(led, r, g, b);
- } else {
- ledStrip3(led, 0, 0, 0);
- }
- }
- }
- }
-}
-
-
+}*/
@@ -188,6 +112,89 @@
else return -1;
}
+
+
+void updateLEDs(bool on) {
+ //Panel 1
+ if(pos[Y] == 0) {
+ for(int i = pos[X]; i < pos[X] + size; i++) {
+ for(int j = pos[Z]; j < pos[Z] + size; j++) {
+ int led = getLedIndex(PANEL1, i, j);
+ if(on) {
+ ledStrip1.setPixelColor(led, r, g, b);
+ } else {
+ ledStrip1.setPixelColor(led, 0, 0, 0);
+ }
+ }
+ }
+ }
+
+ //Panel 2
+ if(pos[X] + size == (nCOLs - 1)) {
+ for(int i = pos[Y]; i < pos[Y] + size; i++) {
+ for(int j = pos[Z]; j < pos[Z] + size; j++) {
+ int led = getLedIndex(PANEL2, i, j);
+ if(on) {
+ ledStrip2.setPixelColor(led, r, g, b);
+ } else {
+ ledStrip2.setPixelColor(led, 0, 0, 0);
+ }
+ }
+ }
+ }
+
+ //Panel 3
+ if(pos[Z] + size == (nCOLs - 1)) {
+ for(int i = pos[X]; i < pos[X] + size; i++) {
+ for(int j = pos[Y]; j < pos[Y] + size; j++) {
+ int led = getLedIndex(PANEL3, i, j);
+ if(on) {
+ ledStrip3.setPixelColor(led, r, g, b);
+ } else {
+ ledStrip3.setPixelColor(led, 0, 0, 0);
+ }
+ }
+ }
+ }
+}
+
+
+void cubeUpdate() {
+ updateLEDs(false); //Turn off LEDs from previous state
+ updateLEDs(true); //Turn on new LEDs for new state
+}
+
+void move(int deltaX, int deltaY, int deltaZ) {
+ //Moving in X direction
+ if(pos[Y] == 0 || pos[Z] == (nCOLs - 1)) { //Making sure square is "stuck" to panel 1 or 3
+ if((pos[X] + size + deltaX) < nCOLs && (pos[X] + deltaX) >= 0) {
+ pos[X] += deltaX;
+ }
+ }
+
+ //Moving in Y direction
+ if(pos[X] == (nCOLs - 1) || pos[Z] == (nCOLs - 1)) {//Making sure square is "stuck" to panel 2 or 3
+ if((pos[Y] + size + deltaY) < nCOLs && (pos[Y] + deltaY) >= 0) {
+ pos[Y] += deltaY;
+ }
+ }
+
+ //Moving in Z direction
+ if(pos[X] == (nCOLs - 1) || pos[Y] == 0) {//Making sure square is "stuck" to panel 1 or 2
+ if((pos[Z] + size + deltaZ) < nCOLs && (pos[Z] + deltaZ) >= 0) {
+ pos[Z] += deltaZ;
+ }
+ }
+
+ cubeUpdate();
+}
+
+
+
+
+
+
+
/*
static void move( int delta_x, int delta_y, int old_size, int new_size)
{
