projelec

Dependencies:   mbed LCD_DISCO_F746NG BSP_DISCO_F746NG

Committer:
alexandrelouis
Date:
Thu Mar 19 07:55:50 2020 +0000
Revision:
8:4e6dfbe97bbd
Parent:
7:3d2369ac93a7
changes

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Faberge 0:3ea368f65bca 1 /*
Faberge 0:3ea368f65bca 2 *******************************************************************************
alexandrelouis 8:4e6dfbe97bbd 3 * Un exemple du clavier à l’écran sur le panneau de démonstration STM32F746NG Discovery
alexandrelouis 8:4e6dfbe97bbd 4 Utilisation d’un ensemble standard de bibliothèques BSP et d’une
alexandrelouis 8:4e6dfbe97bbd 5 Bibliothèques "keyboard.h"
Faberge 0:3ea368f65bca 6 *******************************************************************************
Faberge 0:3ea368f65bca 7 */
Faberge 0:3ea368f65bca 8
alexandrelouis 8:4e6dfbe97bbd 9 /* Ajouter une bibliothèque pour travailler avec LCD */
Faberge 0:3ea368f65bca 10 #include "stm32746g_discovery_lcd.h"
alexandrelouis 8:4e6dfbe97bbd 11 /* Ajout d’une bibliothèque de claviers à l’écra */
Faberge 0:3ea368f65bca 12 #include "keyboard.h"
Faberge 0:3ea368f65bca 13
jknowles 3:12b494808ffa 14 #include "mbed.h"
jknowles 3:12b494808ffa 15
jknowles 5:50c5e677f71a 16 // no such file: #include "USBSerial.h"
jknowles 3:12b494808ffa 17
alexandrelouis 8:4e6dfbe97bbd 18 /* Modifications auxiliaires */
Faberge 0:3ea368f65bca 19 uint8_t i;
Faberge 0:3ea368f65bca 20 uint8_t key;
jknowles 1:25b8d7bfc7d4 21 uint8_t len;
Faberge 0:3ea368f65bca 22
alexandrelouis 8:4e6dfbe97bbd 23 /* Mémoire tampon personnalisée */
jknowles 2:14dc9a7c52ac 24 char kb_buffer[45];
Faberge 0:3ea368f65bca 25
jknowles 2:14dc9a7c52ac 26 void start_KB_LCD()
Faberge 0:3ea368f65bca 27 {
alexandrelouis 8:4e6dfbe97bbd 28 /* Initialisation de l’affichage
alexandrelouis 8:4e6dfbe97bbd 29 Nous éteignons l’écran.
alexandrelouis 8:4e6dfbe97bbd 30 Nous avons mis en place les première et deuxième couches de l’écran.*/
Faberge 0:3ea368f65bca 31 BSP_LCD_Init();
Faberge 0:3ea368f65bca 32 BSP_LCD_LayerDefaultInit(0, LCD_FB_START_ADDRESS);
Faberge 0:3ea368f65bca 33 BSP_LCD_LayerDefaultInit(1, LCD_FB_START_ADDRESS + (BSP_LCD_GetXSize() * BSP_LCD_GetYSize() * 4));
Faberge 0:3ea368f65bca 34 BSP_LCD_DisplayOn();
Faberge 0:3ea368f65bca 35 BSP_LCD_SelectLayer(0);
Faberge 0:3ea368f65bca 36 BSP_LCD_Clear(LCD_COLOR_WHITE);
Faberge 0:3ea368f65bca 37 BSP_LCD_SelectLayer(1);
Faberge 0:3ea368f65bca 38 BSP_LCD_Clear(LCD_COLOR_BLACK);
Faberge 0:3ea368f65bca 39 BSP_LCD_SetTransparency(0, 0);
Faberge 0:3ea368f65bca 40 BSP_LCD_SetTransparency(1, 100);
alexandrelouis 8:4e6dfbe97bbd 41 /* Définir la couleur de fond et la couleur du texte de l’écran, ainsi que la police */
alexandrelouis 8:4e6dfbe97bbd 42 BSP_LCD_SetTextColor(LCD_COLOR_BLUE);
alexandrelouis 8:4e6dfbe97bbd 43 BSP_LCD_SetBackColor(LCD_COLOR_WHITE);
Faberge 0:3ea368f65bca 44 BSP_LCD_SetFont(&Font16);
jknowles 2:14dc9a7c52ac 45
alexandrelouis 8:4e6dfbe97bbd 46 /* Initialisation de l’écran tactile*/
Faberge 0:3ea368f65bca 47 BSP_TS_Init(BSP_LCD_GetXSize(), BSP_LCD_GetYSize());
jknowles 2:14dc9a7c52ac 48
jknowles 2:14dc9a7c52ac 49 }
jknowles 2:14dc9a7c52ac 50
jknowles 2:14dc9a7c52ac 51
jknowles 4:0e5755618652 52 void get_kbd_str(char *promp, char *bufr)
jknowles 2:14dc9a7c52ac 53 {
jknowles 2:14dc9a7c52ac 54 start_KB_LCD();
alexandrelouis 8:4e6dfbe97bbd 55 Keyboard_init(10, 50);
jknowles 2:14dc9a7c52ac 56 while(1) {
jknowles 4:0e5755618652 57 key = Keyboard_handler(promp, bufr);
jknowles 2:14dc9a7c52ac 58 if (key == KEY_ENTER_VALUE) break; // to go to another screen ?
jknowles 2:14dc9a7c52ac 59 HAL_Delay(10);
jknowles 2:14dc9a7c52ac 60 }
jknowles 2:14dc9a7c52ac 61 }
jknowles 2:14dc9a7c52ac 62
jknowles 2:14dc9a7c52ac 63
alexandrelouis 8:4e6dfbe97bbd 64 /* Programme de base */
jknowles 2:14dc9a7c52ac 65 int main(void)
jknowles 2:14dc9a7c52ac 66 {
alexandrelouis 8:4e6dfbe97bbd 67 #define STATSIZE 126
jknowles 6:310e91584386 68
alexandrelouis 8:4e6dfbe97bbd 69 char sbuf[126];
alexandrelouis 8:4e6dfbe97bbd 70 char dbgtlk[126];
jknowles 3:12b494808ffa 71
alexandrelouis 8:4e6dfbe97bbd 72 char tstr[126];
jknowles 3:12b494808ffa 73 char bstr[32];
jknowles 3:12b494808ffa 74 char cstr[32];
jknowles 3:12b494808ffa 75 char estr[32];
jknowles 3:12b494808ffa 76 char pbstr[32];
jknowles 3:12b494808ffa 77 int ii;
jknowles 3:12b494808ffa 78
jknowles 3:12b494808ffa 79 char *rawp;
jknowles 3:12b494808ffa 80 char *csvp;
jknowles 3:12b494808ffa 81 int rawq;
jknowles 3:12b494808ffa 82 int bi, ci, ei;
jknowles 3:12b494808ffa 83 float pbf, bf, cf, ef;
jknowles 3:12b494808ffa 84 float pbar[STATSIZE];
jknowles 3:12b494808ffa 85 float bar[STATSIZE];
jknowles 3:12b494808ffa 86 float car[STATSIZE];
jknowles 3:12b494808ffa 87 float ear[STATSIZE];
jknowles 3:12b494808ffa 88 int duds = 0;
jknowles 3:12b494808ffa 89 char gotc;
jknowles 3:12b494808ffa 90
jknowles 3:12b494808ffa 91 float pb_mn, pb_sd, b_mn, b_sd, c_mn, c_sd, e_mn, e_sd;
jknowles 3:12b494808ffa 92
alexandrelouis 8:4e6dfbe97bbd 93 char msg_b[126];
jknowles 2:14dc9a7c52ac 94 int u_tries;
alexandrelouis 8:4e6dfbe97bbd 95 char u_name[126];
alexandrelouis 8:4e6dfbe97bbd 96 char u_passwd[126];
alexandrelouis 8:4e6dfbe97bbd 97 char out_str[126];
alexandrelouis 8:4e6dfbe97bbd 98 char out_str2[126];
jknowles 2:14dc9a7c52ac 99
jknowles 6:310e91584386 100
alexandrelouis 8:4e6dfbe97bbd 101 start_KB_LCD(); // Nouvel ecran ( noir )
jknowles 6:310e91584386 102 BSP_LCD_SetFont(&Font24);
alexandrelouis 8:4e6dfbe97bbd 103 get_kbd_str("Controleur MIDI", kb_buffer); // affiche le clavier + etiquette en haut de l'écran
alexandrelouis 8:4e6dfbe97bbd 104 strcpy(u_name, kb_buffer); //char * strcpy ( char * destination, const char * source ) copies the C string pointed by source into the array pointed by destination
jknowles 6:310e91584386 105 kb_buffer[0] = '\0';
jknowles 6:310e91584386 106
jknowles 6:310e91584386 107 start_KB_LCD();
jknowles 6:310e91584386 108 BSP_LCD_SetFont(&Font24);
jknowles 6:310e91584386 109 get_kbd_str("USE JOYSTICK TO ENTER PASSWORD:", kb_buffer);
jknowles 6:310e91584386 110 strcpy(u_passwd, kb_buffer);
jknowles 6:310e91584386 111 kb_buffer[0] = '\0';
jknowles 6:310e91584386 112
Faberge 0:3ea368f65bca 113 }