v1 / JV / LEnsE / IOGS

Dependencies:   mbed IOGS_LEnsE_GUI

Committer:
villemejane
Date:
Tue Dec 18 14:34:57 2018 +0000
Revision:
0:34d312a68393
Developped by JV / LEnsE / IOGS

Who changed what in which revision?

UserRevisionLine numberNew contents of line
villemejane 0:34d312a68393 1 #include "mbed.h"
villemejane 0:34d312a68393 2 #include "time.h"
villemejane 0:34d312a68393 3 #include "F429_GUI.hpp"
villemejane 0:34d312a68393 4 #include "IOGS_LEnsE_GUI.hpp"
villemejane 0:34d312a68393 5
villemejane 0:34d312a68393 6 #define TE 0.00003
villemejane 0:34d312a68393 7
villemejane 0:34d312a68393 8 LCD_DISCO_F429ZI lcd;
villemejane 0:34d312a68393 9 TS_DISCO_F429ZI ts;
villemejane 0:34d312a68393 10
villemejane 0:34d312a68393 11 Serial pc(USBTX, USBRX);
villemejane 0:34d312a68393 12 DigitalIn my_bp(USER_BUTTON);
villemejane 0:34d312a68393 13 DigitalOut sortie_test(PF_12); // Sortie de test pour mesurer le temps de calcul de la conversion
villemejane 0:34d312a68393 14 /* Conversion Analog / Num - Num / Analog */
villemejane 0:34d312a68393 15 AnalogIn son_entree(PC_1);
villemejane 0:34d312a68393 16 AnalogOut son_sortie(PA_5); // ATTENTION NE PAS MODIFIER LES E/S
villemejane 0:34d312a68393 17 float in, out;
villemejane 0:34d312a68393 18
villemejane 0:34d312a68393 19 /* Timer a repetition */
villemejane 0:34d312a68393 20 Ticker tik;
villemejane 0:34d312a68393 21
villemejane 0:34d312a68393 22 /* Conversion à intervalle régulier grace au Ticker */
villemejane 0:34d312a68393 23 void convert(void){
villemejane 0:34d312a68393 24 sortie_test = 1;
villemejane 0:34d312a68393 25 in = son_entree.read(); // Lecture de l'entree analogique
villemejane 0:34d312a68393 26 out = in; // Calcul de la sortie
villemejane 0:34d312a68393 27 son_sortie.write(out); // Ecriture de la sortie analogique
villemejane 0:34d312a68393 28 sortie_test = 0;
villemejane 0:34d312a68393 29 }
villemejane 0:34d312a68393 30
villemejane 0:34d312a68393 31 /* Fonction principale */
villemejane 0:34d312a68393 32 int main()
villemejane 0:34d312a68393 33 {
villemejane 0:34d312a68393 34 int val;
villemejane 0:34d312a68393 35 pc.baud(115200);
villemejane 0:34d312a68393 36
villemejane 0:34d312a68393 37 wait(1.0);
villemejane 0:34d312a68393 38 pc.printf("WDM Demo\r\n");
villemejane 0:34d312a68393 39
villemejane 0:34d312a68393 40 int x_MAX, y_MAX;
villemejane 0:34d312a68393 41 x_MAX = lcd.GetXSize();
villemejane 0:34d312a68393 42 y_MAX = lcd.GetYSize();
villemejane 0:34d312a68393 43 pc.printf("xMax = %d / yMax = %d \r\n", x_MAX, y_MAX);
villemejane 0:34d312a68393 44
villemejane 0:34d312a68393 45 Label label1(x_MAX/2, y_MAX/2, "GUI Test", Label::CENTER, Font16, LCD_COLOR_WHITE, LCD_COLOR_BLUE);
villemejane 0:34d312a68393 46 NumericLabel<int> my_value(10, 100, "", Label::LEFT, Font12, LCD_COLOR_MAGENTA);
villemejane 0:34d312a68393 47
villemejane 0:34d312a68393 48 // Affichage Fenetre graphique avec logo
villemejane 0:34d312a68393 49 DrawImage(my_logo, &lcd);
villemejane 0:34d312a68393 50 wait(5);
villemejane 0:34d312a68393 51 lcd.Clear(LCD_COLOR_LIGHTGRAY);
villemejane 0:34d312a68393 52
villemejane 0:34d312a68393 53 // Fonction de conversion à intervalle régulier
villemejane 0:34d312a68393 54 tik.attach(&convert, TE);
villemejane 0:34d312a68393 55
villemejane 0:34d312a68393 56 while (true)
villemejane 0:34d312a68393 57 {
villemejane 0:34d312a68393 58 pc.scanf("%d", &val);
villemejane 0:34d312a68393 59 pc.printf("Test = %d \r\n", val);
villemejane 0:34d312a68393 60 my_value.Draw("%3d", val);
villemejane 0:34d312a68393 61 }
villemejane 0:34d312a68393 62 }