v3

Committer:
slowness
Date:
Thu Oct 31 16:39:52 2019 +0000
Revision:
0:244ca2910e55
ihm_L476 V3

Who changed what in which revision?

UserRevisionLine numberNew contents of line
slowness 0:244ca2910e55 1 /// @file IHM_L476.h Bibliothéque de classe pour la carte L476 compatible IHM NBOARD
slowness 0:244ca2910e55 2 /// @mainpage
slowness 0:244ca2910e55 3 ///
slowness 0:244ca2910e55 4 ///
slowness 0:244ca2910e55 5 ///
slowness 0:244ca2910e55 6 /// @author Bruno LARNAUDIE, IUT Cachan
slowness 0:244ca2910e55 7 ///
slowness 0:244ca2910e55 8 /// @note
slowness 0:244ca2910e55 9 /// History
slowness 0:244ca2910e55 10 /// v3.00 31/10/2019
slowness 0:244ca2910e55 11
slowness 0:244ca2910e55 12 #include "mbed.h"
slowness 0:244ca2910e55 13 #include "LCD_DISCO_L476VG.h"
slowness 0:244ca2910e55 14 #include "stm32l476g_discovery_glass_lcd.h"
slowness 0:244ca2910e55 15 #include "lcd.h"
slowness 0:244ca2910e55 16
slowness 0:244ca2910e55 17 //
slowness 0:244ca2910e55 18 ///
slowness 0:244ca2910e55 19 /// Example:
slowness 0:244ca2910e55 20 /// @code
slowness 0:244ca2910e55 21 /// #include "ihm_L476.h"
slowness 0:244ca2910e55 22 ///
slowness 0:244ca2910e55 23 /// IHM_L476 ihm; // Déclaration de l'objet lcd permettant d'utiliser l'écran LCD
slowness 0:244ca2910e55 24 ///
slowness 0:244ca2910e55 25 /// //-------- 2 LED (verte / rouge) seulement sur la Disco L476 (+ bargraph de 4 barres sur le LCD)
slowness 0:244ca2910e55 26 /// DigitalOut led_green(PE_8);
slowness 0:244ca2910e55 27 /// // Définir ici l'objet led rouge voir sur le board pinout à l'adresse suivante: https://os.mbed.com/platforms/ST-Discovery-L476VG/
slowness 0:244ca2910e55 28 ///
slowness 0:244ca2910e55 29 /// //------------- les 5 BP du joystick (attention : celui du milieu est câblé différemment !)
slowness 0:244ca2910e55 30 /// DigitalIn central(PA_0, PullNone); // le BP central du joystick a une Res EXTERNE de PullDown (1 si enfoncé) -> PullNone (ou PullDown)
slowness 0:244ca2910e55 31 /// // PA_0 ou USER_BUTTON
slowness 0:244ca2910e55 32 /// DigitalIn left(PA_1,PullDown); // Pas de res externe (et broche Com à Vcc) sur le schéma des 4 directions du joystick
slowness 0:244ca2910e55 33 /// // Définir ici les objets boutons droite, haut et bas de la même facon que pour l'objet gauche
slowness 0:244ca2910e55 34 /// // voir sur le board pinout à l'adresse suivante: https://os.mbed.com/platforms/ST-Discovery-L476VG/
slowness 0:244ca2910e55 35 ///
slowness 0:244ca2910e55 36 /// int main()
slowness 0:244ca2910e55 37 /// {
slowness 0:244ca2910e55 38 /// unsigned char compteur=0;
slowness 0:244ca2910e55 39 ///
slowness 0:244ca2910e55 40 /// ihm.LCD_printf("HELLO "); // affichage sur l'afficheur lcd
slowness 0:244ca2910e55 41 /// wait(3); // attente de 3 seconde
slowness 0:244ca2910e55 42 /// ihm.LCD_printf("Programme d'exemple de la carte L476");
slowness 0:244ca2910e55 43 /// wait(10); // attente de 10 seconde
slowness 0:244ca2910e55 44 /// ihm.LCD_clear(); // efface l'écran
slowness 0:244ca2910e55 45 ///
slowness 0:244ca2910e55 46 /// while (true) { // boule infinie. Equivalent à: while(1)
slowness 0:244ca2910e55 47 /// led_green = !led_green; // change l'état de la led
slowness 0:244ca2910e55 48 /// ihm.LCD_printf("%03d:%02xh",compteur,compteur); // Affichage sur le ihm du compteur en décimal et hexa
slowness 0:244ca2910e55 49 /// ihm.BAR_set(compteur); // Affichage sur le bargraphe de l'écran
slowness 0:244ca2910e55 50 /// wait(1); // attente 1 seconde
slowness 0:244ca2910e55 51 /// if (central)
slowness 0:244ca2910e55 52 /// compteur=0; // LED s'allume à 1 / BP enfoncé à 1
slowness 0:244ca2910e55 53 /// else
slowness 0:244ca2910e55 54 /// compteur++; // incrémente le compteur. Equivalent à: compteur=compteur+1;
slowness 0:244ca2910e55 55 /// }
slowness 0:244ca2910e55 56 /// }
slowness 0:244ca2910e55 57 /// @endcode
slowness 0:244ca2910e55 58 ///
slowness 0:244ca2910e55 59
slowness 0:244ca2910e55 60 class IHM_L476
slowness 0:244ca2910e55 61 {
slowness 0:244ca2910e55 62 public:
slowness 0:244ca2910e55 63 /// Constructeur pour l'IHM de la carte L476, placé à l'extérieur du main
slowness 0:244ca2910e55 64 ///
slowness 0:244ca2910e55 65 IHM_L476();
slowness 0:244ca2910e55 66
slowness 0:244ca2910e55 67 ~IHM_L476();
slowness 0:244ca2910e55 68 /// commande des 4 leds du bargraph sur le lcd
slowness 0:244ca2910e55 69 ///
slowness 0:244ca2910e55 70 /// Affiche la valeur passée en argument sur le bargraph
slowness 0:244ca2910e55 71 /// @param valeur à afficher sur le bargraph
slowness 0:244ca2910e55 72 /// @returns void
slowness 0:244ca2910e55 73 ///
slowness 0:244ca2910e55 74 void BAR_set(unsigned char valeur);
slowness 0:244ca2910e55 75
slowness 0:244ca2910e55 76 /// effacement de l'afficheur LCD
slowness 0:244ca2910e55 77 ///
slowness 0:244ca2910e55 78 /// @param void
slowness 0:244ca2910e55 79 /// @returns void
slowness 0:244ca2910e55 80 ///
slowness 0:244ca2910e55 81 void LCD_clear(void);
slowness 0:244ca2910e55 82
slowness 0:244ca2910e55 83 /// écriture formatée sur l'afficheur LCD
slowness 0:244ca2910e55 84 /// si affichage de plus de 6 caractéres
slowness 0:244ca2910e55 85 /// alors l'affichage se met en mode défilement
slowness 0:244ca2910e55 86 /// @param format...
slowness 0:244ca2910e55 87 /// @returns void
slowness 0:244ca2910e55 88 ///
slowness 0:244ca2910e55 89 void LCD_printf(const char* format, ...);
slowness 0:244ca2910e55 90
slowness 0:244ca2910e55 91 private:
slowness 0:244ca2910e55 92
slowness 0:244ca2910e55 93 };
slowness 0:244ca2910e55 94
slowness 0:244ca2910e55 95
slowness 0:244ca2910e55 96 void BSP_LCD_GLASS_CLEAR_WITHOUT_BAR(void);
slowness 0:244ca2910e55 97
slowness 0:244ca2910e55 98 void BSP_LCD_GLASS_SetBar(uint8_t Value);
slowness 0:244ca2910e55 99
slowness 0:244ca2910e55 100 void BSP_LCD_GLASS_DisplayString_iut_cachan(uint8_t *ptr);
slowness 0:244ca2910e55 101
slowness 0:244ca2910e55 102 void BSP_LCD_GLASS_ScrollSentence_iut_cachan(uint8_t* ptr, uint8_t size, uint16_t nScroll, uint16_t ScrollSpeed);
slowness 0:244ca2910e55 103
slowness 0:244ca2910e55 104 void Decalage_sentence(void);
slowness 0:244ca2910e55 105
slowness 0:244ca2910e55 106 extern uint8_t Global_Bar_Value;
slowness 0:244ca2910e55 107
slowness 0:244ca2910e55 108 extern LCD_HandleTypeDef LCDHandle;
slowness 0:244ca2910e55 109
slowness 0:244ca2910e55 110 extern const uint16_t CapLetterMap[26];
slowness 0:244ca2910e55 111
slowness 0:244ca2910e55 112 extern const uint16_t NumberMap[10];
slowness 0:244ca2910e55 113
slowness 0:244ca2910e55 114 extern uint32_t Digit[4]; /* Digit frame buffer */
slowness 0:244ca2910e55 115
slowness 0:244ca2910e55 116 extern uint8_t LCDBar;
slowness 0:244ca2910e55 117