lib_LCD_oem http://www.lextronic.fr/P764-afficheur-4-x-20-caracteres-retro-eclaire-vert.html YSI
Dependents: lib_LCD_oem_example libs_YSI_example TP3exo1
lib_LCD_oem_ELCD.h@6:02f5e2861a9b, 2017-06-06 (annotated)
- Committer:
- YSI
- Date:
- Tue Jun 06 14:00:30 2017 +0000
- Revision:
- 6:02f5e2861a9b
- Parent:
- 5:291652c14402
LCD_oem_example
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
YSI | 0:1323ab32b8ca | 1 | /** LCD oem ELCD class |
YSI | 3:70764c9a25e0 | 2 | * |
YSI | 3:70764c9a25e0 | 3 | * @purpose library for oem ELCD |
YSI | 3:70764c9a25e0 | 4 | * |
YSI | 4:18ab8489365f | 5 | * Utilisée pour écrire sur l'afficheur oem ELCD 4x20. |
YSI | 4:18ab8489365f | 6 | * |
YSI | 4:18ab8489365f | 7 | * http://www.lextronic.fr/P764-afficheur-4-x-20-caracteres-retro-eclaire-vert.html |
YSI | 0:1323ab32b8ca | 8 | * |
YSI | 1:5e038c0d111f | 9 | * Copyright (c) 2014, cstyles (http://mbed.org) |
YSI | 1:5e038c0d111f | 10 | * |
YSI | 0:1323ab32b8ca | 11 | * Exemple: |
YSI | 0:1323ab32b8ca | 12 | * @code |
YSI | 0:1323ab32b8ca | 13 | * #include "mbed.h" |
YSI | 0:1323ab32b8ca | 14 | * #include "lib_LCD_oem_ELCD.h" |
YSI | 0:1323ab32b8ca | 15 | * |
YSI | 6:02f5e2861a9b | 16 | * LCD_OEM LCD; |
YSI | 6:02f5e2861a9b | 17 | * //LCD_OEM LCD(p13); //Tx |
YSI | 0:1323ab32b8ca | 18 | * |
YSI | 4:18ab8489365f | 19 | * int main() |
YSI | 4:18ab8489365f | 20 | * { |
YSI | 6:02f5e2861a9b | 21 | * while(1) |
YSI | 6:02f5e2861a9b | 22 | * { |
YSI | 6:02f5e2861a9b | 23 | * for(int i = 0; i < 9999; i++) |
YSI | 6:02f5e2861a9b | 24 | * { |
YSI | 6:02f5e2861a9b | 25 | * LCD.clear(); |
YSI | 6:02f5e2861a9b | 26 | * LCD.print(i); |
YSI | 6:02f5e2861a9b | 27 | * wait(0.25); |
YSI | 6:02f5e2861a9b | 28 | * } |
YSI | 6:02f5e2861a9b | 29 | * } |
YSI | 0:1323ab32b8ca | 30 | * } |
YSI | 0:1323ab32b8ca | 31 | * @endcode |
YSI | 1:5e038c0d111f | 32 | * @file lib_LCD_oem_ELDC.h |
YSI | 1:5e038c0d111f | 33 | * @date Jan 2014 |
YSI | 1:5e038c0d111f | 34 | * @author Yannic Simon |
YSI | 0:1323ab32b8ca | 35 | */ |
YSI | 0:1323ab32b8ca | 36 | |
YSI | 0:1323ab32b8ca | 37 | #ifndef DEF_lib_LCD_OEM_ELCD_H |
YSI | 0:1323ab32b8ca | 38 | #define DEF_lib_LCD_OEM_ELCD_H |
YSI | 0:1323ab32b8ca | 39 | |
YSI | 0:1323ab32b8ca | 40 | #include "mbed.h" |
YSI | 5:291652c14402 | 41 | #include <cstdarg> |
YSI | 0:1323ab32b8ca | 42 | |
YSI | 2:257f4b2da21a | 43 | /** LCD_OEM class |
YSI | 2:257f4b2da21a | 44 | */ |
YSI | 0:1323ab32b8ca | 45 | class LCD_OEM : public Serial |
YSI | 0:1323ab32b8ca | 46 | { |
YSI | 0:1323ab32b8ca | 47 | public: |
YSI | 0:1323ab32b8ca | 48 | /** Creer une instance LCD_OEM |
YSI | 4:18ab8489365f | 49 | * |
YSI | 6:02f5e2861a9b | 50 | * @param pin_tx par defaut p13 |
YSI | 0:1323ab32b8ca | 51 | */ |
YSI | 6:02f5e2861a9b | 52 | LCD_OEM(PinName pin_tx = p13); |
YSI | 0:1323ab32b8ca | 53 | |
YSI | 0:1323ab32b8ca | 54 | /** Efface l'afficheur et renvoie le curseur en position X = 0 et Y = 0 |
YSI | 0:1323ab32b8ca | 55 | * |
YSI | 0:1323ab32b8ca | 56 | * @param aucun |
YSI | 4:18ab8489365f | 57 | * @returns aucun |
YSI | 0:1323ab32b8ca | 58 | */ |
YSI | 0:1323ab32b8ca | 59 | void clear(void); |
YSI | 4:18ab8489365f | 60 | |
YSI | 0:1323ab32b8ca | 61 | /** positionne le curseur sur la ligne |
YSI | 0:1323ab32b8ca | 62 | * |
YSI | 0:1323ab32b8ca | 63 | * @param X est la position sur la ligne (0 à 19) |
YSI | 0:1323ab32b8ca | 64 | * @returns aucun |
YSI | 0:1323ab32b8ca | 65 | */ |
YSI | 0:1323ab32b8ca | 66 | void set_position_cursor(int X); |
YSI | 4:18ab8489365f | 67 | |
YSI | 0:1323ab32b8ca | 68 | /** positionne le curseur horizontalement et verticalement |
YSI | 0:1323ab32b8ca | 69 | * |
YSI | 0:1323ab32b8ca | 70 | * @param X est la position sur la ligne (0 à 19) |
YSI | 0:1323ab32b8ca | 71 | * Y est la position sur la colone (0 à 3) |
YSI | 0:1323ab32b8ca | 72 | * @returns aucun |
YSI | 0:1323ab32b8ca | 73 | */ |
YSI | 0:1323ab32b8ca | 74 | void set_position_cursor(int X, int Y); |
YSI | 4:18ab8489365f | 75 | |
YSI | 0:1323ab32b8ca | 76 | /** renvoie la position horizontale du curseur |
YSI | 0:1323ab32b8ca | 77 | * |
YSI | 0:1323ab32b8ca | 78 | * @param aucun |
YSI | 0:1323ab32b8ca | 79 | * @returns X est la position sur la ligne (0 à 19) |
YSI | 0:1323ab32b8ca | 80 | */ |
YSI | 0:1323ab32b8ca | 81 | int get_X_position_cursor(void); |
YSI | 4:18ab8489365f | 82 | |
YSI | 0:1323ab32b8ca | 83 | /** renvoie la position verticale du curseur |
YSI | 0:1323ab32b8ca | 84 | * |
YSI | 0:1323ab32b8ca | 85 | * @param aucun |
YSI | 0:1323ab32b8ca | 86 | * @returns Y est la position sur la colone (0 à 3) |
YSI | 0:1323ab32b8ca | 87 | */ |
YSI | 0:1323ab32b8ca | 88 | int get_Y_position_cursor(void); |
YSI | 4:18ab8489365f | 89 | |
YSI | 0:1323ab32b8ca | 90 | /** positionne le curseur à la ligne suivante |
YSI | 0:1323ab32b8ca | 91 | * |
YSI | 0:1323ab32b8ca | 92 | * @param aucun |
YSI | 0:1323ab32b8ca | 93 | * @returns aucun |
YSI | 0:1323ab32b8ca | 94 | */ |
YSI | 0:1323ab32b8ca | 95 | void shift_line_cursor(void); |
YSI | 4:18ab8489365f | 96 | |
YSI | 0:1323ab32b8ca | 97 | /** active l'affichage du curseur |
YSI | 0:1323ab32b8ca | 98 | * |
YSI | 0:1323ab32b8ca | 99 | * @param aucun |
YSI | 0:1323ab32b8ca | 100 | * @returns aucun |
YSI | 0:1323ab32b8ca | 101 | */ |
YSI | 0:1323ab32b8ca | 102 | void turn_on_cursor(void); |
YSI | 4:18ab8489365f | 103 | |
YSI | 0:1323ab32b8ca | 104 | /** désactive l'affichage du curseur |
YSI | 0:1323ab32b8ca | 105 | * |
YSI | 0:1323ab32b8ca | 106 | * @param aucun |
YSI | 0:1323ab32b8ca | 107 | * @returns aucun |
YSI | 0:1323ab32b8ca | 108 | */ |
YSI | 0:1323ab32b8ca | 109 | void turn_off_cursor(void); |
YSI | 4:18ab8489365f | 110 | |
YSI | 0:1323ab32b8ca | 111 | /** redéfinit un caractère de 5x8 pixels et l'affiche |
YSI | 0:1323ab32b8ca | 112 | * |
YSI | 0:1323ab32b8ca | 113 | * @param c est le caractère à redéfinir (8 à 15) |
YSI | 0:1323ab32b8ca | 114 | * l1 à l8 sont les lignes du caractère à redéfinir pixel par pixel et correspond à la somme des valeurs des pixels sur une chaque ligne |
YSI | 0:1323ab32b8ca | 115 | * le pixel le plus à gauche est le poids fort correspondant à la valeur 16 |
YSI | 0:1323ab32b8ca | 116 | * le pixel le plus à droite est le poids faible correspondant à la valeur 1 |
YSI | 0:1323ab32b8ca | 117 | * @returns aucun |
YSI | 0:1323ab32b8ca | 118 | */ |
YSI | 0:1323ab32b8ca | 119 | void define_and_print_caractere(char c, char l1, char l2, char l3, char l4, char l5, char l6, char l7, char l8); |
YSI | 4:18ab8489365f | 120 | |
YSI | 0:1323ab32b8ca | 121 | /** redéfinit un caractère de 5x8 pixels et l'affiche |
YSI | 0:1323ab32b8ca | 122 | * |
YSI | 0:1323ab32b8ca | 123 | * @param c est le caractère à redéfinir (8 à 15) |
YSI | 0:1323ab32b8ca | 124 | * l1 à l8 sont les lignes du caractère à redéfinir pixel par pixel et correspond à la somme des valeurs des pixels sur une chaque ligne |
YSI | 0:1323ab32b8ca | 125 | * le pixel le plus à gauche est le poids fort correspondant à la valeur 16 |
YSI | 0:1323ab32b8ca | 126 | * le pixel le plus à droite est le poids faible correspondant à la valeur 1 |
YSI | 0:1323ab32b8ca | 127 | * @returns aucun |
YSI | 0:1323ab32b8ca | 128 | */ |
YSI | 0:1323ab32b8ca | 129 | void define_caractere(char c, char l1, char l2, char l3, char l4, char l5, char l6, char l7, char l8); |
YSI | 4:18ab8489365f | 130 | |
YSI | 0:1323ab32b8ca | 131 | /** affiche la variable sur l'afficheur |
YSI | 4:18ab8489365f | 132 | * |
YSI | 6:02f5e2861a9b | 133 | * @param nb la variable à afficher |
YSI | 6:02f5e2861a9b | 134 | * @returns printf return |
YSI | 4:18ab8489365f | 135 | */ |
YSI | 6:02f5e2861a9b | 136 | int print(int nb); |
YSI | 6:02f5e2861a9b | 137 | int print(unsigned int nb); |
YSI | 6:02f5e2861a9b | 138 | int print(short nb); |
YSI | 6:02f5e2861a9b | 139 | int print(unsigned short nb); |
YSI | 6:02f5e2861a9b | 140 | int print(long long nb); |
YSI | 6:02f5e2861a9b | 141 | int print(unsigned long long nb); |
YSI | 6:02f5e2861a9b | 142 | int print(float nb); |
YSI | 6:02f5e2861a9b | 143 | int print(double nb); |
YSI | 6:02f5e2861a9b | 144 | int print(char c); |
YSI | 6:02f5e2861a9b | 145 | int print(char *s); |
YSI | 6:02f5e2861a9b | 146 | |
YSI | 6:02f5e2861a9b | 147 | /** affiche une chaine formaté sur l'afficheur |
YSI | 6:02f5e2861a9b | 148 | * |
YSI | 6:02f5e2861a9b | 149 | * @param format la chaine de format à afficher |
YSI | 6:02f5e2861a9b | 150 | * @param ... les arguments à afficher |
YSI | 6:02f5e2861a9b | 151 | * @returns printf return |
YSI | 6:02f5e2861a9b | 152 | */ |
YSI | 6:02f5e2861a9b | 153 | int print(const char *format, ... ); |
YSI | 0:1323ab32b8ca | 154 | |
YSI | 0:1323ab32b8ca | 155 | private : |
YSI | 0:1323ab32b8ca | 156 | void init(void); |
YSI | 5:291652c14402 | 157 | void putnc(char *s, int n); |
YSI | 0:1323ab32b8ca | 158 | void X_move_position(int n); |
YSI | 0:1323ab32b8ca | 159 | int X_position_cursor; |
YSI | 0:1323ab32b8ca | 160 | int Y_position_cursor; |
YSI | 0:1323ab32b8ca | 161 | }; |
YSI | 0:1323ab32b8ca | 162 | |
YSI | 0:1323ab32b8ca | 163 | #endif |