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

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?

UserRevisionLine numberNew 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