§BHELI / Mbed 2 deprecated Fahrradleuchte

Dependencies:   mbed

Revision:
1:4d500c8ba221
Parent:
0:63709874455b
--- a/main.cpp	Mon Feb 23 14:24:41 2015 +0000
+++ b/main.cpp	Mon Feb 23 14:38:06 2015 +0000
@@ -1,10 +1,17 @@
+/*
+Copyright: Antonio Vlasic
+1997 - heute
+*/
+
 #include "mbed.h"
 #include "BtnEventM0.h"
 
-BusOut lb(P1_7,P1_6,P1_4,P1_3,P1_1,P1_0,LED4,LED3,LED2,LED1);
-BusOut stLED(P1_13,P1_12);                                      
+BusOut lb(P1_7,P1_6,P1_4,P1_3,P1_1,P1_0,LED4,LED3,LED2,LED1);   //Ledbar definieren ohne P1_13 und P1_12
+BusOut stLED(P1_13,P1_12);                                      //P1_13 und P1_12 definieren
 
-BtnEventM0 Btn1(P0_15), Btn2(P0_23);
+BtnEventM0 Btn1(P0_15), Btn2(P0_23);                            //2 Buttons unter einer Custom Library definieren
+
+//Custom Library: BtnEventM0.h
 
 class FahrradLeuchte {                          //Eine Klasse namens FahrradLeuchte
     public:                                     //Öffentlich
@@ -25,35 +32,34 @@
 
 int main() {                                    //Main-Funktion
     lb=0;                                       //Gesamte Ledbar auf 0 setzen
-    Btn1.Init(); Btn2.Init();                   //Btn1 und Btn2 mit Init ansprechen
-    fl.Init();
-    while(1)
+    Btn1.Init(); Btn2.Init();                   //Btn1 und Btn2 mit Init() ansprechen
+    fl.Init();                                  //Die Fahrradleuchte mit Init() ansprechen
+    while(1)                                    //Die ganze Zeit durchlaufen
     {
-        if( fl.state==1 )
-            fl.State1Func();
-        if( fl.state==2 )
-            fl.State2Func();
-        if( fl.state==3 )
-            fl.State3Func();
-    }
-    
-}
-
-void FahrradLeuchte::State1Func()
-{
-    t1.reset();
-    stLED = 1;
-    while(1)
-    {
-        State1Action();
-        if( Btn1.CheckFlag() )
-            { state=2; return; }
-        if( Btn2.CheckFlag() )
-            { state=3; return; }
+        if( fl.state==1 )                       //Wenn der Status der Fahrradleuchte 1 ist
+            fl.State1Func();                    //Funktion State1Func unter der Klasse FahrradLeuchte starten
+        if( fl.state==2 )                       //Wenn der Status der Fahrradleuchte 2 ist
+            fl.State2Func();                    //Funktion State2Func unter der Klasse FahrradLeuchte starten
+        if( fl.state==3 )                       //Wenn der Status der Fahrradleuchte 3 ist
+            fl.State3Func();                    //Funktion State3Func unter der Klasse FahrradLeuchte starten
     }
 }
 
-void FahrradLeuchte::State2Func()
+void FahrradLeuchte::State1Func()               //Funktion State1Func() der Klasse FahrradLeuchte definieren
+{
+    t1.reset();                                 //Timer t1 reseten
+    stLED = 1;                                  //Binärstatus 1 mit Leds anzeigen
+    while(1)                                    //Während die Funktion aufgerufen wird
+    {
+        State1Action();                         //Function State1Action() aufrufen
+        if( Btn1.CheckFlag() )                  //Wenn der erste Button geklickt wird
+            { state=2; return; }                //state = 2
+        if( Btn2.CheckFlag() )                  //Wenn der zweite Button geklickt wird
+            { state=3; return; }                //state = 3
+    }
+}
+
+void FahrradLeuchte::State2Func()               //Funktion State2Func() der Klasse FahrradLeuchte definieren (Rest siehe oben)
 {
     t1.reset();
     stLED = 2;
@@ -67,7 +73,7 @@
     }
 }
 
-void FahrradLeuchte::State3Func()
+void FahrradLeuchte::State3Func()               //Funktion State3Func() der Klasse FahrradLeuchte definieren (Rest siehe oben)
 {
     t1.reset();
     stLED = 3;
@@ -81,18 +87,18 @@
     }
 }
 
-void FahrradLeuchte::State1Action()
+void FahrradLeuchte::State1Action()             //Funktion State1Action() der Klasse FahrradLeuchte definieren
 {
-    if( t1.read_ms()<500 )
-        return;
-    t1.reset();
-    if( lb==0 )
-        lb = 512;
-    else
-        lb = 0;
+    if( t1.read_ms()<500 )                      //Solande t1 kleiner als 0.5 Sekunden ist
+        return;                                 //Ende der Funktion
+    t1.reset();                                 //Wenn größer: Timer t1 reseten
+    if( lb==0 )                                 //wenn die Ledbar auf dem Status 0 ist
+        lb = 512;                               //Der 3. Led von hinten der Ledbar aufleuchten lassen
+    else                                        //Sonst
+        lb = 0;                                 //Ledbar auf 0 setzen
 }
 
-void FahrradLeuchte::State2Action()
+void FahrradLeuchte::State2Action()             //Funktion State1Action() der Klasse FahrradLeuchte definieren (Rest siehe oben)
 {
     if( t1.read_ms()<200 )
         return;
@@ -103,7 +109,7 @@
         lb = 0;
 }
 
-void FahrradLeuchte::State3Action()
+void FahrradLeuchte::State3Action()             //Funktion State1Action() der Klasse FahrradLeuchte definieren (Rest siehe oben)
 {
     if( t1.read_ms()<100 )
         return;