/* ============================================================================ */ /* Copyright (c) 2014, LEBEL SAS */ /* All rights reserved. */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* */ /* * Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* */ /* * Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in the */ /* documentation and/or other materials provided with the distribution. */ /* */ /* * Neither the name of LEBEL SAS nor the names of */ /* its contributors may be used to endorse or promote products derived */ /* from this software without specific prior written permission. */ /* */ /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" */ /* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, */ /* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ /* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR */ /* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, */ /* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, */ /* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; */ /* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, */ /* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR */ /* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */ /* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* ============================================================================ */ /******************************************************************** * * Graphic definitions for displays * * LEBEL SAS , Version 1.0 * * Rev. 1.0, Setup * ********************************************************************/ /*----------------------------------------------------------------------------*/ /* GRAPHIC ELEMENTS */ /*----------------------------------------------------------------------------*/ /************************************************************ * LEBEL logo 2x96x8 1x192x8 ************************************************************/ /*#define LOGO { // // // // #### ### ## ########### ### ########## ## ########### ### // #### ### ### ########### ### ########### ### ########### ### // #### ### ### ########### ### ########### ### ########### ### // #### ### ### ### ### ### ### // #### ### ############### ############### ############### ### // #### ### ############### ############### ############### ### // ### ### ### ### ### ### // ######### ### ########### ### ########### ### ########### ### ########### ### ########### // ######### ### ########### ### ########### ### ########### ### ########### ### ########### // ######### ## ########### ## ########### ### ########## ## ########### ## ########### // // // 0x00, 0x00, 0x08, 0x18, 0x38, 0x78, 0xF0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xF8, 0xF8, 0x80, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0x00, 0x00, 0xF8, 0xF8, 0xF8, 0x80, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xF8, 0xF8, 0xF0, 0x00, 0x00, 0xF0, 0xF8, 0xF8, 0x80, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0x00, 0x00, 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1D, 0x1D, 0x1D, 0x1D, 0x00, 0x0F, 0x1F, 0x1F, 0x00, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x00, 0x0F, 0x1F, 0x1F, 0x01, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x01, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1F, 0x1F, 0x0F, 0x00, 0x00, 0x0F, 0x1F, 0x1F, 0x01, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x00, 0x00, 0x0F, 0x1F, 0x1F, 0x00, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x00, 0x00, }*/ /*const unsigned char logolebel0 [] = { // // // // #### ### ## ########### ### ########## ## ########### ### // #### ### ### ########### ### ########### ### ########### ### // #### ### ### ########### ### ########### ### ########### ### // #### ### ### ### ### ### ### // #### ### ############### ############### ############### ### 0x00, 0x00, 0x08, 0x18, 0x38, 0x78, 0xF0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xF8, 0xF8, 0x80, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0x00, 0x00, 0xF8, 0xF8, 0xF8, 0x80, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xF8, 0xF8, 0xF0, 0x00, 0x00, 0xF0, 0xF8, 0xF8, 0x80, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0x00, 0x00, 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };*/ /*const unsigned char logolebel1 [] = { // #### ### ############### ############### ############### ### // ### ### ### ### ### ### // ######### ### ########### ### ########### ### ########### ### ########### ### ########### // ######### ### ########### ### ########### ### ########### ### ########### ### ########### // ######### ## ########### ## ########### ### ########## ## ########### ## ########### // // // 0x00, 0x00, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1D, 0x1D, 0x1D, 0x1D, 0x00, 0x0F, 0x1F, 0x1F, 0x00, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x00, 0x0F, 0x1F, 0x1F, 0x01, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x01, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1F, 0x1F, 0x0F, 0x00, 0x00, 0x0F, 0x1F, 0x1F, 0x01, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x00, 0x00, 0x0F, 0x1F, 0x1F, 0x00, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x00, 0x00, };*/ /************************************************************ * BARGRAPH ************************************************************/ /* const unsigned char upper_bargraph [] = { // ### ### # ### ### # ## ### # ## # ### #### // # # # # # # # # # # # # # # # # # // ### # # # ### # # # # ### # ### # ### # # // # # # # # # # # # # # # # # # # # // ### ### # ### ### # # ### # ### # ### # # // # # # # # # // # # # # #### // 0x15, 0x15, 0x1F, 0x00, 0x1F, 0x11, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x1D, 0x15, 0x17, 0x00, 0x1F, 0x11, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x02, 0x01, 0x1F, 0x00, 0x1D, 0x15, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x1E, 0x15, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x15, 0x15, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x41, 0x41, 0x7F, };*/ /*----------------------------------------------------------------------------*/ /* ALPHANUMERIC ELEMENTS IN ASCII TABLE */ /*----------------------------------------------------------------------------*/ // Table de 127 caracteres 8x8 pixels, dont les caracteres affichables ASCII standard // aux emplacements standard 0x20 à 0x7E // stockés en mémoire flash static const unsigned char ASCII[][8] = // declarée static ??? { // characters are defined as bitmaps // each byte is a column // b0 b1 b2 b3 b4 b5 b6 b7 hex char, LSB in top /************************************************************ * SYMBOLES NON ASCII 0x00 -> 0x1F ************************************************************/ { // 0x00 fleche haut // ## // #### // ###### // ######## // ## // ## // ## // ## 0x08, 0x0C, 0x0E, 0xFF, 0xFF, 0x0E, 0x0C, 0x08, }, { // 0x01 fleche bas // ## // ## // ## // ## // ######## // ###### // #### // ## 0x10, 0x30, 0x70, 0xFF, 0xFF, 0x70, 0x30, 0x10, }, { // 0x02 fleche gauche // # // ## // ### // ######## // ######## // ### // ## // # 0x18, 0x3C, 0x7E, 0xFF, 0x18, 0x18, 0x18, 0x18, }, { //0x03 fleche droite // # // ## // ### // ######## // ######## // ### // ## // # 0x18, 0x18, 0x18, 0x18, 0xFF, 0x7E, 0x3C, 0x18, }, { // 0x04 batterie full gauche // ######## // # // # # ### // # ## ### // # ### ## // # #### # // # // ######## 0xFF, 0x81, 0xBD, 0xB9, 0xB5, 0xAD, 0x9D, 0xB9, }, { // 0x05 batterie half gauche // ######## // # // # # // # ## // # ### // # #### // # // ######## 0xFF, 0x81, 0xBD, 0xB9, 0xB1, 0xA1, 0x81, 0x81, }, { // 0x06 batterie vide gauche // ######## // # // # // # // # // # // # // ######## 0xFF, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, }, { // 0x07 batterie vide droite // ###### // # // ### // # // # // ### // # // ###### 0x81, 0x81, 0x81, 0x81, 0x81, 0xE7, 0x24, 0x3C, }, { // 0x08 batterie half droite // ###### // # // ### // # // # # // ## ### // # // ###### 0xB1, 0xA1, 0x81, 0x81, 0x81, 0xE7, 0x24, 0x3C, }, { // 0x09 batterie full droite // ###### // # // #### ### // ### ### // # ## ### // ## # ### // # // ###### 0xB5, 0xAD, 0x9D, 0xBD, 0x81, 0xFF, 0x3C, 0x3C, }, { // 0x0A batterie vide // #### // ## ## // # # // # # // # # // # # // # # // ###### 0x00, 0xFE, 0x83, 0x81, 0x81, 0x83, 0xFE, 0x00, }, { // 0x0B batterie + // #### // ## ## // # # // # # // # # // # # // ###### // ###### 0x00, 0xFE, 0xC3, 0xC1, 0xC1, 0xC3, 0xFE, 0x00, }, { // 0x0C batterie ++ // #### // ## ## // # # // # # // # # // ###### // ###### // ###### 0x00, 0xFE, 0xE3, 0xE1, 0xE1, 0xE3, 0xFE, 0x00, }, { // 0x0D batterie +++ // #### // ## ## // # # // # # // ###### // ###### // ###### // ###### 0x00, 0xFE, 0xF3, 0xF1, 0xF1, 0xF3, 0xFE, 0x00, }, { // 0x0E batterie ++++ // #### // ## ## // # # // ###### // ###### // ###### // ###### // ###### 0x00, 0xFE, 0xFB, 0xF9, 0xF9, 0xFB, 0xFE, 0x00, }, { // 0x0F batterie +++++ // #### // ## ## // ###### // ###### // ###### // ###### // ###### // ###### 0x00, 0xFE, 0xFF, 0xFD, 0xFD, 0xFF, 0xFE, 0x00 }, { // 0x10 batterie pleine // #### // ###### // ###### // ###### // ###### // ###### // ###### // ###### 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, }, { // 0x11 seed // ### // ### // ### // ### // // ###### // ###### // 0x00, 0x61, 0x63, 0x67, 0x6E, 0x6C, 0x68, 0x00, }, { // 0x12 note noire // ## // ## // ## // ## // ## // #### // ##### // ### 0x00, 0x40, 0xE0, 0xE0, 0xFF, 0x7F, 0x00, 0x00, }, { // 0x13 note croche // ## // ### // #### // ## ## // ## // #### // ##### // #### 0x40, 0xE0, 0xE0, 0xFF, 0xFF, 0x06, 0x0C, 0x08, }, { // 0x14 balle droite // // // # ### // ###### // ###### // # ### // // 0x00, 0x3C, 0x18, 0x3C, 0x3C, 0x3C, 0x18, 0x00, }, { // 0x15 balle gauche // // // ### # // ###### // ###### // ### # // // 0x00, 0x18, 0x3C, 0x3C, 0x3C, 0x18, 0x3C, 0x00, }, { // 0x16 boule // // #### // ###### // ######## // ######## // ###### // #### // 0x18, 0x3C, 0x7E, 0x7E, 0x7E, 0x7E, 0x3C, 0x18, }, { // 0x17 boule creuse // // #### // ## ## // ## ## // ## ## // ## ## // #### // 0x18, 0x3C, 0x66, 0x42, 0x42, 0x66, 0x3C, 0x18, }, { // 0x18 fusee // # // ### // ### // ### // ### // ### // ##### // ## # ## 0x80, 0xC0, 0x7E, 0xFF, 0x7E, 0xC0, 0x80, 0x00, }, { // 0x19 explosion // # ## # // # ## # // # # // ## ## // ## ## // # # // # ## # // # ## # 0x99, 0x5A, 0x24, 0xC3, 0xC3, 0x24, 0x5A, 0x99, }, { // 0x1A barre horizontale // // // // ######## // ######## // // // 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, }, { // 0x1B barre oblique gauche // ## // ## // ## // ## // ## // ## // ### // ## 0x03, 0x07, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0xC0, }, { // 0x1C barre verticale // ## // ## // ## // ## // ## // ## // ## // ## 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, }, { // 0x1D barre oblique droite // ## // ### // ## // ## // ## // ## // ## // ## 0xC0, 0xE0, 0x30, 0x18, 0x0C, 0x06, 0x03, 0x03, }, { // 0x1E croix // ## // ## // ## // ######## // ######## // ## // ## // ## 0x18, 0x18, 0x18, 0xFF, 0xFF, 0x18, 0x18, 0x18, }, { // 0x1F croix gammee // ## ##### // ## ##### // ## ## // ######## // ######## // ## ## // ##### ## // ##### ## 0xDF, 0xDF, 0xD8, 0xFF, 0xFF, 0x1B, 0xFB, 0xFB, }, /************************************************************ * SYMBOLES ASCII ************************************************************/ { // 0x20 espace // // // // // // // // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }, { // 0x21 exclamation ! // ## // ## // ## // ## // ## // // ## // 0x00, 0x00, 0x00, 0x5F, 0x5F, 0x00, 0x00, 0x00, }, { // 0x22 guillemet " // ## ## // ## ## // ## ## // // // // // 0x00, 0x07, 0x07, 0x00, 0x07, 0x07, 0x00, 0x00, }, { // 0x23 diese # // ## ## // ## ## // ####### // ## ## // ####### // ## ## // ## ## // 0x14, 0x7F, 0x7F, 0x14, 0x7F, 0x7F, 0x14, 0x00, }, { // 0x24 dollar $ // ## // ##### // # ## // #### // ## # // ##### // ## // 0x00, 0x24, 0x2A, 0x7F, 0x7F, 0x2A, 0x12, 0x00, }, { // 0x25 pourcentage % // // ## ## // ## ## // ## // ## // ## ## // ## ## // 0x46, 0x66, 0x30, 0x18, 0x0C, 0x66, 0x62, 0x00, }, { // 0x26 et & // ### // ## ## // ### // ### ## // ## ### // ## ## // ### ## // 0x30, 0x7A, 0x4F, 0x5D, 0x37, 0x7A, 0x48, 0x00, }, { // 0x27 apostrophe ' // ## // ## // ## // // // // // 0x00, 0x00, 0x04, 0x07, 0x03, 0x00, 0x00, 0x00, }, { // 0x28 parenthese gauche ( // ## // ## // ## // ## // ## // ## // ## // 0x00, 0x00, 0x1C, 0x3E, 0x63, 0x41, 0x00, 0x00, }, { // 0x29 parenthese droite ) // ## // ## // ## // ## // ## // ## // ## // 0x00, 0x00, 0x41, 0x63, 0x3E, 0x1C, 0x00, 0x00, }, { // 0x2A etoile * // // ## ## // #### // ######## // #### // ## ## // // 0x08, 0x2A, 0x3E, 0x1C, 0x1C, 0x3E, 0x2A, 0x08, }, { // 0x2B plus + // // ## // ## // ###### // ## // ## // // 0x00, 0x08, 0x08, 0x3E, 0x3E, 0x08, 0x08, 0x00, }, { // 0x2C virgule , // // // // // // ## // ## // ## 0x00, 0x00, 0x80, 0xE0, 0x60, 0x00, 0x00, 0x00, }, { // 0x2D moins - // // // // ###### // // // // 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, }, { // 0x2E point . // // // // // // ## // ## // 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x00, }, { // 0x2F slash / // ## // ## // ## // ## // ## // ## // # // 0x60, 0x30, 0x18, 0x0C, 0x06, 0x03, 0x01, 0x00, }, /************************************************************ * CHIFFRES ************************************************************/ { // 0x30 zero 0 // ##### // ## ## // ## ### // ## # ## // ### ## // ## ## // ##### // 0x3E, 0x7F, 0x51, 0x49, 0x45, 0x7F, 0x3E, 0x00, }, { // 0x31 un 1 // ## // ### // ## // ## // ## // ## // ###### // 0x00, 0x40, 0x42, 0x7F, 0x7F, 0x40, 0x40, 0x00, }, { // 0x32 deux 2 // #### // ## ## // ## // #### // ## // ## ## // ###### // 0x00, 0x72, 0x7B, 0x49, 0x49, 0x6F, 0x66, 0x00, }, { // 0x33 trois 3 // #### // # ## // ## // ### // ## // ## ## // #### // 0x00, 0x22, 0x61, 0x49, 0x49, 0x7F, 0x36, 0x00, }, { // 0x34 quatre 4 // ## // ### // # ## // # ## // ####### // ## // #### // 0x18, 0x14, 0x52, 0x7F, 0x7F, 0x50, 0x10, 0x00, }, { // 0x35 cinq 5 // ###### // ## # // ## // #### // ## // ## ## // #### // 0x00, 0x27, 0x6F, 0x49, 0x49, 0x79, 0x33, 0x00, }, { // 0x36 six 6 // #### // ## ## // ## // ##### // ## ## // ## ## // #### // 0x00, 0x3E, 0x7F, 0x49, 0x49, 0x7B, 0x32, 0x00, }, { // 0x37 sept 7 // ###### // # ## // ## // ## // ## // ## // ## // 0x00, 0x03, 0x01, 0x71, 0x79, 0x0F, 0x07, 0x00, }, { // 0x38 huit 8 // #### // ## ## // ## ## // #### // ## ## // ## ## // #### // 0x00, 0x36, 0x7F, 0x49, 0x49, 0x7F, 0x36, 0x00, }, { // 0x39 neuf 9 // #### // ## ## // ## ## // ##### // ## // ## ## // #### // 0x00, 0x26, 0x6F, 0x49, 0x49, 0x7F, 0x3E, 0x00, }, { // 0x3A double point : // // // ## // ## // // ## // ## // 0x00, 0x00, 0x00, 0x6C, 0x6C, 0x00, 0x00, 0x00, }, { // 0x3B point virgule ; // // // ## // ## // // ## // ## // ## 0x00, 0x00, 0x80, 0xEC, 0x6C, 0x00, 0x00, 0x00, }, { // 0x3C inferieur < // ## // ## // ## // ## // ## // ## // ## // 0x00, 0x08, 0x1C, 0x36, 0x63, 0x41, 0x00, 0x00, }, { // 0x3D egale = // // // ###### // // // ###### // // 0x00, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x00, }, { // 0x3E superieur > // ## // ## // ## // ## // ## // ## // ## // 0x00, 0x41, 0x63, 0x36, 0x1C, 0x08, 0x00, 0x00, }, { // 0x3F point interrogation ? // #### // ## ## // ## // ## // ## // // ## // 0x00, 0x02, 0x03, 0x51, 0x59, 0x0F, 0x06, 0x00, }, { // 0x40 araubas @ // ##### // ## ## // ## #### // ## # ## // ## #### // ## // ##### // 0x3E, 0x7F, 0x41, 0x5D, 0x55, 0x5F, 0x1E, 0x00, }, /************************************************************ * LETTRES MAJUSCULES ************************************************************/ { // 0x41 A // ## // #### // ## ## // ## ## // ###### // ## ## // ## ## // 0x00, 0x7C, 0x7E, 0x13, 0x13, 0x7E, 0x7C, 0x00, }, { // 0x42 B // ###### // ## ## // ## ## // ##### // ## ## // ## ## // ###### // 0x41, 0x7F, 0x7F, 0x49, 0x49, 0x7F, 0x36, 0x00, }, { // 0x43 C // #### // ## ## // ## // ## // ## // ## ## // #### // 0x1C, 0x3E, 0x63, 0x41, 0x41, 0x63, 0x22, 0x00, }, { // 0x44 D // ##### // ## ## // ## ## // ## ## // ## ## // ## ## // ##### // 0x41, 0x7F, 0x7F, 0x41, 0x63, 0x3E, 0x1C, 0x00, }, { // 0x45 E // ####### // ## # // ## # // #### // ## # // ## # // ####### // 0x41, 0x7F, 0x7F, 0x49, 0x5D, 0x41, 0x63, 0x00, }, { // 0x46 F // ####### // ## # // ## # // #### // ## # // ## // #### // 0x41, 0x7F, 0x7F, 0x49, 0x1D, 0x01, 0x03, 0x00, }, { // 0x47 G // #### // ## ## // ## // ## // ## ### // ## ## // ###### // 0x3C, 0x7E, 0x43, 0x41, 0x51, 0x73, 0x72, 0x00, }, { // 0x48 H // ## ## // ## ## // ## ## // ###### // ## ## // ## ## // ## ## // 0x00, 0x7F, 0x7F, 0x08, 0x08, 0x7F, 0x7F, 0x00, }, { // 0x49 I // ###### // ## // ## // ## // ## // ## // ###### // 0x00, 0x41, 0x41, 0x7F, 0x7F, 0x41, 0x41, 0x00, }, { // 0x4A J // #### // ## // ## // ## // ## ## // ## ## // #### // 0x30, 0x70, 0x40, 0x41, 0x7F, 0x3F, 0x01, 0x00, }, { // 0x4B K // ### ## // ## ## // ## ## // #### // ## ## // ## ## // ### ## // 0x41, 0x7F, 0x7F, 0x08, 0x1C, 0x77, 0x63, 0x00, }, { // 0x4C L // #### // ## // ## // ## // ## # // ## ## // ####### // 0x41, 0x7F, 0x7F, 0x41, 0x40, 0x60, 0x70, 0x00, }, { // 0x4D M // ## ## // ### ### // ####### // ####### // ## # ## // ## ## // ## ## // 0x7F, 0x7F, 0x0E, 0x1C, 0x0E, 0x7F, 0x7F, 0x00, }, { // 0x4E N // ## ## // ### ## // #### ## // ## #### // ## ### // ## ## // ## ## // 0x7F, 0x7F, 0x06, 0x0C, 0x18, 0x7F, 0x7F, 0x00, }, { // 0x4F O // ### // ## ## // ## ## // ## ## // ## ## // ## ## // ### // 0x1C, 0x3E, 0x63, 0x41, 0x63, 0x3E, 0x1C, 0x00, }, { // 0x50 P // ###### // ## ## // ## ## // #### // ## // ## // #### // 0x41, 0x7F, 0x7F, 0x49, 0x09, 0x07, 0x06, 0x00, }, { // 0x51 Q // ### // ## ## // ## ## // ## ## // ## ## # // ## ## // ### ## // 0x3C, 0x7E, 0x43, 0x51, 0x33, 0x6E, 0x5C, 0x00, }, { // 0x52 R // ###### // ## ## // ## ## // ##### // ## ## // ## ## // ### # // 0x41, 0x7F, 0x7F, 0x09, 0x19, 0x3F, 0x66, 0x00, }, { // 0x53 S // #### // ## ## // ## // #### // ## // ## ## // #### // 0x00, 0x26, 0x6F, 0x49, 0x49, 0x7B, 0x32, 0x00, }, { // 0x54 T // ###### // # ## # // ## // ## // ## // ## // #### // 0x00, 0x03, 0x41, 0x7F, 0x7F, 0x41, 0x03, 0x00, }, { // 0x55 U // ## ## // ## ## // ## ## // ## ## // ## ## // ## ## // #### // 0x00, 0x3F, 0x7F, 0x40, 0x40, 0x7F, 0x3F, 0x00, }, { // 0x56 V // ## ## // ## ## // ## ## // ## ## // ## ## // #### // ## // 0x00, 0x1F, 0x3F, 0x60, 0x60, 0x3F, 0x1F, 0x00, }, { // 0x57 W // ## ## // ## ## // ## ## // ## # ## // ####### // ### ### // ## ## // 0x7F, 0x7F, 0x30, 0x18, 0x30, 0x7F, 0x7F, 0x00, }, { // 0x58 X // ## ## // ## ## // ### // ### // ## ## // ## ## // ## ## // 0x61, 0x73, 0x1E, 0x0C, 0x1E, 0x73, 0x61, 0x00, }, { // 0x59 Y // ## ## // ## ## // ## ## // #### // ## // ## // #### // 0x00, 0x07, 0x4F, 0x78, 0x78, 0x4F, 0x07, 0x00, }, { // 0x5A Z // ####### // ## ## // # ## // ## // ## # // ## ## // ####### // 0x47, 0x63, 0x71, 0x59, 0x4D, 0x67, 0x73, 0x00, }, /************************************************************/ { // 0x5B batterie full gauche // ######## // # // # # ### // # ## ### // # ### ## // # #### # // # // ######## 0xFF, 0x81, 0xBD, 0xB9, 0xB5, 0xAD, 0x9D, 0xB9, }, { // 0x5C batterie half gauche // ######## // # // # # // # ## // # ### // # #### // # // ######## 0xFF, 0x81, 0xBD, 0xB9, 0xB1, 0xA1, 0x81, 0x81, }, { // 0x5D batterie vide gauche // ######## // # // # // # // # // # // # // ######## 0xFF, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, }, { // 0x5E batterie vide droite // ###### // # // ### // # // # // ### // # // ###### 0x81, 0x81, 0x81, 0x81, 0x81, 0xE7, 0x24, 0x3C, }, { // 0x5F batterie half droite // ###### // # // ### // # // # # // ## ### // # // ###### 0xB1, 0xA1, 0x81, 0x81, 0x81, 0xE7, 0x24, 0x3C, }, { // 0x60 batterie full droite // ###### // # // #### ### // ### ### // # ## ### // ## # ### // # // ###### 0xB5, 0xAD, 0x9D, 0xBD, 0x81, 0xFF, 0x3C, 0x3C, }, /* { // 0x5B crochet gauche [ // #### // ## // ## // ## // ## // ## // #### // 0x00, 0x00, 0x7F, 0x7F, 0x41, 0x41, 0x00, 0x00, }, { // 0x5C anti slash \ // ## // ## // ## // ## // ## // ## // # // 0x01, 0x03, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x00, }, { // 0x5D crochet droit ] // #### // ## // ## // ## // ## // ## // #### // 0x00, 0x00, 0x41, 0x41, 0x7F, 0x7F, 0x00, 0x00, }, { //0x5E accent circonflexe // # // ### // ## ## // ## ## // // // // 0x08, 0x0C, 0x06, 0x03, 0x06, 0x0C, 0x08, 0x00, }, { //0x5F tiret bas // // // // // // // // ######## 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, }, { //0x60 accent grave // // ## // ## // ## // // // // 0x00, 0x00, 0x02, 0x06, 0x0C, 0x08, 0x00, 0x00, },*/ /************************************************************ * LETTRES MINUSCULES ************************************************************/ { // 0x61 a // // // #### // ## // ##### // ## ## // ### ## // 0x20, 0x74, 0x54, 0x54, 0x3C, 0x78, 0x40, 0x00, }, { // 0x62 b // ### // ### // ##### // ## ## // ## ## // ## ## // # #### // 0x43, 0x3F, 0x7F, 0x44, 0x44, 0x7C, 0x38, 0x00, }, { // 0x63 c // // // #### // ## ## // ## // ## ## // #### // 0x00, 0x38, 0x7C, 0x44, 0x44, 0x6C, 0x28, 0x00, }, { // 0x64 d // ### // ## // ##### // ## ## // ## ## // ## ## // ### ## // 0x38, 0x7C, 0x44, 0x45, 0x3F, 0x7F, 0x40, 0x00, }, { // 0x65 e // // // #### // ## ## // ###### // ## // #### // 0x00, 0x38, 0x7C, 0x54, 0x54, 0x5C, 0x18, 0x00, }, { // 0x66 f // ### // ## ## // ## // #### // ## // ## // #### // 0x00, 0x48, 0x7E, 0x7F, 0x49, 0x03, 0x02, 0x00, }, { // 0x67 g // // // ##### // ## ## // ## ## // ##### // ## // ##### 0x00, 0x98, 0xBC, 0xA4, 0xA4, 0xFC, 0x7C, 0x00, }, { // 0x68 h // ### // ## // ## ## // ### ## // ## ## // ## ## // ### ## // 0x41, 0x7F, 0x7F, 0x08, 0x04, 0x7C, 0x78, 0x00, }, { // 0x69 i // ## // // ### // ## // ## // ## // #### // 0x00, 0x00, 0x44, 0x7D, 0x7D, 0x40, 0x00, 0x00, }, { // 0x6A j // # // // ### // ## // ## // ## ## // ## ## // #### 0x00, 0x60, 0xE0, 0x80, 0x84, 0xFC, 0x7D, 0x00, }, { // 0x6B k // ### // ## // ## ## // ## ## // #### // ## ## // ### ## // 0x41, 0x7F, 0x7F, 0x10, 0x38, 0x6C, 0x44, 0x00, }, { // 0x6C l // ### // ## // ## // ## // ## // ## // #### // 0x00, 0x00, 0x41, 0x7F, 0x7F, 0x40, 0x00, 0x00, }, { // 0x6D m // // // ## ## // ####### // ## # ## // ## # ## // ## ## // 0x78, 0x7C, 0x0C, 0x38, 0x0C, 0x7C, 0x78, 0x00, }, { // 0x6E n // // // ## ## // ## ## // ## ## // ## ## // ## ## // 0x04, 0x7C, 0x78, 0x04, 0x04, 0x78, 0x78, 0x00, }, { // 0x6F o // // // #### // ## ## // ## ## // ## ## // #### // 0x00, 0x38, 0x7C, 0x44, 0x44, 0x7C, 0x38, 0x00, }, { // 0x70 p // // // ## ### // ## ## // ## ## // ##### // ## // #### 0x84, 0xFC, 0xF8, 0xA4, 0x24, 0x3C, 0x18, 0x00, }, { // 0x71 q // // // ### ## // ## ## // ## ## // ##### // ## // #### 0x18, 0x3C, 0x24, 0xA4, 0xF8, 0xFC, 0x84, 0x00 }, { // 0x72 r // // // ## ## // ## ## // ## // ## // #### // 0x44, 0x7C, 0x78, 0x44, 0x0C, 0x08, 0x00, 0x00 }, { // 0x73 s // // // #### // ## // #### // ## // ##### // 0x00, 0x48, 0x5C, 0x54, 0x54, 0x74, 0x20, 0x00 }, { // 0x74 t // ## // ## // ##### // ## // ## // ## ## // ### // 0x00, 0x04, 0x3F, 0x7F, 0x44, 0x64, 0x20, 0x00 }, { // 0x75 u // // // ## ## // ## ## // ## ## // ## ## // ##### // 0x00, 0x3C, 0x7C, 0x40, 0x40, 0x7C, 0x7C, 0x00 }, { // 0x76 v // // // ## ## // ## ## // ## ## // #### // ## // 0x00, 0x1C, 0x3C, 0x60, 0x60, 0x3C, 0x1C, 0x00 }, { // 0x77 w // // // ## ## // ## # ## // ## # ## // ####### // ## ## // 0x3C, 0x7C, 0x60, 0x38, 0x60, 0x7C, 0x3C, 0x00 }, { // 0x78 x // // // ## ## // ## ## // ### // ## ## // ## ## // 0x44, 0x6C, 0x38, 0x10, 0x38, 0x6C, 0x44, 0x00 }, { // 0x79 y // // // ## ## // ## ## // ## ## // ##### // ## // ##### 0x00, 0x9C, 0xBC, 0xA0, 0xA0, 0xFC, 0x7C, 0x00 }, { // 0x7A z // // ###### // # ## // ## // ## // ###### // // 0x00, 0x26, 0x32, 0x3A, 0x2E, 0x26, 0x22, 0x00 }, /************************************************************/ { //0x7B bracket gauche // ### // ## // ## // ### // ## // ## // ### // 0x00, 0x08, 0x08, 0x3E, 0x77, 0x41, 0x41, 0x00 }, { //0x7C barre verticale // ## // ## // ## // ## // ## // ## // ## // 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x00, 0x00, 0x00 }, { //0x7D bracket droite // ### // ## // ## // ### // ## // ## // ### // 0x00, 0x41, 0x41, 0x77, 0x3E, 0x08, 0x08, 0x00 }, { //0x7E tilde // ### ## // ## ## // // // // // // 0x02, 0x03, 0x01, 0x03, 0x02, 0x01, 0x01, 0x00 } }; // Table de 50 caracteres 8x8 pixels, servant a afficher le timecode // stockés en mémoire flash static const unsigned char TC[][10] = // declarée static ??? { // characters are defined as bitmaps // each byte is a column // b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 hex char, LSB in top /************************************************************ * SYMBOLES CHIFFRE 16x16 = 2 caractères de 10x8 **************************************************/ { // 00 0 up // ##### // ####### // ### ### // ## ## // ## ## // ## ## // ## ## // ## ## 0xFC, 0xFE, 0x07, 0x03, 0x03, 0x03, 0x07, 0xFE, 0xFC, 0x00, }, { // 01 0 down // ## ## // ## ## // ## ## // ## ## // ## ## // ### ### // ####### // ##### 0x3F, 0x7F, 0xE0, 0xC0, 0xC0, 0xC0, 0xE0, 0x7F, 0x3F, 0x00, }, { // 02 1 up // ### // #### // ##### // ### ## // ## ## // ## // ## // ## 0x18, 0x1C, 0x0E, 0x07, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, }, { // 03 1 down // ## // ## // ## // ## // ## // ## // ######## // ######## 0x00, 0xC0, 0xC0, 0xC0, 0xFF, 0xFF, 0xC0, 0xC0, 0xC0, 0x00, }, { // 04 2 up // ##### // ####### // ## ## // ## ## // ## ## // ## ## // ## // ### 0x38, 0x3E, 0x07, 0x03, 0x03, 0x03, 0x87, 0xFE, 0xF8, 0x00, }, { // 05 2 down // ### // ### // ### // ### // ### // ### // ######### // ######### 0xE0, 0xF0, 0xF8, 0xDC, 0xCE, 0xC7, 0xC3, 0xC1, 0xC0, 0x00, }, { // 06 3 up // #### // ####### // ### ### // ## ### // ## // ### // ### // #### 0x0C, 0x0E, 0x07, 0x83, 0x83, 0xC7, 0xEE, 0x7E, 0x38, 0x00, }, { // 07 3 down // #### // ### // ### // ## // ## ### // ### ### // ####### // #### 0x30, 0x70, 0xE0, 0xC1, 0xC1, 0xE3, 0x77, 0x7E, 0x1C, 0x00, }, { // 08 4 up // ## // ### // #### // ##### // ### ## // ### ## // ## ## // ## ## 0xE0, 0xF0, 0x38, 0x1C, 0x0E, 0xFF, 0xFF, 0x00, 0x00, 0x00, }, { // 09 4 down // ## ## // ######### // ######### // ## // ## // ## // ## // ## 0x07, 0x07, 0x06, 0x06, 0x06, 0xFF, 0xFF, 0x06, 0x06, 0x00, }, { // 10 5 up // ######### // ######### // ## // ## // ## // ## // ###### // ######## 0xFF, 0xFF, 0xC3, 0xC3, 0xC3, 0xC3, 0x83, 0x83, 0x03, 0x00, }, { // 11 5 down // ### // ## // ## // ## // ## // #### // ######## // ###### 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xE0, 0x61, 0x7F, 0x3F, 0x00, }, { // 12 6 up // ##### // ####### // ## ### // ### ## // ## // ## // ## // ####### 0xF8, 0xFE, 0x8F, 0x83, 0x83, 0x83, 0x87, 0x0E, 0x0C, 0x00, }, { // 13 6 down // ######## // ### ### // ## ## // ## ## // ## ## // ### ### // ####### // ##### 0x3F, 0x7F, 0xE3, 0xC1, 0xC1, 0xC1, 0xE3, 0x7F, 0x3E, 0x00, }, { // 14 7 up // ######### // ######### // ## // ### // ### // ### // ###### // ###### 0x03, 0x03, 0xC3, 0xC3, 0xE3, 0xF3, 0xFB, 0xDF, 0x0F, 0x00, }, { // 15 7 down // ## // ## // ## // ## // ## // ## // ## // ## 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, }, { // 16 8 up // ##### // ####### // ### ### // ## ## // ## ## // ## ## // ##### // ####### 0x1C, 0xBE, 0xE7, 0xC3, 0xC3, 0xC3, 0xE7, 0xBE, 0x1C, 0x00, }, { // 17 8 down // ### ### // ## ## // ## ## // ## ## // ## ## // ### ### // ####### // ##### 0x3F, 0x7F, 0xE1, 0xC0, 0xC0, 0xC0, 0xE1, 0x7F, 0x3F, 0x00, }, { // 18 9 up // ##### // ####### // ### ### // ## ## // ## ## // ## ## // ### ### // ######## 0x7C, 0xFE, 0xC7, 0x83, 0x83, 0x83, 0xC7, 0xFE, 0xFC, 0x00, }, { // 19 9 down // ####### // ## // ## // ## // ## ### // ## ### // ##### // ### 0x10, 0x30, 0x61, 0xC1, 0xC1, 0xE1, 0x71, 0x3F, 0x1F, 0x00, }, { // 20 double dot up 4x8 // // // // // # // # // // 0x00, 0x30, 0x00, 0x00, }, { // 21 double dot down 4x8 // // // # // # // // // // 0x00, 0x0C, 0x00, 0x00, }, { // 22 coma up 4x8 // // // # // # // # // # // # // # 0x00, 0xFC, 0x00, 0x00, }, { // 23 coma down 4x8 // # // # // # // # // # // # // // 0x00, 0x3F, 0x00, 0x00, }, { // 24 X up // ## ## // ## ## // ## ## // ## ## // ## ## // ## ## // ### // ### 0x03, 0x0F, 0x3C, 0xF0, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0x00, }, { // 25 X down // ### // ### // ## ## // ## ## // ## ## // ## ## // ## ## // ## ## 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0x0F, 0x3C, 0xF0, 0xC0, 0x00, }, { // 26 NULL // // // // // // // // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, } }; /************************************************************ * End of Modules ************************************************************/