new version of AL96_OT

Dependencies:   mbed LCD_DISCO_F469NI TS_DISCO_F469NI BSP_DISCO_F469NI

Committer:
billycorgan123
Date:
Mon May 18 19:00:39 2020 +0000
Revision:
2:ee10ee4002d5
Parent:
0:c980456a5562
prova

Who changed what in which revision?

UserRevisionLine numberNew contents of line
billycorgan123 0:c980456a5562 1 #ifndef DISPLAY_H
billycorgan123 0:c980456a5562 2 #define DISPLAY_H
billycorgan123 0:c980456a5562 3
billycorgan123 2:ee10ee4002d5 4 ////////////////////////////////////////////////////////////////////////////////
billycorgan123 2:ee10ee4002d5 5 void display_Error(bool error)
billycorgan123 2:ee10ee4002d5 6 {
billycorgan123 2:ee10ee4002d5 7 //visualizzazione della faccina felice/triste
billycorgan123 2:ee10ee4002d5 8 int X = 10;
billycorgan123 2:ee10ee4002d5 9 int Y = 10;
billycorgan123 2:ee10ee4002d5 10 int riga, colonna, contatore=0;
billycorgan123 2:ee10ee4002d5 11 for (colonna=0; colonna<220; colonna++) {
billycorgan123 2:ee10ee4002d5 12 for ( riga=0; riga<400; riga++) {
billycorgan123 2:ee10ee4002d5 13 if (error == 0) lcd.DrawPixel (X+riga, Y+colonna, _acError000[contatore]);
billycorgan123 2:ee10ee4002d5 14 else lcd.DrawPixel (X+riga, Y+colonna, _acError111[contatore]);
billycorgan123 2:ee10ee4002d5 15 contatore++;
billycorgan123 2:ee10ee4002d5 16 }
billycorgan123 2:ee10ee4002d5 17 riga=0;
billycorgan123 2:ee10ee4002d5 18 }
billycorgan123 2:ee10ee4002d5 19 }
billycorgan123 2:ee10ee4002d5 20 ////////////////////////////////////////////////////////////////////////////////
billycorgan123 2:ee10ee4002d5 21 void display_sfondo_macchina()
billycorgan123 2:ee10ee4002d5 22 {
billycorgan123 2:ee10ee4002d5 23 int X = 150;
billycorgan123 2:ee10ee4002d5 24 int Y = 50;
billycorgan123 2:ee10ee4002d5 25 int riga, colonna, contatore=0;
billycorgan123 2:ee10ee4002d5 26 for (colonna=0; colonna<300; colonna++) {
billycorgan123 2:ee10ee4002d5 27 for ( riga=0; riga<450; riga++) {
billycorgan123 2:ee10ee4002d5 28 lcd.DrawPixel (X+riga, Y+colonna, _acsfondo[contatore]);
billycorgan123 2:ee10ee4002d5 29 contatore++;
billycorgan123 2:ee10ee4002d5 30 }
billycorgan123 2:ee10ee4002d5 31 riga=0;
billycorgan123 2:ee10ee4002d5 32 }
billycorgan123 2:ee10ee4002d5 33 }
billycorgan123 2:ee10ee4002d5 34 ////////////////////////////////////////////////////////////////////////////////
billycorgan123 2:ee10ee4002d5 35 void display_mini_state(int sensor_state, int X, int Y)
billycorgan123 2:ee10ee4002d5 36 {
billycorgan123 2:ee10ee4002d5 37 //visualizzazione dello stato dei vari elementi, usato in pagina 0
billycorgan123 2:ee10ee4002d5 38 int riga, colonna, contatore=0;
billycorgan123 2:ee10ee4002d5 39 for (colonna=0; colonna<40; colonna++) {
billycorgan123 2:ee10ee4002d5 40 for ( riga=0; riga<40; riga++) {
billycorgan123 2:ee10ee4002d5 41 switch (sensor_state) {
billycorgan123 2:ee10ee4002d5 42 //----------------------------------------------------------
billycorgan123 2:ee10ee4002d5 43 case 0:
billycorgan123 2:ee10ee4002d5 44 lcd.DrawPixel (X+riga, Y+colonna, _acqgreen[contatore]);
billycorgan123 2:ee10ee4002d5 45 break;
billycorgan123 2:ee10ee4002d5 46 case 1:
billycorgan123 2:ee10ee4002d5 47 lcd.DrawPixel (X+riga, Y+colonna, _acqredgreen[contatore]);
billycorgan123 2:ee10ee4002d5 48 break;
billycorgan123 2:ee10ee4002d5 49 case 2:
billycorgan123 2:ee10ee4002d5 50 lcd.DrawPixel (X+riga, Y+colonna, _acqred[contatore]);
billycorgan123 2:ee10ee4002d5 51 break;
billycorgan123 2:ee10ee4002d5 52 }
billycorgan123 2:ee10ee4002d5 53 contatore++;
billycorgan123 2:ee10ee4002d5 54 }
billycorgan123 2:ee10ee4002d5 55 riga=0;
billycorgan123 2:ee10ee4002d5 56 }
billycorgan123 2:ee10ee4002d5 57 contatore=0;
billycorgan123 2:ee10ee4002d5 58 }
billycorgan123 2:ee10ee4002d5 59 ////////////////////////////////////////////////////////////////////////////////
billycorgan123 2:ee10ee4002d5 60 void display_OT_state(int sensor_state, int X, int Y, int MAXSensor)
billycorgan123 2:ee10ee4002d5 61 {
billycorgan123 2:ee10ee4002d5 62 //visualizzazione degli stati degli OT, usato in pagina 1
billycorgan123 2:ee10ee4002d5 63 int riga, colonna, contatore=0;
billycorgan123 2:ee10ee4002d5 64 for (colonna=0; colonna<150; colonna++) {
billycorgan123 2:ee10ee4002d5 65 for ( riga=0; riga<75; riga++) {
billycorgan123 2:ee10ee4002d5 66 switch (sensor_state) {
billycorgan123 2:ee10ee4002d5 67 //----------------------------------------------------------
billycorgan123 2:ee10ee4002d5 68 case 0:
billycorgan123 2:ee10ee4002d5 69 lcd.DrawPixel (X+riga, Y+colonna, _ac_on1[contatore]);
billycorgan123 2:ee10ee4002d5 70 break;
billycorgan123 2:ee10ee4002d5 71 case 1:
billycorgan123 2:ee10ee4002d5 72 lcd.DrawPixel (X+riga, Y+colonna, _ac_onoff1[contatore]);
billycorgan123 2:ee10ee4002d5 73 break;
billycorgan123 2:ee10ee4002d5 74 case 2:
billycorgan123 2:ee10ee4002d5 75 lcd.DrawPixel (X+riga, Y+colonna, _ac_off1[contatore]);
billycorgan123 2:ee10ee4002d5 76 break;
billycorgan123 2:ee10ee4002d5 77 }
billycorgan123 2:ee10ee4002d5 78 contatore++;
billycorgan123 2:ee10ee4002d5 79 }
billycorgan123 2:ee10ee4002d5 80 riga=0;
billycorgan123 2:ee10ee4002d5 81 }
billycorgan123 2:ee10ee4002d5 82 contatore=0;
billycorgan123 0:c980456a5562 83
billycorgan123 2:ee10ee4002d5 84 }
billycorgan123 2:ee10ee4002d5 85 ////////////////////////////////////////////////////////////////////////////////
billycorgan123 2:ee10ee4002d5 86 void display_setup()
billycorgan123 2:ee10ee4002d5 87 {
billycorgan123 2:ee10ee4002d5 88 //realizzazione del rettangolo di sfondo piu' la barra grigia nel riquadro inferiore del display
billycorgan123 2:ee10ee4002d5 89 lcd.Clear(BackColor);
billycorgan123 2:ee10ee4002d5 90 lcd.SetFont(&Font24);
billycorgan123 2:ee10ee4002d5 91 lcd.SetTextColor(gray);
billycorgan123 2:ee10ee4002d5 92 lcd.SetBackColor(BackColor);
billycorgan123 2:ee10ee4002d5 93 lcd.FillRect(0, 440, 800, 39);
billycorgan123 2:ee10ee4002d5 94 lcd.SetTextColor(black);
billycorgan123 2:ee10ee4002d5 95 lcd.SetBackColor(gray);
billycorgan123 2:ee10ee4002d5 96 lcd.DrawHLine(0, 410, 800);
billycorgan123 2:ee10ee4002d5 97 lcd.DrawHLine(0,440, 800);
billycorgan123 2:ee10ee4002d5 98 lcd.DrawVLine(160, 441, 39);
billycorgan123 2:ee10ee4002d5 99 lcd.DrawVLine(640, 441, 39);
billycorgan123 2:ee10ee4002d5 100 lcd.DisplayStringAt(0, 450, (uint8_t *)"Metal Controller - Ver 2.3", CENTER_MODE);
billycorgan123 2:ee10ee4002d5 101 lcd.DisplayStringAt(5, LINE(19)-5, (uint8_t *)"<< PREV", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 102 lcd.DisplayStringAt(645, LINE(19)-5, (uint8_t *)"NEXT >>", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 103 lcd.SetBackColor(BackColor);
billycorgan123 2:ee10ee4002d5 104 }
billycorgan123 2:ee10ee4002d5 105 ////////////////////////////////////////////////////////////////////////////////
billycorgan123 2:ee10ee4002d5 106 void display_draw_sheet (int actual_sheet)
billycorgan123 2:ee10ee4002d5 107 {
billycorgan123 2:ee10ee4002d5 108 //disegno delle singole pagine//////////////////////////////////////////////
billycorgan123 2:ee10ee4002d5 109 switch (actual_sheet) {
billycorgan123 2:ee10ee4002d5 110 //----------------------------------------------------------------------
billycorgan123 2:ee10ee4002d5 111 case 0: { //Disegno Pagina 0
billycorgan123 2:ee10ee4002d5 112 lcd.SetTextColor(BackColor);
billycorgan123 2:ee10ee4002d5 113 lcd.FillRect(0, 0, 800, 409);
billycorgan123 2:ee10ee4002d5 114 lcd.SetTextColor(black);
billycorgan123 2:ee10ee4002d5 115 if (is_OT_displayed) lcd.DisplayStringAt(430, 40, (uint8_t *)"Over Temperatures", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 116 if (is_Heater_displayed) lcd.DisplayStringAt(430, 120, (uint8_t *)"Heaters", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 117 if (is_Analog_displayed) lcd.DisplayStringAt(430, 200, (uint8_t *)"Analog Signals", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 118 if (is_Digital_displayed) lcd.DisplayStringAt(430, 280, (uint8_t *)"Digital Signals", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 119 }
billycorgan123 2:ee10ee4002d5 120 break;
billycorgan123 2:ee10ee4002d5 121 //----------------------------------------------------------------------
billycorgan123 2:ee10ee4002d5 122 case 1: { //Disegno Pagina 1
billycorgan123 2:ee10ee4002d5 123 lcd.SetTextColor(BackColor);
billycorgan123 2:ee10ee4002d5 124 lcd.FillRect(0, 0, 800, 409);
billycorgan123 2:ee10ee4002d5 125 lcd.SetTextColor(black);
billycorgan123 2:ee10ee4002d5 126 lcd.DisplayStringAt(35, 35, (uint8_t *)"Over Temperatures:", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 127 }
billycorgan123 2:ee10ee4002d5 128 break;
billycorgan123 2:ee10ee4002d5 129 //----------------------------------------------------------------------
billycorgan123 2:ee10ee4002d5 130 case 2: { //Disegno Pagina 2
billycorgan123 2:ee10ee4002d5 131 lcd.SetTextColor(BackColor);
billycorgan123 2:ee10ee4002d5 132 lcd.FillRect(0, 0, 800, 409);
billycorgan123 2:ee10ee4002d5 133 lcd.SetTextColor(black);
billycorgan123 2:ee10ee4002d5 134 for (int riga=0; riga<MAX_HEATER; riga++) {
billycorgan123 2:ee10ee4002d5 135 lcd.DisplayStringAt(10, LINE(1+2*riga), (uint8_t *)"Heater :", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 136 //lcd.DisplayStringAt(10, LINE(7+2*riga), (uint8_t *)"Calibration :", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 137 sprintf((char*)text, "%d", riga+1);
billycorgan123 2:ee10ee4002d5 138 lcd.DisplayStringAt(120,LINE(1+2*riga), (uint8_t *)&text, LEFT_MODE);
billycorgan123 2:ee10ee4002d5 139 sprintf((char*)text, "%2.3f", Heater[riga].limit);
billycorgan123 2:ee10ee4002d5 140 lcd.DisplayStringAt(660,LINE(1+2*riga), (uint8_t *)&text, LEFT_MODE);
billycorgan123 2:ee10ee4002d5 141 //lcd.DisplayStringAt(210,LINE(7+2*riga), (uint8_t *)&text, LEFT_MODE);
billycorgan123 2:ee10ee4002d5 142 //sprintf((char*)text, "%2.3f", Heater[riga].offset);
billycorgan123 2:ee10ee4002d5 143 //lcd.DisplayStringAt(250,LINE(7+2*riga), (uint8_t *)&text, LEFT_MODE);
billycorgan123 2:ee10ee4002d5 144 }
billycorgan123 2:ee10ee4002d5 145 }
billycorgan123 2:ee10ee4002d5 146 break;
billycorgan123 2:ee10ee4002d5 147 //------------------------------------------------------------------
billycorgan123 2:ee10ee4002d5 148 case 3: { //Disegno Pagina 3
billycorgan123 2:ee10ee4002d5 149 lcd.SetTextColor(BackColor);
billycorgan123 2:ee10ee4002d5 150 lcd.FillRect(0, 0, 800, 409);
billycorgan123 2:ee10ee4002d5 151 lcd.SetTextColor(black);
billycorgan123 2:ee10ee4002d5 152 lcd.DisplayStringAt(10, LINE(1), (uint8_t *)"Analog Signals", CENTER_MODE);
billycorgan123 2:ee10ee4002d5 153 lcd.DisplayStringAt(10, LINE(2), (uint8_t *)"BCl3 :", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 154 lcd.DisplayStringAt(10, LINE(3), (uint8_t *)"gas2 :", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 155 lcd.DisplayStringAt(10, LINE(4), (uint8_t *)"gas3 :", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 156 lcd.DisplayStringAt(10, LINE(5), (uint8_t *)"gas4 :", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 157 lcd.DisplayStringAt(10, LINE(6), (uint8_t *)"gas5 :", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 158 lcd.DisplayStringAt(10, LINE(7), (uint8_t *)"gas6 :", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 159 lcd.DisplayStringAt(10, LINE(8), (uint8_t *)"gas7 :", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 160 lcd.DisplayStringAt(10, LINE(9), (uint8_t *)"gas8 :", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 161 lcd.DisplayStringAt(10, LINE(10), (uint8_t *)"Digital Signals", CENTER_MODE);
billycorgan123 2:ee10ee4002d5 162 lcd.DisplayStringAt(10, LINE(11), (uint8_t *)"dig1 :", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 163 lcd.DisplayStringAt(10, LINE(12), (uint8_t *)"dig2 :", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 164 lcd.DisplayStringAt(10, LINE(13), (uint8_t *)"dig3 :", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 165
billycorgan123 2:ee10ee4002d5 166 }
billycorgan123 2:ee10ee4002d5 167 break;
billycorgan123 2:ee10ee4002d5 168 //----------------------------------------------------------------------
billycorgan123 2:ee10ee4002d5 169 case 4: { //Disegno Pagina 4
billycorgan123 2:ee10ee4002d5 170 lcd.SetTextColor(BackColor);
billycorgan123 2:ee10ee4002d5 171 lcd.FillRect(0, 0, 800, 409);
billycorgan123 2:ee10ee4002d5 172 lcd.SetTextColor(black);
billycorgan123 2:ee10ee4002d5 173 lcd.DisplayStringAt(5, LINE(3), (uint8_t *)"OT display", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 174 lcd.DisplayStringAt(5, LINE(4), (uint8_t *)"OT control", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 175 lcd.DisplayStringAt(5, LINE(5), (uint8_t *)"Heater display", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 176 lcd.DisplayStringAt(5, LINE(6), (uint8_t *)"Heater control", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 177 lcd.DisplayStringAt(5, LINE(7), (uint8_t *)"Analog display", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 178 lcd.DisplayStringAt(5, LINE(8), (uint8_t *)"Analog control", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 179 lcd.DisplayStringAt(5, LINE(9), (uint8_t *)"Digital display", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 180 lcd.DisplayStringAt(5, LINE(10), (uint8_t *)"Digital control", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 181 (is_OT_displayed) ? lcd.DisplayStringAt(350, LINE(3), (uint8_t *)"ACTIVE", LEFT_MODE) : lcd.DisplayStringAt(350, LINE(3), (uint8_t *)"NOT ACTIVE", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 182 (is_OT_controlled) ? lcd.DisplayStringAt(350, LINE(4), (uint8_t *)"ACTIVE", LEFT_MODE) : lcd.DisplayStringAt(350, LINE(4), (uint8_t *)"NOT ACTIVE", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 183 (is_Heater_displayed) ? lcd.DisplayStringAt(350, LINE(5), (uint8_t *)"ACTIVE", LEFT_MODE) : lcd.DisplayStringAt(350, LINE(5), (uint8_t *)"NOT ACTIVE", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 184 (is_Heater_controlled) ? lcd.DisplayStringAt(350, LINE(6), (uint8_t *)"ACTIVE", LEFT_MODE) : lcd.DisplayStringAt(350, LINE(6), (uint8_t *)"NOT ACTIVE", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 185 (is_Analog_displayed) ? lcd.DisplayStringAt(350, LINE(7), (uint8_t *)"ACTIVE", LEFT_MODE) : lcd.DisplayStringAt(350, LINE(7), (uint8_t *)"NOT ACTIVE", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 186 (is_Analog_controlled) ? lcd.DisplayStringAt(350, LINE(8), (uint8_t *)"ACTIVE", LEFT_MODE) : lcd.DisplayStringAt(350, LINE(8), (uint8_t *)"NOT ACTIVE", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 187 (is_Digital_displayed) ? lcd.DisplayStringAt(350, LINE(9), (uint8_t *)"ACTIVE", LEFT_MODE) : lcd.DisplayStringAt(350, LINE(9), (uint8_t *)"NOT ACTIVE", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 188 (is_Digital_controlled) ? lcd.DisplayStringAt(350, LINE(10), (uint8_t *)"ACTIVE", LEFT_MODE) : lcd.DisplayStringAt(350, LINE(10), (uint8_t *)"NOT ACTIVE", LEFT_MODE);
billycorgan123 2:ee10ee4002d5 189
billycorgan123 2:ee10ee4002d5 190 }
billycorgan123 2:ee10ee4002d5 191 break;
billycorgan123 2:ee10ee4002d5 192 //----------------------------------------------------------------------
billycorgan123 2:ee10ee4002d5 193 }
billycorgan123 2:ee10ee4002d5 194 }
billycorgan123 2:ee10ee4002d5 195 ////////////////////////////////////////////////////////////////////////////////
billycorgan123 2:ee10ee4002d5 196 void display_sheet_number()
billycorgan123 2:ee10ee4002d5 197 {
billycorgan123 2:ee10ee4002d5 198 //visualizza il numero della pagina attuale sul display in basso a sinistra
billycorgan123 2:ee10ee4002d5 199 sprintf((char*)text, "%d", actual_sheet);
billycorgan123 2:ee10ee4002d5 200 lcd.DisplayStringAt(10,415, (uint8_t *)&text, LEFT_MODE);
billycorgan123 2:ee10ee4002d5 201 }
billycorgan123 2:ee10ee4002d5 202 ////////////////////////////////////////////////////////////////////////////////
billycorgan123 2:ee10ee4002d5 203
billycorgan123 2:ee10ee4002d5 204 #endif
billycorgan123 0:c980456a5562 205
billycorgan123 0:c980456a5562 206
billycorgan123 0:c980456a5562 207
billycorgan123 0:c980456a5562 208