TOMB / Mbed 2 deprecated 0508_Lab1

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
Gennanio
Date:
Thu Oct 15 08:39:28 2015 +0000
Commit message:
555

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu Oct 15 08:39:28 2015 +0000
@@ -0,0 +1,175 @@
+// Lab 1
+// 15/10/2015
+#include "mbed.h"
+
+DigitalOut l1(D10),l2(D9),l3(D8),l4(D7),l5(D6),l6(D5),l7(D4),l8(D3);
+DigitalIn x(D11),y(D12),z(D13);
+
+void ledOFF();
+void State1();
+void State2();
+void State3();
+void State4();
+void State5();
+
+int main() 
+{
+    while(1) 
+    {
+        if(!x&&!y&&z) //001
+        {
+            ledOFF();
+            State1();
+        }
+        else
+        {
+            if(!x&&y&&!z) //010
+            {
+                ledOFF();
+                State2();
+            }
+            else
+            {
+                if(x&&!y&&!z) //100
+                {
+                    ledOFF();
+                    State3();
+                }
+                else
+                {
+                    if(!x&&y&&z) //011
+                    {
+                        ledOFF();
+                        State4();
+                    }
+                    else
+                    {
+                        if(x&&y&&z) //111
+                        {
+                            ledOFF();
+                            State5();
+                        }
+                        else
+                        {
+                            ledOFF();
+                        }
+                    }
+                }    
+            }
+        }
+        wait_ms(200);
+    }
+}
+
+void ledOFF()
+{
+    l1=0; l2=0; l3=0; l4=0; l5=0; l6=0; l7=0; l8=0;     
+}
+void State1()
+{
+    do
+    {
+        l1=1; wait_ms(100);
+        l2=1; wait_ms(100);
+        l3=1; wait_ms(100);
+        l4=1; wait_ms(100);
+        l5=1; wait_ms(100);
+        l6=1; wait_ms(100);
+        l7=1; wait_ms(100);
+        l8=1; wait_ms(100);
+        
+        l1=0; wait_ms(100);
+        l2=0; wait_ms(100);
+        l3=0; wait_ms(100);
+        l4=0; wait_ms(100);
+        l5=0; wait_ms(100);
+        l6=0; wait_ms(100);
+        l7=0; wait_ms(100);
+        l8=0; wait_ms(100);
+        ledOFF();
+    }while(!x&&!y&&z);
+}
+void State2()
+{
+    do
+    {
+        l8=1; wait_ms(100);
+        l7=1; wait_ms(100);
+        l6=1; wait_ms(100);
+        l5=1; wait_ms(100);
+        l4=1; wait_ms(100);
+        l3=1; wait_ms(100);
+        l2=1; wait_ms(100);
+        l1=1; wait_ms(100);
+        
+        l8=0; wait_ms(100);
+        l7=0; wait_ms(100);
+        l6=0; wait_ms(100);
+        l5=0; wait_ms(100);
+        l4=0; wait_ms(100);
+        l3=0; wait_ms(100);
+        l2=0; wait_ms(100);
+        l1=0; wait_ms(100);
+        ledOFF();
+    }while(!x&&y&&!z);
+}
+void State3()
+{
+    do
+    {
+        l1=1; l3=1; l5=1; l7=1; wait_ms(300);
+        l1=0; l3=0; l5=0; l7=0; 
+        l2=1; l4=1; l6=1; l8=1; wait_ms(300);
+        l2=0; l4=0; l6=0; l8=0;
+        ledOFF();
+    }while(x&&!y&&!z);
+}
+void State4()
+{
+    do
+    {
+        l1=1; l8=1; wait_ms(100);
+        l2=1; l7=1; wait_ms(100);
+        l3=1; l6=1; wait_ms(100);
+        l4=1; l5=1; wait_ms(100);
+        
+        l4=0; l5=0; wait_ms(100);
+        l3=0; l6=0; wait_ms(100);
+        l2=0; l7=0; wait_ms(100);
+        l1=0; l8=0; wait_ms(100);
+        ledOFF();
+    }while(!x&&y&&z);
+}
+void State5()
+{
+    do
+    {
+        l1=1; l5=1; wait_ms(300); //0001
+        l1=0; l5=0;
+        l2=1; l6=1; wait_ms(300); //0010
+        l1=1; l5=1; wait_ms(300); //0011
+        l1=0; l5=0; l2=0; l6=0;
+        
+        l3=1; l7=1; wait_ms(300); //0100
+        
+        l1=1; l5=1; wait_ms(300); //0101
+        l1=0; l5=0;
+        l2=1; l6=1; wait_ms(300); //0110
+        l1=1; l5=1; wait_ms(300); //0111
+        l1=0; l5=0; l2=0; l6=0; l3=0; l7=0;
+        
+        l4=1; l8=1; wait_ms(300); //1000
+        
+        l1=1; l5=1; wait_ms(300); //1001
+        l1=0; l5=0;
+        l2=1; l6=1; wait_ms(300); //1010
+        l1=1; l5=1; wait_ms(300); //1011
+        l1=0; l5=0; l2=0; l6=0;
+        l3=1; l7=1; wait_ms(300); //1100
+        l1=1; l5=1; wait_ms(300); //1101
+        l1=0; l5=0;
+        l2=1; l6=1; wait_ms(300); //1110
+        l1=1; l5=1; wait_ms(300); //1111
+        ledOFF();
+    }while(x&&y&&z);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Thu Oct 15 08:39:28 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/34e6b704fe68
\ No newline at end of file