v1 / JV / LEnsE / IOGS

Dependencies:   mbed IOGS_LEnsE_GUI

Revision:
0:34d312a68393
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue Dec 18 14:34:57 2018 +0000
@@ -0,0 +1,62 @@
+#include "mbed.h"
+#include "time.h"
+#include "F429_GUI.hpp"
+#include "IOGS_LEnsE_GUI.hpp"
+
+#define TE          0.00003
+
+LCD_DISCO_F429ZI lcd;
+TS_DISCO_F429ZI ts;
+
+Serial pc(USBTX, USBRX);
+DigitalIn my_bp(USER_BUTTON);
+DigitalOut sortie_test(PF_12);      // Sortie de test pour mesurer le temps de calcul de la conversion
+/* Conversion Analog / Num - Num / Analog */
+AnalogIn son_entree(PC_1);
+AnalogOut son_sortie(PA_5); // ATTENTION NE PAS MODIFIER LES E/S
+float in, out;
+
+/* Timer a repetition */
+Ticker tik;
+
+/* Conversion à intervalle régulier grace au Ticker */
+void convert(void){
+    sortie_test = 1;
+    in = son_entree.read();    // Lecture de l'entree analogique
+    out = in;              // Calcul de la sortie
+    son_sortie.write(out); // Ecriture de la sortie analogique
+    sortie_test = 0;
+}
+
+/* Fonction principale */
+int main()
+{
+    int val;
+    pc.baud(115200);
+    
+    wait(1.0);
+    pc.printf("WDM Demo\r\n");
+        
+    int x_MAX, y_MAX;
+    x_MAX = lcd.GetXSize();
+    y_MAX = lcd.GetYSize();
+    pc.printf("xMax = %d / yMax = %d \r\n", x_MAX, y_MAX);
+    
+    Label label1(x_MAX/2, y_MAX/2, "GUI Test", Label::CENTER, Font16, LCD_COLOR_WHITE, LCD_COLOR_BLUE);
+    NumericLabel<int> my_value(10, 100, "", Label::LEFT, Font12, LCD_COLOR_MAGENTA);
+    
+    // Affichage Fenetre graphique avec logo
+    DrawImage(my_logo, &lcd);
+    wait(5);
+    lcd.Clear(LCD_COLOR_LIGHTGRAY);
+    
+    // Fonction de conversion à intervalle régulier
+    tik.attach(&convert, TE);
+
+    while (true)
+    {
+        pc.scanf("%d", &val);
+        pc.printf("Test = %d \r\n", val);
+        my_value.Draw("%3d", val);
+    }
+}