EMSY-Projekt / Mbed 2 deprecated EMSY-Projekt_Lagesensor

Dependencies:   TextLCD mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 /********************************************************************************** 
00002 * File name:    main.cpp
00003 * Zweck:        Beinhaltet das Hauptprogramm. Es werden zyklisch die Daten des Be-
00004                 schleunigungssensores ausgelesen, umgerechnet in Winkel, die LED's 
00005                 auf Basis der X-,Y- und Z-Winkel angesteuert und die Winkel auf dem
00006                 LCD-Display angezeigt oder die Überkopflage angezeigt.
00007                 
00008                 !Hinweis: Es wird die Ungarische Notation verwendet!
00009                 
00010 * Author:       Simon Rutzen, Nils Kemmer
00011 * Changes:      
00012     19.05.16    Erstellung und Einbinden von mbed.h, cdef.h und LCD.h
00013     23.05.16    Sensor.h + deren Funktionen eingefügt in Hauptprogramm (auch von LCD.h)
00014     24.05.16    Ablauf des Hauptprogrammes geplant und Kommentar verfasst
00015     25.05.16    Funktion wait aus mbed.h eingefügt wegen LCD-Anzeige
00016     27.05.16    Kommentierung des Funktionablaufes
00017     28.05.16    Erweiterung mit Debug-Funktionen von LCD.h und Sensor.h
00018     28.06.16    Funktion initLED eingefügt
00019     30.06.16    Funktion initLCD eingefügt
00020     29.07.16    Anpassung an Programmierrichtlinie-Dokument und letzte endgültige
00021                 Kontrolle Simon Rutzen
00022 ***********************************************************************************/
00023 
00024 /* Includes */
00025 #include "mbed.h"
00026 #include "LCD.h"
00027 #include "cdef.h"
00028 #include "Sensor.h"
00029 #include "LED.h"
00030 
00031 /*Structs aus Sensor.cpp bzw. Sensor.h*/
00032 extern struct stWinkelData stWinkelData;
00033 extern struct stSensData stSensData;
00034 
00035 /* Hauptprogramm */
00036 int main(){
00037     /* Variabeln */
00038     byte bStateLCD = 0;
00039     
00040     /* Initialisierung (LCD Anzeige + Blinkende LED's */
00041     LCD_vinitLCD();
00042     LED_vinitLED();
00043     
00044     while(1){
00045         /* Auslesen des Beschleunigungssensores */
00046         Sensor_vgetSensData(&stSensData);
00047         
00048         /* Berechnung der Spannungswerte aus den Messdaten für Debugzwecke */
00049         //Sensor_vDebugData(&stSensData, &stWinkelData);
00050         
00051         /* Berechnung der Winkel aus Messdaten */
00052         Sensor_vcalcData(&stSensData, &stWinkelData);
00053         
00054         /* Einstellen der LED's*/
00055         bStateLCD = LED_bsetLED(stWinkelData.i16WinkelX, stWinkelData.i16WinkelY, stWinkelData.i16SpannungZ);
00056         
00057         /* Einstellen des LCD-Displays*/
00058         LCD_vLCDSet(stWinkelData.i16WinkelX, stWinkelData.i16WinkelY, bStateLCD);
00059         //LCD_vLCDDebug(stWinkelData.i16WinkelX, stWinkelData.i16WinkelY, stWinkelData.i16SpannungZ);
00060         /* Pause */
00061         wait_ms(100);
00062         }
00063         return 0;
00064     }