EMSY-Projekt
/
EMSY-Projekt_Lagesensor
LED.cpp
- Committer:
- Schreeker
- Date:
- 2016-06-28
- Revision:
- 12:7c9c5a541380
- Parent:
- 11:5861bc23022a
- Child:
- 15:462c8c89fe35
File content as of revision 12:7c9c5a541380:
/********************************************************************************** * File name: LED.cpp * Zweck: Beinhaltet alle Funktionen zur Einstellung der LED-Helligkeit in Abhängigkeit von den berechneten Winkeln. * Author: Simon Rutzen, Nils Kemmer * Changes: keine ***********************************************************************************/ /* Zu benutzende Pins */ // PWM1 - Channel 1N (PB_15), 2N (PB_14), 3N (PB_13) und 4 (PA_11) /* Include */ #include "mbed.h" #include "Sensor.h" /* Externe Variablen */ extern struct WinkelData stWinkelData; /*Konfiguriert die angegebenen Pins als pulsweitenmodulierte Ausgänge*/ PwmOut oLEDXN(PB_15); PwmOut oLEDXP(PB_14); PwmOut oLEDYN(PB_13); PwmOut oLEDYP(PA_11); /************************************************************************************ * void setLED(struct WinkelData stWinkelData) * Zweck: Steuerung der vier LED's auf Basis der berechneten Winkel in stWinkelData. 1. Auswerten der Z-Achse, ob Überkopflage oder nicht 2. Ansteurung der LED's auf Basis der berechneten Winkel in stWinkelData und Schritt 1. * Parameter: *stSensData: Struktur vom Type WinkelData zum Abspeichern der berechneten X-, Y- und Z-Winkel aufbauend auf der SensData Struktur. * return Parameter: keine *************************************************************************************/ void setLED(struct WinkelData stWinkelData){ /* Variabeln */ /* Auswertung der Z-Achsendaten */ // Tbd /* Einstellen der LED's */ // Tbd mit Switch-Case-Struktur } /************************************************************************************ * void void initLED() * Zweck: Blinken der LED's beim Anschalten des Boards. 4x Blinken im 250ms Abstand * Parameter: keine * return Parameter: keine *************************************************************************************/ void initLED(){ /* Variabeln */ int i = 0; /* Setzen der PWM-Periode auf 20ms */ oLEDXN.period_ms(20); oLEDXP.period_ms(20); oLEDYN.period_ms(20); oLEDYP.period_ms(20); /* 4x Blinken der LED's mit 250ms Pause dazwischen*/ while(i<8){ /* Toggeln der LED's */ oLEDXN = ((int)oLEDXN.read()+1) % 2; oLEDXP = ((int)oLEDXP.read()+1) % 2; oLEDYN = ((int)oLEDYN.read()+1) % 2; oLEDYP = ((int)oLEDYP.read()+1) % 2; /* Warten */ wait_ms(250); /* Zählvariabel erhöhen */ ++i; } }