new version of AL96_OT
Dependencies: mbed LCD_DISCO_F469NI TS_DISCO_F469NI BSP_DISCO_F469NI
display.h
- Committer:
- billycorgan123
- Date:
- 2020-05-18
- Revision:
- 2:ee10ee4002d5
- Parent:
- 0:c980456a5562
File content as of revision 2:ee10ee4002d5:
#ifndef DISPLAY_H #define DISPLAY_H //////////////////////////////////////////////////////////////////////////////// void display_Error(bool error) { //visualizzazione della faccina felice/triste int X = 10; int Y = 10; int riga, colonna, contatore=0; for (colonna=0; colonna<220; colonna++) { for ( riga=0; riga<400; riga++) { if (error == 0) lcd.DrawPixel (X+riga, Y+colonna, _acError000[contatore]); else lcd.DrawPixel (X+riga, Y+colonna, _acError111[contatore]); contatore++; } riga=0; } } //////////////////////////////////////////////////////////////////////////////// void display_sfondo_macchina() { int X = 150; int Y = 50; int riga, colonna, contatore=0; for (colonna=0; colonna<300; colonna++) { for ( riga=0; riga<450; riga++) { lcd.DrawPixel (X+riga, Y+colonna, _acsfondo[contatore]); contatore++; } riga=0; } } //////////////////////////////////////////////////////////////////////////////// void display_mini_state(int sensor_state, int X, int Y) { //visualizzazione dello stato dei vari elementi, usato in pagina 0 int riga, colonna, contatore=0; for (colonna=0; colonna<40; colonna++) { for ( riga=0; riga<40; riga++) { switch (sensor_state) { //---------------------------------------------------------- case 0: lcd.DrawPixel (X+riga, Y+colonna, _acqgreen[contatore]); break; case 1: lcd.DrawPixel (X+riga, Y+colonna, _acqredgreen[contatore]); break; case 2: lcd.DrawPixel (X+riga, Y+colonna, _acqred[contatore]); break; } contatore++; } riga=0; } contatore=0; } //////////////////////////////////////////////////////////////////////////////// void display_OT_state(int sensor_state, int X, int Y, int MAXSensor) { //visualizzazione degli stati degli OT, usato in pagina 1 int riga, colonna, contatore=0; for (colonna=0; colonna<150; colonna++) { for ( riga=0; riga<75; riga++) { switch (sensor_state) { //---------------------------------------------------------- case 0: lcd.DrawPixel (X+riga, Y+colonna, _ac_on1[contatore]); break; case 1: lcd.DrawPixel (X+riga, Y+colonna, _ac_onoff1[contatore]); break; case 2: lcd.DrawPixel (X+riga, Y+colonna, _ac_off1[contatore]); break; } contatore++; } riga=0; } contatore=0; } //////////////////////////////////////////////////////////////////////////////// void display_setup() { //realizzazione del rettangolo di sfondo piu' la barra grigia nel riquadro inferiore del display lcd.Clear(BackColor); lcd.SetFont(&Font24); lcd.SetTextColor(gray); lcd.SetBackColor(BackColor); lcd.FillRect(0, 440, 800, 39); lcd.SetTextColor(black); lcd.SetBackColor(gray); lcd.DrawHLine(0, 410, 800); lcd.DrawHLine(0,440, 800); lcd.DrawVLine(160, 441, 39); lcd.DrawVLine(640, 441, 39); lcd.DisplayStringAt(0, 450, (uint8_t *)"Metal Controller - Ver 2.3", CENTER_MODE); lcd.DisplayStringAt(5, LINE(19)-5, (uint8_t *)"<< PREV", LEFT_MODE); lcd.DisplayStringAt(645, LINE(19)-5, (uint8_t *)"NEXT >>", LEFT_MODE); lcd.SetBackColor(BackColor); } //////////////////////////////////////////////////////////////////////////////// void display_draw_sheet (int actual_sheet) { //disegno delle singole pagine////////////////////////////////////////////// switch (actual_sheet) { //---------------------------------------------------------------------- case 0: { //Disegno Pagina 0 lcd.SetTextColor(BackColor); lcd.FillRect(0, 0, 800, 409); lcd.SetTextColor(black); if (is_OT_displayed) lcd.DisplayStringAt(430, 40, (uint8_t *)"Over Temperatures", LEFT_MODE); if (is_Heater_displayed) lcd.DisplayStringAt(430, 120, (uint8_t *)"Heaters", LEFT_MODE); if (is_Analog_displayed) lcd.DisplayStringAt(430, 200, (uint8_t *)"Analog Signals", LEFT_MODE); if (is_Digital_displayed) lcd.DisplayStringAt(430, 280, (uint8_t *)"Digital Signals", LEFT_MODE); } break; //---------------------------------------------------------------------- case 1: { //Disegno Pagina 1 lcd.SetTextColor(BackColor); lcd.FillRect(0, 0, 800, 409); lcd.SetTextColor(black); lcd.DisplayStringAt(35, 35, (uint8_t *)"Over Temperatures:", LEFT_MODE); } break; //---------------------------------------------------------------------- case 2: { //Disegno Pagina 2 lcd.SetTextColor(BackColor); lcd.FillRect(0, 0, 800, 409); lcd.SetTextColor(black); for (int riga=0; riga<MAX_HEATER; riga++) { lcd.DisplayStringAt(10, LINE(1+2*riga), (uint8_t *)"Heater :", LEFT_MODE); //lcd.DisplayStringAt(10, LINE(7+2*riga), (uint8_t *)"Calibration :", LEFT_MODE); sprintf((char*)text, "%d", riga+1); lcd.DisplayStringAt(120,LINE(1+2*riga), (uint8_t *)&text, LEFT_MODE); sprintf((char*)text, "%2.3f", Heater[riga].limit); lcd.DisplayStringAt(660,LINE(1+2*riga), (uint8_t *)&text, LEFT_MODE); //lcd.DisplayStringAt(210,LINE(7+2*riga), (uint8_t *)&text, LEFT_MODE); //sprintf((char*)text, "%2.3f", Heater[riga].offset); //lcd.DisplayStringAt(250,LINE(7+2*riga), (uint8_t *)&text, LEFT_MODE); } } break; //------------------------------------------------------------------ case 3: { //Disegno Pagina 3 lcd.SetTextColor(BackColor); lcd.FillRect(0, 0, 800, 409); lcd.SetTextColor(black); lcd.DisplayStringAt(10, LINE(1), (uint8_t *)"Analog Signals", CENTER_MODE); lcd.DisplayStringAt(10, LINE(2), (uint8_t *)"BCl3 :", LEFT_MODE); lcd.DisplayStringAt(10, LINE(3), (uint8_t *)"gas2 :", LEFT_MODE); lcd.DisplayStringAt(10, LINE(4), (uint8_t *)"gas3 :", LEFT_MODE); lcd.DisplayStringAt(10, LINE(5), (uint8_t *)"gas4 :", LEFT_MODE); lcd.DisplayStringAt(10, LINE(6), (uint8_t *)"gas5 :", LEFT_MODE); lcd.DisplayStringAt(10, LINE(7), (uint8_t *)"gas6 :", LEFT_MODE); lcd.DisplayStringAt(10, LINE(8), (uint8_t *)"gas7 :", LEFT_MODE); lcd.DisplayStringAt(10, LINE(9), (uint8_t *)"gas8 :", LEFT_MODE); lcd.DisplayStringAt(10, LINE(10), (uint8_t *)"Digital Signals", CENTER_MODE); lcd.DisplayStringAt(10, LINE(11), (uint8_t *)"dig1 :", LEFT_MODE); lcd.DisplayStringAt(10, LINE(12), (uint8_t *)"dig2 :", LEFT_MODE); lcd.DisplayStringAt(10, LINE(13), (uint8_t *)"dig3 :", LEFT_MODE); } break; //---------------------------------------------------------------------- case 4: { //Disegno Pagina 4 lcd.SetTextColor(BackColor); lcd.FillRect(0, 0, 800, 409); lcd.SetTextColor(black); lcd.DisplayStringAt(5, LINE(3), (uint8_t *)"OT display", LEFT_MODE); lcd.DisplayStringAt(5, LINE(4), (uint8_t *)"OT control", LEFT_MODE); lcd.DisplayStringAt(5, LINE(5), (uint8_t *)"Heater display", LEFT_MODE); lcd.DisplayStringAt(5, LINE(6), (uint8_t *)"Heater control", LEFT_MODE); lcd.DisplayStringAt(5, LINE(7), (uint8_t *)"Analog display", LEFT_MODE); lcd.DisplayStringAt(5, LINE(8), (uint8_t *)"Analog control", LEFT_MODE); lcd.DisplayStringAt(5, LINE(9), (uint8_t *)"Digital display", LEFT_MODE); lcd.DisplayStringAt(5, LINE(10), (uint8_t *)"Digital control", LEFT_MODE); (is_OT_displayed) ? lcd.DisplayStringAt(350, LINE(3), (uint8_t *)"ACTIVE", LEFT_MODE) : lcd.DisplayStringAt(350, LINE(3), (uint8_t *)"NOT ACTIVE", LEFT_MODE); (is_OT_controlled) ? lcd.DisplayStringAt(350, LINE(4), (uint8_t *)"ACTIVE", LEFT_MODE) : lcd.DisplayStringAt(350, LINE(4), (uint8_t *)"NOT ACTIVE", LEFT_MODE); (is_Heater_displayed) ? lcd.DisplayStringAt(350, LINE(5), (uint8_t *)"ACTIVE", LEFT_MODE) : lcd.DisplayStringAt(350, LINE(5), (uint8_t *)"NOT ACTIVE", LEFT_MODE); (is_Heater_controlled) ? lcd.DisplayStringAt(350, LINE(6), (uint8_t *)"ACTIVE", LEFT_MODE) : lcd.DisplayStringAt(350, LINE(6), (uint8_t *)"NOT ACTIVE", LEFT_MODE); (is_Analog_displayed) ? lcd.DisplayStringAt(350, LINE(7), (uint8_t *)"ACTIVE", LEFT_MODE) : lcd.DisplayStringAt(350, LINE(7), (uint8_t *)"NOT ACTIVE", LEFT_MODE); (is_Analog_controlled) ? lcd.DisplayStringAt(350, LINE(8), (uint8_t *)"ACTIVE", LEFT_MODE) : lcd.DisplayStringAt(350, LINE(8), (uint8_t *)"NOT ACTIVE", LEFT_MODE); (is_Digital_displayed) ? lcd.DisplayStringAt(350, LINE(9), (uint8_t *)"ACTIVE", LEFT_MODE) : lcd.DisplayStringAt(350, LINE(9), (uint8_t *)"NOT ACTIVE", LEFT_MODE); (is_Digital_controlled) ? lcd.DisplayStringAt(350, LINE(10), (uint8_t *)"ACTIVE", LEFT_MODE) : lcd.DisplayStringAt(350, LINE(10), (uint8_t *)"NOT ACTIVE", LEFT_MODE); } break; //---------------------------------------------------------------------- } } //////////////////////////////////////////////////////////////////////////////// void display_sheet_number() { //visualizza il numero della pagina attuale sul display in basso a sinistra sprintf((char*)text, "%d", actual_sheet); lcd.DisplayStringAt(10,415, (uint8_t *)&text, LEFT_MODE); } //////////////////////////////////////////////////////////////////////////////// #endif