v1 / JV / LEnsE / IOGS

Dependencies:   mbed IOGS_LEnsE_GUI

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "time.h"
00003 #include "F429_GUI.hpp"
00004 #include "IOGS_LEnsE_GUI.hpp"
00005 
00006 #define TE          0.00003
00007 
00008 LCD_DISCO_F429ZI lcd;
00009 TS_DISCO_F429ZI ts;
00010 
00011 Serial pc(USBTX, USBRX);
00012 DigitalIn my_bp(USER_BUTTON);
00013 DigitalOut sortie_test(PF_12);      // Sortie de test pour mesurer le temps de calcul de la conversion
00014 /* Conversion Analog / Num - Num / Analog */
00015 AnalogIn son_entree(PC_1);
00016 AnalogOut son_sortie(PA_5); // ATTENTION NE PAS MODIFIER LES E/S
00017 float in, out;
00018 
00019 /* Timer a repetition */
00020 Ticker tik;
00021 
00022 /* Conversion à intervalle régulier grace au Ticker */
00023 void convert(void){
00024     sortie_test = 1;
00025     in = son_entree.read();    // Lecture de l'entree analogique
00026     out = in;              // Calcul de la sortie
00027     son_sortie.write(out); // Ecriture de la sortie analogique
00028     sortie_test = 0;
00029 }
00030 
00031 /* Fonction principale */
00032 int main()
00033 {
00034     int val;
00035     pc.baud(115200);
00036     
00037     wait(1.0);
00038     pc.printf("WDM Demo\r\n");
00039         
00040     int x_MAX, y_MAX;
00041     x_MAX = lcd.GetXSize();
00042     y_MAX = lcd.GetYSize();
00043     pc.printf("xMax = %d / yMax = %d \r\n", x_MAX, y_MAX);
00044     
00045     Label label1(x_MAX/2, y_MAX/2, "GUI Test", Label::CENTER, Font16, LCD_COLOR_WHITE, LCD_COLOR_BLUE);
00046     NumericLabel<int> my_value(10, 100, "", Label::LEFT, Font12, LCD_COLOR_MAGENTA);
00047     
00048     // Affichage Fenetre graphique avec logo
00049     DrawImage(my_logo, &lcd);
00050     wait(5);
00051     lcd.Clear(LCD_COLOR_LIGHTGRAY);
00052     
00053     // Fonction de conversion à intervalle régulier
00054     tik.attach(&convert, TE);
00055 
00056     while (true)
00057     {
00058         pc.scanf("%d", &val);
00059         pc.printf("Test = %d \r\n", val);
00060         my_value.Draw("%3d", val);
00061     }
00062 }