v1 / JV / LEnsE / IOGS
Dependencies: mbed IOGS_LEnsE_GUI
main.cpp@0:34d312a68393, 2018-12-18 (annotated)
- 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?
User | Revision | Line number | New 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 | } |