Probleme-daffichage-de-police-scrolle-texte-rainbow

Bonjour les ami(e)s , Je suis Tunisien développeur Arduino !!!
j'ai un souci de faire démarrer un petit programme de defillement
de texte Rainbow horizentalement et verticalement et d'autre effet
j'ai un probleme d'affichage, j'ai realiser un teste sur simulateur
proteus et je n'arrive pas a resoudre le probleme

#include "FastLED.h"
#include "fontstuff.h"  //https://github.com/ChuckM/bb-lcd/blob/master/font-5x7.c
#include <EEPROM.h>
#include <stdio.h>
#include <string.h>
//###############################################
// How many leds in your strip?
#define NUM_LEDS 295
#define TYPE_LEDS WS2812
#define COLOR_ORDER GRB
#define DATA_PIN 8
#define Brightness 240
// Define the array of leds
CRGB leds[NUM_LEDS];
CRGB tmpleds[295];
//###############################################
char NewText[128] = {0};
char TheText[128] = {0};
int TheStyle = 0;
int TheColor = 1;
int Busy = 0;
int i;
//###############################################
// This will get populated automatically in setup():
int matrix[7][42] = {0};
// For "random" fades:
int rndorder[NUM_LEDS] = {0};
int rsort(const void *a, const void *b) {
return random(0,2);
}
//###############################################
void setup() { 
// Set up our dot matrix:
// Our matrix is zig-zagged bottom to top, starting right-to-left :)
// So each of 7 rows of 42 alternate direction.......
for(i=0;i<42;i++) {
  matrix[0][i]   = 294 - i;// Top row    == 294 - 253
  matrix[1][i]   = 211 + i;// Second row == 211 - 252
  matrix[2][i]   = 210 - i;// Third row  == 169 - 210
  matrix[3][i]   = 127 + i;// Forth row  == 127 - 168
  matrix[4][i]   = 126 - i;// Fifth row  == 85  - 126
  matrix[5][i]   =  43 + i;// Sixth row  == 43  -  84
  matrix[6][i]   =  42 - i;// Last row   == 42  -   1
}
for(i=1;i<NUM_LEDS;i++) rndorder[i] = i;
qsort(rndorder + 1, NUM_LEDS-1, sizeof(int), rsort);
FastLED.addLeds<TYPE_LEDS, DATA_PIN, COLOR_ORDER>(leds, NUM_LEDS);
// Go blank while we get connected:
//FastLED.setMaxPowerInVoltsAndMilliamps(5, 1800);
//FastLED.setCorrection(0xFF7F4F);
//FastLED.clear(true);
FastLED.setBrightness(Brightness);
}
//###############################################
/*
 * Colors:
 * 0  White
 * 1  Red
 * 2  Yellow
 * 3  Green
 * 4  Cyan
 * 5  Blue
 * 6  Magenta
 * 7  Rainbow
 * 8  Random ("sparkle" or "unicorn")
 * 
 * Speed:
 * - VScroll - lower number = faster speed
 * - HScroll - milliseconds to hold on screen before scrolling off
 * - Blink - milliseconds for each on and off portion
 */

// Just print text in the specified color using the offsets:
// fadein = 1: Fade new text in crossfade-style
// fadein = 2: Fade new text in disolve-style (random dots)
void mPrint(char *txt, int color = 0, int hOffset = 0, int vOffset = 0,
  int fadein = 0, unsigned long bgcolor = 0);

// Helper function to print a character WITHOUT clearing or
// writing to the LEDs:
void mPrintChar(char c, int color = 0, int offset = 0, unsigned long bgcolor = 0);

// "Swipe" in each character of *txt from right to left at given color:
void mPrintSwipe(char *txt, int color = 0, int Speed = 10, unsigned long bgcolor = 0);

// Horizontal scroll, speed controlled by delay time (Speed):
//
// onscreen:
// 0 = start & end past screen edges
// 1 = end fully on screen
// 2 = start/end fully on screen
//
// 0 = début et fin après les bords de l'écran
// 1 = fin entièrement à l'écran
// 2 = début/fin entièrement à l'écran
//
// fadein:
// 0 = no fade effect
// 1 = crossfade in
// 2 = random fade in
// ONLY works if onscreen = 2
//
// 0 = pas d'effet de fondu
// 1 = fondu enchaîné
// 2 = fondu aléatoire
// Fonctionne UNIQUEMENT si à l'écran = 2
//
// blinkout:
// 0 = no blink
// 1 = blink last 7 chars n times
// ONLY works if onscreen > 0
//
// 0 = pas de clignotement
// 1 = clignoter les 7 derniers caractères nbre fois
// Fonctionne UNIQUEMENT si à l'écran > 0
void mPrintHScroll(char *txt, int color = 0, int Speed = 20, int onscreen = 0,
  int fadein = 0, int blinkout = 0, unsigned long bgcolor = 0);

// One line of text swiping UP or DOWN:
// Speed = how long to wait before scrolling off
// stayon == don't scroll off (Speed is ignored)
//
// Une ligne de texte balayant vers le HAUT ou vers le BAS :
// Vitesse = combien de temps attendre avant de défiler
// stayon == ne défile pas (la vitesse est ignorée)
void mPrintVScroll(char *txt, int color = 0, int down = 0, int Speed = 2000,
  int stayon = 0, unsigned long bgcolor = 0);

