v3
ihm_L476.h@0:244ca2910e55, 2019-10-31 (annotated)
- Committer:
- slowness
- Date:
- Thu Oct 31 16:39:52 2019 +0000
- Revision:
- 0:244ca2910e55
ihm_L476 V3
Who changed what in which revision?
User | Revision | Line number | New 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 |