V1

Committer:
slowness
Date:
Fri Nov 01 11:44:25 2019 +0000
Revision:
1:9b234695c10f
Parent:
0:d67999aa55a3
Child:
2:fb23524feda5
V3

Who changed what in which revision?

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