// Simple blink text function:
void mPrintBlink(char *txt, int color = 0, int times = 4, int Speed = 250,
  unsigned long bgcolor = 0);

// Wipe text in left to right (or RTL):
void mPrintWipe(char *txt, int color, int rtl = 0, unsigned long bgcolor = 0);

// Just fade out whatever's on the screen by (approx) n milliseconds (minimum 200)
void mFadeOut(int n = 500);

// Fire effect...
void mFire(int howlong);
//
void loop() { 
//#####################################################
  mPrint("Scrolling Texte", 7);delay(1000);
  mPrintHScroll("Bonjour Tous le monde", 4, 10, 1);delay(1000);
  mPrintVScroll("Matrix led 5x7", 2, 0, 0, 1);delay(1500);
  FastLED.clear();
  mPrintChar(252, 4, 0);
  mPrintChar(253, 4, 6);
  mPrint(" Like", 0, 12);delay(1500);
  FastLED.clear();
  mPrintChar(250, 0, 0);
  mPrintChar(251, 0, 6);
  mPrint(" Cmnt", 2, 12);delay(1500);
  FastLED.clear();
  mPrintChar(254, 1, 0);
  mPrintChar(255, 1, 6);
  mPrintChar('&', 0, 15);
  mPrint("Sub", 1, 24);delay(2000);
  mPrintVScroll("  On...", 2, 0, 0, 1, 0x140000);
  mPrintVScroll("YouTube", 0, 0, 0, 1, 0x140000);
  mPrintBlink("YouTube", 0, 4, 250, 0x140000);delay(1000);
  FastLED.clear(true);
  mPrintVScroll("WS2812B", 7, 0, 0, 1);delay(2000);
  mPrintVScroll("  LED", 2, 1, 0, 1);delay(1000);
  mPrintWipe(" Strip", 3, 0);delay(1000);
  mPrintSwipe("Becomes", 6);
  mFadeOut(1000);
  mPrintHScroll("A fully functional, full-colored Scrolling Marquee", 7, 15, 1);delay(1000);
  mPrint("7 Chars", 0, 0, 0, 1);delay(1000);
  mPrintWipe("5x7 Pix", 5, 0, 0x101000);delay(1000);
  mPrintWipe("294 LED", 3, 1, 0x100010);delay(1000);
  mPrintVScroll(" Array", 2, 0, 0, 1, 0x101020);delay(1000);
  mPrint("Named..", 0, 0, 0, 2);delay(1000);  
}
//#####################################################
void mPrint(char *inText, int color, int hOffset, int vOffset, int fadein, unsigned long bgcolor) {
  int i,k,f;
  int n = 0;
  int rb = 0; // Rainbow
  int rc = 0; // Random Color
  int r, g, b;
  int len;
  char *txt;
  len = strlen(inText);
  if (len < 7) {
    txt = (char *) malloc(8);
    strcpy(txt, inText);
    while (len < 7) txt[len++] = ' ';
    txt[len] = 0;
  } else {
    txt = inText;
  }
  if (color <= 0 || color > 8) {
    color = -1;
  } else if (color == 7) {
    rb = 1;
    color = 0;
  } else if (color == 8) {
    rc = 1;
  } else {
    color = (color - 1) * 128;
  }
  // Wipe the buffer!
  if(fadein > 0) memset(tmpleds, 0, NUM_LEDS * sizeof(CRGB));
  while (txt[n]) {
    for (i = n == 0 ? -1 : 0; i < 6; i++) {
      for (k = 0; k < 7; k++) {
        // Shit-ton of validation:
        if (i + n * 6 + hOffset < 42 &&
            i + n * 6 + hOffset >= 0 &&
            k + vOffset >= 0 &&
            k + vOffset < 7) {
          if (i >= 0 && FONT_BIT((int)txt[n], i, 7 - k)) {
            // Trying something different (and maybe cool!):
            if (rc) color = random(0, 768);
            if (color == -1 && !rb) {
              r = g = b = 85;
            } else {
              r = (color + 255) % 768;
              if (r > 511) r = 0;
              if (r > 255) r = 511 - r;
              g = (color +   0) % 768;
              if (g > 511) g = 0;
              if (g > 255) g = 511 - g;
              b = (color + 511) % 768;
              if (b > 511) b = 0;
              if (b > 255) b = 511 - b;
            }
          } else {
            r = (bgcolor >> 16) & 0xFF;
            g = (bgcolor >>  8) & 0xFF;
            b = bgcolor & 0xFF;
          }
          if (fadein > 0) {
            tmpleds[matrix[k + vOffset][i + n * 6 + hOffset]].r = r;
            tmpleds[matrix[k + vOffset][i + n * 6 + hOffset]].g = g;
            tmpleds[matrix[k + vOffset][i + n * 6 + hOffset]].b = b;
          } else {
            leds[matrix[k + vOffset][i + n * 6 + hOffset]].r = r;
            leds[matrix[k + vOffset][i + n * 6 + hOffset]].g = g;
            leds[matrix[k + vOffset][i + n * 6 + hOffset]].b = b;
          }
        }
      }
      if (rb) color += 16;
    }
    n++;
  }
  if (fadein == 2) {
    // Re-sort (randomize) the random numbers each time:
    qsort(rndorder + 1, NUM_LEDS-1, sizeof(int), rsort);
    for (f = 1; f < NUM_LEDS; f++) {
      leds[rndorder[f]].r = tmpleds[rndorder[f]].r;
      leds[rndorder[f]].g = tmpleds[rndorder[f]].g;
      leds[rndorder[f]].b = tmpleds[rndorder[f]].b;
      if (f % 8 == 0) {
        FastLED.show();
        delay(5);
      }
    }
    memcpy(leds, tmpleds, NUM_LEDS * sizeof(CRGB));
  } else if (fadein == 1) {
    // Crossfade:
    for (i = 0; i < 30; i++) {
      for (f = 1; f < NUM_LEDS; f++) {
        leds[f].r = leds[f].r * 7 / 8 + tmpleds[f].r / 8;
        leds[f].g = leds[f].g * 7 / 8 + tmpleds[f].g / 8;
        leds[f].b = leds[f].b * 7 / 8 + tmpleds[f].b / 8;
      }
      FastLED.show();
      delay(20);
    }
    memcpy(leds, tmpleds, NUM_LEDS * sizeof(CRGB));
  }
  FastLED.show();
}
//#####################################################
void mPrintHScroll(char *txt, int color, int Speed, int onscreen, int fadein, int blinkout, unsigned long bgcolor) {
  int i,k;
  int len;
  int st, en;
  len = strlen(txt);
  if (onscreen == 0 || onscreen > 2) {
    st = 42;
    en = len * 6;
    fadein = 0;
    blinkout = 0;
  } else if (onscreen == 1) {
    // Start off screen, end at last 7 chars:
    st = 42;
    en = len * 6 - 42;
    fadein = 0;
  } else if (onscreen == 2) {
    // Start on screen, end on screen
    st = 0;
    en = len * 6 - 42;
  }
  mPrint(txt, color, st, 0, fadein, bgcolor);
  if (!fadein && onscreen == 2) delay(500);
  // Deal with leading spaces at the end:
  while(onscreen > 0 && len > en/6 && txt[en/6] == ' ') en += 6;
  for (i = st - 1; i > -en; i--) {
    mPrint(txt, color, i, 0, 0, bgcolor);
    delay(Speed);
  }
  // Blink:
  if (blinkout) {
    for (k = 0; k < 4; k++) {
      delay(250);
      FastLED.clear(true);
      delay(250);
      mPrint(txt, color, i, 0, 0, bgcolor);
    }
  } else if (onscreen == 0) {
    FastLED.clear(true);
  }
}
//#####################################################
void mPrintVScroll(char *inText, int color, int down, int Speed, int stayon, unsigned long bgcolor) {
  int i, f;
  int len;   
  char txt[8] = {0};
  len = strlen(inText);
  if (len > 7) len = 7;
  strncpy(txt, inText, len);
  // Space pad:
  while (len < 7) {
    txt[len] = ' ';
    txt[++len] = 0;
  }
  if (down > 0) {
    for (i = -7; i <= 0; i++) {
      // First shift up existing dots:
      for(f = NUM_LEDS-43; f > 42; f--) {
        leds[matrix[f/42][f%42]] = leds[matrix[f/42-1][f%42]];
      }
      for(;f>=0;f--) {leds[matrix[f/42][f%42]] = 0;}
      mPrint(txt, color, 0, i, 0, bgcolor);
      delay(40);
    }
    if (stayon == 0) {
      if (Speed) delay(Speed);
      for (i = 1; i < 7; i++) {
        FastLED.clear();
        mPrint(txt, color, 0, i, 0, bgcolor);
        delay(40);
      }
    }
  } else {
    for (i = 7; i >= 0; i--) {
      // First shift up existing dots:
      for(f = 0; f < NUM_LEDS-43; f++) {
        leds[matrix[f/42][f%42]] = leds[matrix[f/42+1][f%42]];
      }
      for(;f<NUM_LEDS-1;f++) {
      leds[matrix[f/42][f%42]] = 0;}
      mPrint(txt, color, 0, i, 0, bgcolor);
      delay(40);
    }
    if (stayon == 0) {
      if (Speed) delay(Speed);
      for (i = -1; i > -7; i--) {
        FastLED.clear();
        mPrint(txt, color, 0, i, 0, bgcolor);
        delay(40);
      }
    }
  }
  if (stayon == 0) FastLED.clear(true);
}
//#####################################################
void mFadeOut(int n) {
  int i,k;
  if (n < 200) n = 200;
  if (n > 10000) n = 10000;
  for (k = 0; k < 30; k++) {
    for (i = 0; i < NUM_LEDS; i++) {
      leds[i].r = leds[i].r * 7 / 8;
      leds[i].g = leds[i].g * 7 / 8;
      leds[i].b = leds[i].b * 7 / 8;
    }
    FastLED.show();
    delay(n / 30);
  }
  FastLED.clear(true);
}
//#####################################################
void mPrintWipe(char *inText, int color, int rtl, unsigned long bgcolor) {
  int n,i,k;
  int rb = 0;
  int r, g, b;
  char txt[8] = {0};
  int len;
  len = strlen(inText);
  if (len > 7) len = 7;
  strncpy(txt, inText, len);
  txt[len] = 0;
  // Space pad:
  while (len < 7) {
    txt[len] = ' ';
    txt[++len] = 0;
  }
  if (color <= 0 || color > 7) {
    color = -1;
  } else if (color == 7) {
    rb = 1;
    color = 0;
  } else {
    color = (color - 1) * 128;
  }
  // Swipe each column of each letter in Right-to-Left:
  if (rtl == 0) {
    for (n = 0; n < len; n++) {
      // Each column:
      for (i = 0; i < 6; i++) {
        for (k = 0; k < 7; k++) {
          if (FONT_BIT((int)txt[n], i, 7 - k)) {
            if (color == -1 && !rb) {
              r = g = b = 85;
            } else {
              r = (color + 255) % 768;
              if (r > 511) r = 0;
              if (r > 255) r = 511 - r;
              g = (color +   0) % 768;
              if (g > 511) g = 0;
              if (g > 255) g = 511 - g;
              b = (color + 511) % 768;
              if (b > 511) b = 0;
              if (b > 255) b = 511 - b;
            }
          } else {
            r = g = b = 0;
          }
          leds[matrix[k][i + n * 6]].r = r;
          leds[matrix[k][i + n * 6]].g = g;
          leds[matrix[k][i + n * 6]].b = b;
        }
        FastLED.show();
        delay(3);
        if (rb) color += 17;
      }
    }
  } else {
    // Right-to-Left
    for (n = len - 1; n >= 0; n--) {
      // Each column:
      for (i = 5; i >= 0; i--) {
        for (k = 0; k < 7; k++) {
          if (FONT_BIT((int)txt[n], i, 7 - k)) {
            if (color == -1 && !rb) {
              r = g = b = 85;
            } else {
              r = (color + 255) % 768;
              if (r > 511) r = 0;
              if (r > 255) r = 511 - r;
              g = (color +   0) % 768;
              if (g > 511) g = 0;
              if (g > 255) g = 511 - g;
              b = (color + 511) % 768;
              if (b > 511) b = 0;
              if (b > 255) b = 511 - b;
            }
          } else {
            r = g = b = 0;
          }
          leds[matrix[k][i + n * 6]].r = r;
          leds[matrix[k][i + n * 6]].g = g;
          leds[matrix[k][i + n * 6]].b = b;
        }
        FastLED.show();
        delay(3);
        if (rb) color += 17;
      }
    }
  }
}
//#####################################################
void mPrintChar(char c, int color, int offset, unsigned long bgcolor) {
  int i,k;
  int r, g, b;
  if (color < 0 || color > 6) {
    color = -1; // Just for internal use
  } else {
    color = (color - 1) * 128;
  }
  for (i = 0; i < 7; i++) {
    for (k = 0; k < 7; k++) {
      if (i + offset < 42 && i + offset >= 0) {
        if (FONT_BIT((int)c, i, 7 - k)) {
          if (color < 0) {
            r = g = b = 84;
          } else {
            r = (color + 255) % 768;
            if (r > 511) r = 0;
            if (r > 255) r = 511 - r;
            g = (color +   0) % 768;
            if (g > 511) g = 0;
            if (g > 255) g = 511 - g;
            b = (color + 511) % 768;
            if (b > 511) b = 0;
            if (b > 255) b = 511 - b;
          }
        } else {
            r = (bgcolor >> 16) & 0xFF;
            g = (bgcolor >>  8) & 0xFF;
            b = bgcolor & 0xFF;
        }
        leds[matrix[k][i + offset]].r = r;
        leds[matrix[k][i + offset]].g = g;
        leds[matrix[k][i + offset]].b = b;
      }
    }
  }
}
//#####################################################
void mPrintSwipe(char *inText, int color, int Speed, unsigned long bgcolor) {
  int i,k;
  int rb = 0;
  int r, g, b;
  char txt[8] = {0};
  int len;
  len = strlen(inText);
  if (len > 7) len = 7;
  strncpy(txt, inText, len);
  txt[len] = 0;
  if (color <= 0 || color > 7) {
    color = 0;
  } else if (color == 7) {
    rb = 1;
    color = 0;
  }
  for (i = 0; i < 7; i++) {
    // For each character:
    for (k = 42; k >= i * 6; k--) {
      mPrintChar(txt[i], rb ? color + i + 1 : color, k, bgcolor);
      FastLED.show();
      delay(Speed);
    }
  }
}
//#####################################################
void mPrintBlink(char *inText, int color, int times, int Speed, unsigned long bgcolor) {
  int i;
  char txt[8] = {0};
  int len;
  len = strlen(inText);
  if (len > 7) len = 7;
  strncpy(txt, inText, len);
  txt[len] = 0;
  for (i = 0; i < times - 1; i++) {
    mPrint(txt, color, 0, 0, 0, bgcolor);
    delay(Speed);
    FastLED.clear(true);
    delay(Speed);
  }
  mPrint(txt, color, 0, 0, 0, bgcolor);
}
//#####################################################
void mFire(int howlong) {
  long i, k;
  static long flevel[46] = {0};
  long hl;
  FastLED.clear(false);
  for (hl = 0; hl < howlong * 10; hl++) {
    for (i = 0; i < 46; i++) {
      // First, drop each point by 5%:
      flevel[i] = flevel[i] * 998 / 1000;
      // Next, add random spikes:
      if (i > 0 && i < 45 && random(0, 20) == 1) flevel[i] += random(0, 256 - flevel[i]);
    }
    long flevel2[46] = {0};
    for (i = 1; i < 45; i++) {
      flevel2[i] = (flevel[i] / 2 + flevel[i - 1] / 4 + flevel[i + 1] / 4);
    }
    for (i = 1; i < 45; i++) {
      flevel[i] = (flevel2[i] / 2 + flevel2[i - 1] / 4 + flevel2[i + 1] / 4);
    }
    // Now display:
    for (i = 2; i < 44; i++) {
      long ll = flevel[i] +
                flevel[i - 1] / 2 + flevel[i + 1] / 2 +
                flevel[i - 2] / 3 + flevel[i + 2] / 3;
      for (k = 0; k < 7; k++) {
        // Now let's light it up!
        long r, g; // Colors
        // Amount of red:
        r = ll / 2 - (7 - k) * 30;
        // Amount of green:
        g = ll / 3 - (7 - k) * 50;
        if (r < 0) r = 0; if (r > 255) r = 255;
        if (g < 0) g = 0; if (g > 255) g = 255;
        leds[matrix[k][i - 2]].r = r;
        leds[matrix[k][i - 2]].g = g / 2;
      }
    }
    FastLED.show();
    delay(35);
  }
}
//#################### END ######################

