123

Dependencies:   WS2812 PixelArray DebounceIn

Revision:
0:ea88f8c194d2
Child:
1:af17c65e86dc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.h	Wed Jun 24 12:41:45 2020 +0000
@@ -0,0 +1,179 @@
+#include "mbed.h"
+#include "PixelArray.h"
+#include "WS2812.h"
+#include "config.h"
+#include "DebounceIn.h"
+
+
+#include "sensor.h"
+
+//#include "leds.h"
+
+
+Serial pc(USBTX, USBRX);
+
+
+DebounceIn Button_1(PE_0);
+DebounceIn Button_2(PE_2);
+DebounceIn Button_3(PE_4);
+DebounceIn Button_4(PE_6);
+
+
+//__________LEDS DEFINE___________________
+
+#define LedOff 0
+#define LedWait 1
+#define LedOn 3
+#define LedBlink 4
+#define LedRun 5
+
+#define T0H 20
+#define T0L 105
+#define T1H 70
+#define T1L 123
+
+#define idle 4
+#define rasta 1
+#define bio 2
+#define bacterium 3
+
+
+
+//__________TABLE DEFINE___________________
+
+
+uint8_t tableState[4][30]= {
+    {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29},  //num of sensor
+    {0,0,0,0,0,0,0,0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  //sensor state
+    {0,0,0,0,0,0,0,0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  //lype of light
+    {0,0,0,0,0,0,0,0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}   //intence or progress
+};
+
+
+uint8_t gameRule[5][34]= {
+    {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,  0,  0,  0, 0},  //num of sensor
+    {1,1,1,1,1,1,1,1,1,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0,  0,255,  0, 27},  //rasta
+    {0,0,0,0,0,0,0,0,0,0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0,200,100,  0, 16},  //bio
+    {1,1,1,1,1,1,1,1,1,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1,  0,200,200, 22},   //bacterium
+    {0,0,0,0,0,0,0,0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  0,150,150,150}    //idle
+};
+
+
+#define frontSize 5
+float front[frontSize] = {0.0,0.01,0.40,0.01,0.0};
+
+
+int color_set(uint8_t red,uint8_t green, uint8_t blue);
+void startUp_Led();
+void fadeEffect();
+void lightLeds();
+void setLedRule(int mode);
+void setStaticValToLed(int type,int __sp1, int __size1, int __sp2, int __size2, int r, int g, int b);
+void buttonLight(int b1, int b2, int b3, int b4);
+void writeStenksLeds();
+
+
+//___________________Classes__________________________
+class LedGroupInside
+{
+public:
+    LedGroupInside(PinName pin, int placeInTable, int size);
+    //~LedGroup();
+    void light(int mode);
+private:
+    PinName __outPin;
+    int __mode;
+    int __placeInTable;
+    int __size;
+    PixelArray __pa;
+    WS2812 __leds;
+};
+
+class LedGroupStenka
+{
+public:
+    LedGroupStenka(int placeInTable, int type, int sp1, int size1, int sp2, int size2);
+    //~LedGroup();
+    void light(int mode);
+private:
+    void writeLed(int type, uint8_t r, uint8_t g, uint8_t b);
+    PinName __outPin;
+    int __type;
+    int __sp1, __size1;
+    int __sp2, __size2;
+    int __mode;
+    int __placeInTable;
+    int __size;
+};
+
+//__________________Config_LEDS_____________________________________
+#define numOfLed_stenkaLed_1 177
+PixelArray pa_stenkaLed_1(numOfLed_stenkaLed_1);
+WS2812 stenkaLed_1(PF_0, numOfLed_stenkaLed_1, T0H, T0L, T1H, T1L);
+
+#define numOfLed_stenkaLed_2 156
+PixelArray pa_stenkaLed_2(numOfLed_stenkaLed_2);
+WS2812 stenkaLed_2(PF_1, numOfLed_stenkaLed_2, T0H, T0L, T1H, T1L);
+
+# define numOfLed_stenkaLed_3 137
+PixelArray pa_stenkaLed_3(numOfLed_stenkaLed_3);
+WS2812 stenkaLed_3(PF_2, numOfLed_stenkaLed_3, T0H, T0L, T1H, T1L);
+
+//LedGroupStenka(int placeInTable,int type, int sp1, int size1, int sp2, int size2)
+LedGroupStenka membLed_y1(10,2, 0, 21, 0, 25);
+LedGroupStenka membLed_s2(11,0, 9, 9, 9, 9);
+LedGroupStenka membLed_s3(12,0, 18, 9, 18, 9);
+LedGroupStenka membLed_y4(13,0, 27, 21, 27, 26);
+LedGroupStenka membLed_s5(14,0, 48, 8, 53, 8);
+LedGroupStenka membLed_y6(15,0, 56, 21, 61, 26);
+LedGroupStenka membLed_s7(16,0, 77, 9, 87, 9);
+LedGroupStenka membLed_s8(17,0, 86, 9, 96, 9);
+LedGroupStenka membLed_y9(18,0, 95, 21, 105, 26);
+LedGroupStenka membLed_s10(19,0, 116, 9, 131, 9);
+
+LedGroupStenka stenkaLed_y1(0,3, 0, 31, 0, 25);
+LedGroupStenka stenkaLed_s2(1,1, 9, 9, 9, 9);
+LedGroupStenka stenkaLed_s3(2,1, 18, 9, 18, 9);
+LedGroupStenka stenkaLed_y4(3,1, 27, 31, 27, 26);
+LedGroupStenka stenkaLed_s5(4,1, 58, 8, 53, 8);
+LedGroupStenka stenkaLed_y6(5,1, 66, 31, 61, 26);
+LedGroupStenka stenkaLed_s7(6,1, 97, 9, 87, 9);
+LedGroupStenka stenkaLed_s8(7,1, 106, 9, 96, 9);
+LedGroupStenka stenkaLed_y9(8,1, 115, 32, 105, 26);
+LedGroupStenka stenkaLed_s10(9,1, 147, 9, 131, 9);
+
+LedGroupInside lizosomaLed(PF_3, 25, 50);
+LedGroupInside nucleoidLed(PF_4, 29, 50);
+LedGroupInside yadroLed(PF_5,20,50);
+LedGroupInside ribosomaLed(PF_6, 28, 40);
+LedGroupInside goldgiLed(PF_7, 26, 40);
+LedGroupInside endoplazmaLed(PF_8, 22, 50);
+LedGroupInside plastidaLed(PF_9, 23, 50);
+LedGroupInside centorLed(PF_10, 27, 30);
+LedGroupInside mitohondriyaLed(PF_11, 21, 50);
+LedGroupInside vacuolLed(PF_12, 24, 45);
+
+//_____________Config Button LEDS____________________
+PixelArray pa_ButtonLed_1(1);
+WS2812 ButtonLed_1(PE_1, 1, T0H, T0L, T1H, T1L);
+
+PixelArray pa_ButtonLed_2(1);
+WS2812 ButtonLed_2(PE_3, 1, T0H, T0L, T1H, T1L);
+
+
+PixelArray pa_ButtonLed_3(1);
+WS2812 ButtonLed_3(PE_5, 1, T0H, T0L, T1H, T1L);
+
+
+PixelArray pa_ButtonLed_4(1);
+WS2812 ButtonLed_4(PE_7, 1, T0H, T0L, T1H, T1L);
+
+
+
+//__________BUTTONS DEFINE___________________
+
+
+
+
+
+