Fichier font fontstuff.h
/*
 * Below was copied from:
 * 
 * https://github.com/ChuckM/bb-lcd/blob/master/font-5x7.c
 * 
 * Then modified. Specifically:
 * - Added the c*5 part, to reference the correct character
 * - Modified the lower-case letters 'g', 'p', 'q' and 'y'
 *   to look better (IMO)
 * - Probably some other stuff :)
 * 
 * Thanks goes to Chuck McManis and to all at github!
 * This saved me a TON of time and work...
 */
 
/*
 * 5 x 7 ASCII font.
 *
 * Each byte here has one "column" of the character
 * This minimizes the number of wasted bits (rather
 * than 7 bytes of 5 bit 'lines' it is 5 bytes of
 * 7 bit 'columns'.
 */

#define FONT_CHAR_HEIGHT 7
#define FONT_CHAR_WIDTH 5

/* Generic to compute font bit on/off for this font */
#define FONT_BIT(c, column, row) \
  ((font_data[(column)>5?0:(c*6)+(column)] & 1<<(7-(row))) != 0)

static const unsigned char font_data[] = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x00 (nul)
  0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, // 0x01 (soh)
  0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, // 0x02 (stx)
  0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, // 0x03 (etx)
  0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, // 0x04 (eot)
  0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, // 0x05 (enq)
  0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, // 0x06 (ack)
  0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, // 0x07 (bel)
  0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, // 0x08 (bs)
  0x00, 0x18, 0x24, 0x18, 0x00, 0x00, // 0x09 (tab)
  0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, // 0x0A (lf)
  0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, // 0x0B (vt)
  0x26, 0x29, 0x79, 0x29, 0x26, 0x00, // 0x0C (np)
  0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, // 0x0D (cr)
  0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, // 0x0E (so)
  0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, // 0x0F (si)
  0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, // 0x10 (dle)
  0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, // 0x11 (dc1)
  0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, // 0x12 (dc2)
  0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, // 0x13 (dc3)
  0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, // 0x14 (dc4)
  0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, // 0x15 (nak)
  0x60, 0x60, 0x60, 0x60, 0x60, 0x00, // 0x16 (syn)
  0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, // 0x17 (etb)
  0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, // 0x18 (can)
  0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, // 0x19 (em)
  0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, // 0x1A (eof)
  0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, // 0x1B (esc)
  0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, // 0x1C (fs)
  0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, // 0x1D (gs)
  0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, // 0x1E (rs)
  0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, // 0x1F (us)
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20
  0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, // 0x21 !
  0x00, 0x07, 0x00, 0x07, 0x00, 0x00, // 0x22 "
  0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, // 0x23 #
  0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, // 0x24 $
  0x23, 0x13, 0x08, 0x64, 0x62, 0x00, // 0x25 %
  0x36, 0x49, 0x56, 0x20, 0x50, 0x00, // 0x26 &
  0x00, 0x08, 0x07, 0x03, 0x00, 0x00, // 0x27 '
  0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, // 0x28 (
  0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, // 0x29 )
  0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, // 0x2A *
  0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, // 0x2B +
  0x00, 0x80, 0x70, 0x30, 0x00, 0x00, // 0x2C ,
  0x08, 0x08, 0x08, 0x08, 0x08, 0x00, // 0x2D -
  0x00, 0x00, 0x60, 0x60, 0x00, 0x00, // 0x2E .
  0x20, 0x10, 0x08, 0x04, 0x02, 0x00, // 0x2F /
  0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, // 0x30 0
  0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, // 0x31 1
  0x72, 0x49, 0x49, 0x49, 0x46, 0x00, // 0x32 2
  0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, // 0x33 3
  0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, // 0x34 4
  0x27, 0x45, 0x45, 0x45, 0x39, 0x00, // 0x35 5
  0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, // 0x36 6
  0x41, 0x21, 0x11, 0x09, 0x07, 0x00, // 0x37 7
  0x36, 0x49, 0x49, 0x49, 0x36, 0x00, // 0x38 8
  0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, // 0x39 9
  0x00, 0x00, 0x14, 0x00, 0x00, 0x00, // 0x3A :
  0x00, 0x40, 0x34, 0x00, 0x00, 0x00, // 0x3B ;
  0x00, 0x08, 0x14, 0x22, 0x41, 0x00, // 0x3C <
  0x14, 0x14, 0x14, 0x14, 0x14, 0x00, // 0x3D =
  0x00, 0x41, 0x22, 0x14, 0x08, 0x00, // 0x3E >
  0x02, 0x01, 0x59, 0x09, 0x06, 0x00, // 0x3F ?
  0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, // 0x40 @
  0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, // 0x41 A
  0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, // 0x42 B
  0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, // 0x43 C
  0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, // 0x44 D
  0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, // 0x45 E
  0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, // 0x46 F
  0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, // 0x47 G
  0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, // 0x48 H
  0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, // 0x49 I
  0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, // 0x4A J
  0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, // 0x4B K
  0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, // 0x4C L
  0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, // 0x4D M
  0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, // 0x4E N
  0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, // 0x4F O
  0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, // 0x50 P
  0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, // 0x51 Q
  0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, // 0x52 R
  0x26, 0x49, 0x49, 0x49, 0x32, 0x00, // 0x53 S
  0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, // 0x54 T
  0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, // 0x55 U
  0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, // 0x56 V
  0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, // 0x57 W
  0x63, 0x14, 0x08, 0x14, 0x63, 0x00, // 0x58 X
  0x03, 0x04, 0x78, 0x04, 0x03, 0x00, // 0x59 Y
  0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, // 0x5A Z
  0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, // 0x5B [
  0x02, 0x04, 0x08, 0x10, 0x20, 0x00, // 0x5C backslash
  0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, // 0x5D ]
  0x04, 0x02, 0x01, 0x02, 0x04, 0x00, // 0x5E ^
  0x40, 0x40, 0x40, 0x40, 0x40, 0x00, // 0x5F _
  0x00, 0x03, 0x07, 0x08, 0x00, 0x00, // 0x60 `
  0x20, 0x54, 0x54, 0x78, 0x40, 0x00, // 0x61 a
  0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, // 0x62 b
  0x38, 0x44, 0x44, 0x44, 0x28, 0x00, // 0x63 c
  0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, // 0x64 d
  0x38, 0x54, 0x54, 0x54, 0x18, 0x00, // 0x65 e
  0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, // 0x66 f
  0x18, 0xA4, 0xA4, 0x9C, 0x78, 0x00, // 0x67 g
  0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, // 0x68 h
  0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, // 0x69 i
  0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, // 0x6A j
  0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, // 0x6B k
  0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, // 0x6C l
  0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, // 0x6D m
  0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, // 0x6E n
  0x38, 0x44, 0x44, 0x44, 0x38, 0x00, // 0x6F o
  0xFC, 0x18, 0x24, 0x24, 0x18, 0x00, // 0x70 p
  0x18, 0x24, 0x24, 0x18, 0xFC, 0x00, // 0x71 q
  0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, // 0x72 r
  0x48, 0x54, 0x54, 0x54, 0x24, 0x00, // 0x73 s
  0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, // 0x74 t
  0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, // 0x75 u
  0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, // 0x76 v
  0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, // 0x77 w
  0x44, 0x28, 0x10, 0x28, 0x44, 0x00, // 0x78 x
  0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, // 0x79 y
  0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, // 0x7A z
  0x00, 0x08, 0x36, 0x41, 0x00, 0x00, // 0x7B {
  0x00, 0x00, 0x77, 0x00, 0x00, 0x00, // 0x7C |
  0x00, 0x41, 0x36, 0x08, 0x00, 0x00, // 0x7D }
  0x02, 0x01, 0x02, 0x04, 0x02, 0x00, // 0x7E ~
  0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, // 0x7F 
  0x1E, 0xA1, 0xA1, 0x61, 0x12, 0x00, // 0x80 
  0x3A, 0x40, 0x40, 0x20, 0x7A, 0x00, // 0x81 
  0x38, 0x54, 0x54, 0x55, 0x59, 0x00, // 0x82 
  0x21, 0x55, 0x55, 0x79, 0x41, 0x00, // 0x83 
  0x22, 0x54, 0x54, 0x78, 0x42, 0x00, // 0x84 
  0x21, 0x55, 0x54, 0x78, 0x40, 0x00, // 0x85 
  0x20, 0x54, 0x55, 0x79, 0x40, 0x00, // 0x86 
  0x0C, 0x1E, 0x52, 0x72, 0x12, 0x00, // 0x87 
  0x39, 0x55, 0x55, 0x55, 0x59, 0x00, // 0x88 
  0x39, 0x54, 0x54, 0x54, 0x59, 0x00, // 0x89 
  0x39, 0x55, 0x54, 0x54, 0x58, 0x00, // 0x8A 
  0x00, 0x00, 0x45, 0x7C, 0x41, 0x00, // 0x8B 
  0x00, 0x02, 0x45, 0x7D, 0x42, 0x00, // 0x8C 
  0x00, 0x01, 0x45, 0x7C, 0x40, 0x00, // 0x8D 
  0x7D, 0x12, 0x11, 0x12, 0x7D, 0x00, // 0x8E 
  0xF0, 0x28, 0x25, 0x28, 0xF0, 0x00, // 0x8F 
  0x7C, 0x54, 0x55, 0x45, 0x00, 0x00, // 0x90 
  0x20, 0x54, 0x54, 0x7C, 0x54, 0x00, // 0x91 
  0x7C, 0x0A, 0x09, 0x7F, 0x49, 0x00, // 0x92 
  0x32, 0x49, 0x49, 0x49, 0x32, 0x00, // 0x93 
  0x3A, 0x44, 0x44, 0x44, 0x3A, 0x00, // 0x94 
  0x32, 0x4A, 0x48, 0x48, 0x30, 0x00, // 0x95 
  0x3A, 0x41, 0x41, 0x21, 0x7A, 0x00, // 0x96 
  0x3A, 0x42, 0x40, 0x20, 0x78, 0x00, // 0x97 
  0x00, 0x9D, 0xA0, 0xA0, 0x7D, 0x00, // 0x98 
  0x3D, 0x42, 0x42, 0x42, 0x3D, 0x00, // 0x99 
  0x3D, 0x40, 0x40, 0x40, 0x3D, 0x00, // 0x9A 
  0x3C, 0x24, 0xFF, 0x24, 0x24, 0x00, // 0x9B 
  0x48, 0x7E, 0x49, 0x43, 0x66, 0x00, // 0x9C 
  0x2B, 0x2F, 0xFC, 0x2F, 0x2B, 0x00, // 0x9D 
  0xFF, 0x09, 0x29, 0xF6, 0x20, 0x00, // 0x9E 
  0xC0, 0x88, 0x7E, 0x09, 0x03, 0x00, // 0x9F 
  0x20, 0x54, 0x54, 0x79, 0x41, 0x00, // 0xA0 
  0x00, 0x00, 0x44, 0x7D, 0x41, 0x00, // 0xA1 
  0x30, 0x48, 0x48, 0x4A, 0x32, 0x00, // 0xA2 
  0x38, 0x40, 0x40, 0x22, 0x7A, 0x00, // 0xA3 
  0x00, 0x7A, 0x0A, 0x0A, 0x72, 0x00, // 0xA4 
  0x7D, 0x0D, 0x19, 0x31, 0x7D, 0x00, // 0xA5 
  0x26, 0x29, 0x29, 0x2F, 0x28, 0x00, // 0xA6 
  0x26, 0x29, 0x29, 0x29, 0x26, 0x00, // 0xA7 
  0x30, 0x48, 0x4D, 0x40, 0x20, 0x00, // 0xA8 
  0x38, 0x08, 0x08, 0x08, 0x08, 0x00, // 0xA9 
  0x08, 0x08, 0x08, 0x08, 0x38, 0x00, // 0xAA 
  0x2F, 0x10, 0xC8, 0xAC, 0xBA, 0x00, // 0xAB 
  0x2F, 0x10, 0x28, 0x34, 0xFA, 0x00, // 0xAC 
  0x00, 0x00, 0x7B, 0x00, 0x00, 0x00, // 0xAD 
  0x08, 0x14, 0x2A, 0x14, 0x22, 0x00, // 0xAE 
  0x22, 0x14, 0x2A, 0x14, 0x08, 0x00, // 0xAF 
  0x55, 0x00, 0x55, 0x00, 0x55, 0x00, // 0xB0 
  0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x00, // 0xB1 
  0xFF, 0x55, 0xFF, 0x55, 0xFF, 0x00, // 0xB2 
  0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, // 0xB3 
  0x10, 0x10, 0x10, 0xFF, 0x00, 0x00, // 0xB4 
  0x14, 0x14, 0x14, 0xFF, 0x00, 0x00, // 0xB5 
  0x10, 0x10, 0xFF, 0x00, 0xFF, 0x00, // 0xB6 
  0x10, 0x10, 0xF0, 0x10, 0xF0, 0x00, // 0xB7 
  0x14, 0x14, 0x14, 0xFC, 0x00, 0x00, // 0xB8 
  0x14, 0x14, 0xF7, 0x00, 0xFF, 0x00, // 0xB9 
  0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, // 0xBA 
  0x14, 0x14, 0xF4, 0x04, 0xFC, 0x00, // 0xBB 
  0x14, 0x14, 0x17, 0x10, 0x1F, 0x00, // 0xBC 
  0x10, 0x10, 0x1F, 0x10, 0x1F, 0x00, // 0xBD 
  0x14, 0x14, 0x14, 0x1F, 0x00, 0x00, // 0xBE 
  0x10, 0x10, 0x10, 0xF0, 0x00, 0x00, // 0xBF 
  0x00, 0x00, 0x00, 0x1F, 0x10, 0x00, // 0xC0 
  0x10, 0x10, 0x10, 0x1F, 0x10, 0x00, // 0xC1 
  0x10, 0x10, 0x10, 0xF0, 0x10, 0x00, // 0xC2 
  0x00, 0x00, 0x00, 0xFF, 0x10, 0x00, // 0xC3 
  0x10, 0x10, 0x10, 0x10, 0x10, 0x00, // 0xC4 
  0x10, 0x10, 0x10, 0xFF, 0x10, 0x00, // 0xC5 
  0x00, 0x00, 0x00, 0xFF, 0x14, 0x00, // 0xC6 
  0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, // 0xC7 
  0x00, 0x00, 0x1F, 0x10, 0x17, 0x00, // 0xC8 
  0x00, 0x00, 0xFC, 0x04, 0xF4, 0x00, // 0xC9 
  0x14, 0x14, 0x17, 0x10, 0x17, 0x00, // 0xCA 
  0x14, 0x14, 0xF4, 0x04, 0xF4, 0x00, // 0xCB 
  0x00, 0x00, 0xFF, 0x00, 0xF7, 0x00, // 0xCC 
  0x14, 0x14, 0x14, 0x14, 0x14, 0x00, // 0xCD 
  0x14, 0x14, 0xF7, 0x00, 0xF7, 0x00, // 0xCE 
  0x14, 0x14, 0x14, 0x17, 0x14, 0x00, // 0xCF 
  0x10, 0x10, 0x1F, 0x10, 0x1F, 0x00, // 0xD0 
  0x14, 0x14, 0x14, 0xF4, 0x14, 0x00, // 0xD1 
  0x10, 0x10, 0xF0, 0x10, 0xF0, 0x00, // 0xD2 
  0x00, 0x00, 0x1F, 0x10, 0x1F, 0x00, // 0xD3 
  0x00, 0x00, 0x00, 0x1F, 0x14, 0x00, // 0xD4 
  0x00, 0x00, 0x00, 0xFC, 0x14, 0x00, // 0xD5 
  0x00, 0x00, 0xF0, 0x10, 0xF0, 0x00, // 0xD6 
  0x10, 0x10, 0xFF, 0x10, 0xFF, 0x00, // 0xD7 
  0x14, 0x14, 0x14, 0xFF, 0x14, 0x00, // 0xD8 
  0x10, 0x10, 0x10, 0x1F, 0x00, 0x00, // 0xD9 
  0x00, 0x00, 0x00, 0xF0, 0x10, 0x00, // 0xDA 
  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, // 0xDB 
  0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x00, // 0xDC 
  0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, // 0xDD 
  0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, // 0xDE 
  0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, // 0xDF 
  0x38, 0x44, 0x44, 0x38, 0x44, 0x00, // 0xE0 
  0xFC, 0x4A, 0x4A, 0x4A, 0x34, 0x00, // 0xE1 
  0x7E, 0x02, 0x02, 0x06, 0x06, 0x00, // 0xE2 
  0x02, 0x7E, 0x02, 0x7E, 0x02, 0x00, // 0xE3 
  0x63, 0x55, 0x49, 0x41, 0x63, 0x00, // 0xE4 
  0x38, 0x44, 0x44, 0x3C, 0x04, 0x00, // 0xE5 
  0x40, 0x7E, 0x20, 0x1E, 0x20, 0x00, // 0xE6 
  0x06, 0x02, 0x7E, 0x02, 0x02, 0x00, // 0xE7 
  0x99, 0xA5, 0xE7, 0xA5, 0x99, 0x00, // 0xE8 
  0x1C, 0x2A, 0x49, 0x2A, 0x1C, 0x00, // 0xE9 
  0x4C, 0x72, 0x01, 0x72, 0x4C, 0x00, // 0xEA 
  0x30, 0x4A, 0x4D, 0x4D, 0x30, 0x00, // 0xEB 
  0x30, 0x48, 0x78, 0x48, 0x30, 0x00, // 0xEC 
  0xBC, 0x62, 0x5A, 0x46, 0x3D, 0x00, // 0xED 
  0x3E, 0x49, 0x49, 0x49, 0x00, 0x00, // 0xEE 
  0x7E, 0x01, 0x01, 0x01, 0x7E, 0x00, // 0xEF 
  0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x00, // 0xF0 
  0x44, 0x44, 0x5F, 0x44, 0x44, 0x00, // 0xF1 
  0x40, 0x51, 0x4A, 0x44, 0x40, 0x00, // 0xF2 
  0x40, 0x44, 0x4A, 0x51, 0x40, 0x00, // 0xF3 
  0x00, 0x00, 0xFF, 0x01, 0x03, 0x00, // 0xF4 
  0xE0, 0x80, 0xFF, 0x00, 0x00, 0x00, // 0xF5 
  0x08, 0x08, 0x6B, 0x6B, 0x08, 0x00, // 0xF6 
  0x36, 0x12, 0x36, 0x24, 0x36, 0x00, // 0xF7 
  0x06, 0x0F, 0x09, 0x0F, 0x06, 0x00, // 0xF8 
  0x00, 0x00, 0x18, 0x18, 0x00, 0x00, // 0xF9 
  0x00, 0x00, 0x10, 0x10, 0x00, 0x00, // 0xFA 
  0x30, 0x40, 0xFF, 0x01, 0x01, 0x00, // 0xFB 
  0x00, 0x1F, 0x01, 0x01, 0x1E, 0x00, // 0xFC 
  0x00, 0x19, 0x1D, 0x17, 0x12, 0x00, // 0xFD 
  0x00, 0x3C, 0x3C, 0x3C, 0x3C, 0x00, // 0xFE 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xFF 
  
  // Comment (250,251)
  0x1E, 0x21, 0x25, 0x41, 0x25, 0x25,
  0x29, 0x25, 0x21, 0x1E, 0x00, 0x00,
  
  // Thumbs-Up (252,253)
  0x38, 0x44, 0x38, 0x7C, 0x7F, 0x7F,
  0x7C, 0x7C, 0x7C, 0x38, 0x00, 0x00,
  
  // Youtube Logo (254,255)
  0x3E, 0x7F, 0x7F, 0x41, 0x41, 0x63,
  0x63, 0x77, 0x77, 0x7F, 0x3E, 0x00

};


:warning:

Post mis dans la mauvaise section, on parle anglais dans les forums généraux de plus ce n'est pas un problème d'installation . ➜ déplacé vers le forum francophone.

Merci de prendre en compte les recommandations listées dans "Les bonnes pratiques du Forum Francophone”

Bonjour

..et de trois !!

fil clos

@HannahiSamir merci de ne plus faire de multiples posts. Cela est contraire aux règles du forum qui vous ont été mentionnées plusieurs fois. Une violation répétée de ces règles peut se traduire par un blocage de votre accès temporaire ou permanent au forum.