versione al 6/5/18
Dependencies: BSP_DISCO_F469NI LCD_DISCO_F469NI Shifter2 TS_DISCO_F469NI max31865 mbed
functions.h@0:c051cea27cbf, 2018-05-06 (annotated)
- Committer:
- billycorgan123
- Date:
- Sun May 06 14:32:42 2018 +0000
- Revision:
- 0:c051cea27cbf
versione aggiornata
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
billycorgan123 | 0:c051cea27cbf | 1 | #ifndef FUCTIONS_H |
billycorgan123 | 0:c051cea27cbf | 2 | #define FUNCTIONS_H |
billycorgan123 | 0:c051cea27cbf | 3 | |
billycorgan123 | 0:c051cea27cbf | 4 | #include "colors.c" |
billycorgan123 | 0:c051cea27cbf | 5 | #include "mbed.h" |
billycorgan123 | 0:c051cea27cbf | 6 | #include "Output.h" |
billycorgan123 | 0:c051cea27cbf | 7 | #include "Shifter.h" |
billycorgan123 | 0:c051cea27cbf | 8 | #include "LCD_DISCO_F469NI.h" |
billycorgan123 | 0:c051cea27cbf | 9 | |
billycorgan123 | 0:c051cea27cbf | 10 | LCD_DISCO_F469NI lcd; |
billycorgan123 | 0:c051cea27cbf | 11 | TS_DISCO_F469NI ts; |
billycorgan123 | 0:c051cea27cbf | 12 | uint16_t X, Y; |
billycorgan123 | 0:c051cea27cbf | 13 | uint8_t status; |
billycorgan123 | 0:c051cea27cbf | 14 | uint8_t cleared = 0; |
billycorgan123 | 0:c051cea27cbf | 15 | uint8_t prev_nb_touches = 0; |
billycorgan123 | 0:c051cea27cbf | 16 | uint8_t text[30]; |
billycorgan123 | 0:c051cea27cbf | 17 | |
billycorgan123 | 0:c051cea27cbf | 18 | TS_StateTypeDef TS_State; |
billycorgan123 | 0:c051cea27cbf | 19 | |
billycorgan123 | 0:c051cea27cbf | 20 | Serial pc(SERIAL_TX, SERIAL_RX); |
billycorgan123 | 0:c051cea27cbf | 21 | MAX31865_RTD PT1(MAX31865_RTD::RTD_PT100,D11, D12, D13, A0); |
billycorgan123 | 0:c051cea27cbf | 22 | MAX31865_RTD PT2(MAX31865_RTD::RTD_PT100,D11, D12, D13, A1); |
billycorgan123 | 0:c051cea27cbf | 23 | MAX31865_RTD PT3(MAX31865_RTD::RTD_PT100,D11, D12, D13, A2); |
billycorgan123 | 0:c051cea27cbf | 24 | |
billycorgan123 | 0:c051cea27cbf | 25 | |
billycorgan123 | 0:c051cea27cbf | 26 | |
billycorgan123 | 0:c051cea27cbf | 27 | /// dichiarazione variabili //////////////////////////////////////////////////// |
billycorgan123 | 0:c051cea27cbf | 28 | //per i sensori |
billycorgan123 | 0:c051cea27cbf | 29 | static bool myDataIn[8] = {1,0,1,0,1,0,1,0}; |
billycorgan123 | 0:c051cea27cbf | 30 | //myDataIn[0] tappo caffè chiuso; |
billycorgan123 | 0:c051cea27cbf | 31 | //myDataIn[1] sensore porta chiusa; |
billycorgan123 | 0:c051cea27cbf | 32 | //myDataIn[2] finecorsa sarico aperto; |
billycorgan123 | 0:c051cea27cbf | 33 | //myDataIn[3] finecorsa scarico chiuso; |
billycorgan123 | 0:c051cea27cbf | 34 | //myDataIn[4]; //da dare un nome |
billycorgan123 | 0:c051cea27cbf | 35 | //myDataIn[5]; //da dare un nome |
billycorgan123 | 0:c051cea27cbf | 36 | //myDataIn[6]; //da dare un nome |
billycorgan123 | 0:c051cea27cbf | 37 | //myDataIn[7]; //da dare un nome |
billycorgan123 | 0:c051cea27cbf | 38 | |
billycorgan123 | 0:c051cea27cbf | 39 | //per i relay |
billycorgan123 | 0:c051cea27cbf | 40 | Shifter scheda_8relay; //!! pinout defined in library |
billycorgan123 | 0:c051cea27cbf | 41 | Output Bloccoporta; // |
billycorgan123 | 0:c051cea27cbf | 42 | Output Giracaffe; // palette agita caffé |
billycorgan123 | 0:c051cea27cbf | 43 | Output Lampadina; // Lampadina |
billycorgan123 | 0:c051cea27cbf | 44 | Output VTangenziale; // 1 |
billycorgan123 | 0:c051cea27cbf | 45 | Output VRadiale; // 2 |
billycorgan123 | 0:c051cea27cbf | 46 | Output Scarico_caffe; // motore scarico caffé |
billycorgan123 | 0:c051cea27cbf | 47 | Output Resistenza1; // |
billycorgan123 | 0:c051cea27cbf | 48 | Output Resistenza2; // |
billycorgan123 | 0:c051cea27cbf | 49 | Output Ventola; // cooling |
billycorgan123 | 0:c051cea27cbf | 50 | |
billycorgan123 | 0:c051cea27cbf | 51 | bool Activate_Door; //sul SSR per comandare il bloccoporta |
billycorgan123 | 0:c051cea27cbf | 52 | |
billycorgan123 | 0:c051cea27cbf | 53 | /// funzioni /////////////////////////////////////////////////////////////////// |
billycorgan123 | 0:c051cea27cbf | 54 | bool setup_griglia() |
billycorgan123 | 0:c051cea27cbf | 55 | { |
billycorgan123 | 0:c051cea27cbf | 56 | lcd.Clear(light_sky_blue); |
billycorgan123 | 0:c051cea27cbf | 57 | lcd.SetBackColor(light_sky_blue); |
billycorgan123 | 0:c051cea27cbf | 58 | lcd.SetFont(&Font24); |
billycorgan123 | 0:c051cea27cbf | 59 | lcd.SetTextColor(black); |
billycorgan123 | 0:c051cea27cbf | 60 | lcd.DisplayStringAt(670, LINE(0), (uint8_t *)"Ver 1.0", LEFT_MODE); |
billycorgan123 | 0:c051cea27cbf | 61 | // STOP CLEAN ROAST |
billycorgan123 | 0:c051cea27cbf | 62 | int riga, colonna, contatore=0; |
billycorgan123 | 0:c051cea27cbf | 63 | //STOP |
billycorgan123 | 0:c051cea27cbf | 64 | contatore=0; |
billycorgan123 | 0:c051cea27cbf | 65 | for (riga=0; riga<120; riga++) { |
billycorgan123 | 0:c051cea27cbf | 66 | for ( colonna=0; colonna<120; colonna++) { |
billycorgan123 | 0:c051cea27cbf | 67 | lcd.DrawPixel (20+colonna, 20+ riga, _acAPower[contatore]); |
billycorgan123 | 0:c051cea27cbf | 68 | contatore++; |
billycorgan123 | 0:c051cea27cbf | 69 | } |
billycorgan123 | 0:c051cea27cbf | 70 | colonna=0; |
billycorgan123 | 0:c051cea27cbf | 71 | } |
billycorgan123 | 0:c051cea27cbf | 72 | //lcd.DrawRect (20, 20, 120, 120); |
billycorgan123 | 0:c051cea27cbf | 73 | //-------------------------------------------------------------------------- |
billycorgan123 | 0:c051cea27cbf | 74 | //CLEAN |
billycorgan123 | 0:c051cea27cbf | 75 | contatore=0; |
billycorgan123 | 0:c051cea27cbf | 76 | for (riga=0; riga<120; riga++) { |
billycorgan123 | 0:c051cea27cbf | 77 | for ( colonna=0; colonna<120; colonna++) { |
billycorgan123 | 0:c051cea27cbf | 78 | lcd.DrawPixel (20+colonna, 165+ riga, _acAClean[contatore]); |
billycorgan123 | 0:c051cea27cbf | 79 | contatore++; |
billycorgan123 | 0:c051cea27cbf | 80 | } |
billycorgan123 | 0:c051cea27cbf | 81 | colonna=0; |
billycorgan123 | 0:c051cea27cbf | 82 | } |
billycorgan123 | 0:c051cea27cbf | 83 | //lcd.DrawRect (20, 165, 120, 120); |
billycorgan123 | 0:c051cea27cbf | 84 | //-------------------------------------------------------------------------- |
billycorgan123 | 0:c051cea27cbf | 85 | //ROAST |
billycorgan123 | 0:c051cea27cbf | 86 | contatore=0; |
billycorgan123 | 0:c051cea27cbf | 87 | for (riga=0; riga<120; riga++) { |
billycorgan123 | 0:c051cea27cbf | 88 | for ( colonna=0; colonna<120; colonna++) { |
billycorgan123 | 0:c051cea27cbf | 89 | lcd.DrawPixel (20+colonna, 290+ riga, _acARoast[contatore]); |
billycorgan123 | 0:c051cea27cbf | 90 | contatore++; |
billycorgan123 | 0:c051cea27cbf | 91 | } |
billycorgan123 | 0:c051cea27cbf | 92 | colonna=0; |
billycorgan123 | 0:c051cea27cbf | 93 | } |
billycorgan123 | 0:c051cea27cbf | 94 | //lcd.DrawRect (20, 290, 120, 120); |
billycorgan123 | 0:c051cea27cbf | 95 | //-------------------------------------------------------------------------- |
billycorgan123 | 0:c051cea27cbf | 96 | //PULSANTI |
billycorgan123 | 0:c051cea27cbf | 97 | contatore=0; |
billycorgan123 | 0:c051cea27cbf | 98 | for (riga=0; riga<140; riga++) { |
billycorgan123 | 0:c051cea27cbf | 99 | for ( colonna=0; colonna<200; colonna++) { |
billycorgan123 | 0:c051cea27cbf | 100 | lcd.DrawPixel (180+colonna, 270+ riga, _acAPulsanti[contatore]); |
billycorgan123 | 0:c051cea27cbf | 101 | contatore++; |
billycorgan123 | 0:c051cea27cbf | 102 | } |
billycorgan123 | 0:c051cea27cbf | 103 | colonna=0; |
billycorgan123 | 0:c051cea27cbf | 104 | } |
billycorgan123 | 0:c051cea27cbf | 105 | //lcd.DrawRect (180, 270, 200, 140); |
billycorgan123 | 0:c051cea27cbf | 106 | //lcd.DrawRect (220, 270, 60, 60); |
billycorgan123 | 0:c051cea27cbf | 107 | //lcd.DrawRect (325, 270, 60, 60); |
billycorgan123 | 0:c051cea27cbf | 108 | //lcd.DrawRect (220, 350, 60, 60); |
billycorgan123 | 0:c051cea27cbf | 109 | //lcd.DrawRect (325, 350, 60, 60); |
billycorgan123 | 0:c051cea27cbf | 110 | |
billycorgan123 | 0:c051cea27cbf | 111 | lcd.DisplayStringAt(200, LINE( 8), (uint8_t *)"Time:", LEFT_MODE); |
billycorgan123 | 0:c051cea27cbf | 112 | lcd.DisplayStringAt(330, LINE(8), (uint8_t *)"'", LEFT_MODE); |
billycorgan123 | 0:c051cea27cbf | 113 | lcd.DisplayStringAt(385, LINE(8), (uint8_t *)"''", LEFT_MODE); |
billycorgan123 | 0:c051cea27cbf | 114 | lcd.DisplayStringAt(200, LINE( 10), (uint8_t *)"Temp:", LEFT_MODE); |
billycorgan123 | 0:c051cea27cbf | 115 | lcd.DrawCircle(355, LINE(10)+3, 4); |
billycorgan123 | 0:c051cea27cbf | 116 | lcd.DisplayStringAt(360, LINE( 10), (uint8_t *)"C", LEFT_MODE); |
billycorgan123 | 0:c051cea27cbf | 117 | lcd.DisplayStringAt(620, LINE( 9), (uint8_t *)"T1:", LEFT_MODE); |
billycorgan123 | 0:c051cea27cbf | 118 | lcd.DisplayStringAt(620, LINE(11), (uint8_t *)"T2:", LEFT_MODE); |
billycorgan123 | 0:c051cea27cbf | 119 | lcd.DisplayStringAt(620, LINE(13), (uint8_t *)"T3:", LEFT_MODE); |
billycorgan123 | 0:c051cea27cbf | 120 | |
billycorgan123 | 0:c051cea27cbf | 121 | //per prova, da togliere dopo |
billycorgan123 | 0:c051cea27cbf | 122 | lcd.SetTextColor(red); |
billycorgan123 | 0:c051cea27cbf | 123 | lcd.FillRect (620, 20, 70, 70); |
billycorgan123 | 0:c051cea27cbf | 124 | lcd.SetTextColor(green); |
billycorgan123 | 0:c051cea27cbf | 125 | lcd.FillRect (620, 100, 70, 70); |
billycorgan123 | 0:c051cea27cbf | 126 | lcd.SetTextColor(black); |
billycorgan123 | 0:c051cea27cbf | 127 | //fino qui |
billycorgan123 | 0:c051cea27cbf | 128 | |
billycorgan123 | 0:c051cea27cbf | 129 | PT1.configure( true, true, false, true, MAX31865_FAULT_DETECTION_NONE, |
billycorgan123 | 0:c051cea27cbf | 130 | true, true, 0x0000, 0x7fff ); |
billycorgan123 | 0:c051cea27cbf | 131 | PT2.configure( true, true, false, true, MAX31865_FAULT_DETECTION_NONE, |
billycorgan123 | 0:c051cea27cbf | 132 | true, true, 0x0000, 0x7fff ); |
billycorgan123 | 0:c051cea27cbf | 133 | PT3.configure( true, true, false, true, MAX31865_FAULT_DETECTION_NONE, |
billycorgan123 | 0:c051cea27cbf | 134 | true, true, 0x0000, 0x7fff ); |
billycorgan123 | 0:c051cea27cbf | 135 | |
billycorgan123 | 0:c051cea27cbf | 136 | return 0; |
billycorgan123 | 0:c051cea27cbf | 137 | } |
billycorgan123 | 0:c051cea27cbf | 138 | //------------------------------------------------------------------------------ |
billycorgan123 | 0:c051cea27cbf | 139 | bool * getData() |
billycorgan123 | 0:c051cea27cbf | 140 | { |
billycorgan123 | 0:c051cea27cbf | 141 | //define where your pins are |
billycorgan123 | 0:c051cea27cbf | 142 | DigitalOut latchPin(D7); |
billycorgan123 | 0:c051cea27cbf | 143 | DigitalOut clockPin(D6); |
billycorgan123 | 0:c051cea27cbf | 144 | DigitalIn dataPin(D5); |
billycorgan123 | 0:c051cea27cbf | 145 | float tempoattesa = 20; |
billycorgan123 | 0:c051cea27cbf | 146 | //acquiring values |
billycorgan123 | 0:c051cea27cbf | 147 | latchPin.write(1); |
billycorgan123 | 0:c051cea27cbf | 148 | wait_us(tempoattesa); |
billycorgan123 | 0:c051cea27cbf | 149 | //read values acquired and store in array |
billycorgan123 | 0:c051cea27cbf | 150 | latchPin.write(0); |
billycorgan123 | 0:c051cea27cbf | 151 | for (int i=7; i>=0; i--) { |
billycorgan123 | 0:c051cea27cbf | 152 | wait_us(tempoattesa); |
billycorgan123 | 0:c051cea27cbf | 153 | clockPin.write(0); |
billycorgan123 | 0:c051cea27cbf | 154 | wait_us(tempoattesa); |
billycorgan123 | 0:c051cea27cbf | 155 | myDataIn[i] = dataPin.read(); //1 if OT open, 0 if OT close |
billycorgan123 | 0:c051cea27cbf | 156 | clockPin.write(1); |
billycorgan123 | 0:c051cea27cbf | 157 | } |
billycorgan123 | 0:c051cea27cbf | 158 | for (int i=7; i>=0; i--) { // D7,D6,.....,D1,D0 |
billycorgan123 | 0:c051cea27cbf | 159 | sprintf((char*)text, "%d", myDataIn[0+i]); |
billycorgan123 | 0:c051cea27cbf | 160 | lcd.DisplayStringAt(580+20*i,LINE(8), (uint8_t *)&text, LEFT_MODE); |
billycorgan123 | 0:c051cea27cbf | 161 | } |
billycorgan123 | 0:c051cea27cbf | 162 | return myDataIn; |
billycorgan123 | 0:c051cea27cbf | 163 | } |
billycorgan123 | 0:c051cea27cbf | 164 | //------------------------------------------------------------------------------ |
billycorgan123 | 0:c051cea27cbf | 165 | void object_update() |
billycorgan123 | 0:c051cea27cbf | 166 | { |
billycorgan123 | 0:c051cea27cbf | 167 | //update delle immagini e dello stato delle uscite |
billycorgan123 | 0:c051cea27cbf | 168 | Lampadina.draw_image (&_acLampadina_acceso[0], &_acLampadina_spento[0], Lampadina.stato, 230, 20); |
billycorgan123 | 0:c051cea27cbf | 169 | Resistenza1.draw_image (&_acResistenza1_acceso[0], &_acResistenza1_spento[0], Resistenza1.stato, 300, 20); |
billycorgan123 | 0:c051cea27cbf | 170 | Resistenza2.draw_image (&_acResistenza2_acceso[0], &_acResistenza2_spento[0], Resistenza2.stato, 370, 20); |
billycorgan123 | 0:c051cea27cbf | 171 | Giracaffe.draw_image (&_acGiracaffe_acceso[0], &_acGiracaffe_spento[0], Giracaffe.stato, 440, 20); |
billycorgan123 | 0:c051cea27cbf | 172 | Bloccoporta.draw_image (&_acPorta_aperto[0], &_acPorta_chiuso[0], Bloccoporta.stato, 230, 90); |
billycorgan123 | 0:c051cea27cbf | 173 | VTangenziale.draw_image (&_acVTangenziale_acceso[0], &_acVTangenziale_spento[0], VTangenziale.stato, 300, 90); |
billycorgan123 | 0:c051cea27cbf | 174 | VRadiale.draw_image (&_acVRadiale_acceso[0], &_acVRadiale_spento[0], VRadiale.stato, 370, 90); |
billycorgan123 | 0:c051cea27cbf | 175 | Ventola.draw_image (&_acVentola_acceso[0], &_acVentola_spento[0], Ventola.stato, 440, 90); |
billycorgan123 | 0:c051cea27cbf | 176 | //update uscita 74HC595 |
billycorgan123 | 0:c051cea27cbf | 177 | bool array[16]= {!Lampadina.stato, !Giracaffe.stato, !VTangenziale.stato, !Resistenza1.stato, !Resistenza2.stato, !VRadiale.stato, !Scarico_caffe.ON_OFF, !Scarico_caffe.CW_CCW, !Ventola.stato, Activate_Door,1,1,1,1,1,1}; |
billycorgan123 | 0:c051cea27cbf | 178 | for (int i=0; i<16; i++) scheda_8relay.setPin(i,array[i]); |
billycorgan123 | 0:c051cea27cbf | 179 | scheda_8relay.write(); |
billycorgan123 | 0:c051cea27cbf | 180 | } |
billycorgan123 | 0:c051cea27cbf | 181 | //------------------------------------------------------------------------------ |
billycorgan123 | 0:c051cea27cbf | 182 | void temperature_update() |
billycorgan123 | 0:c051cea27cbf | 183 | { |
billycorgan123 | 0:c051cea27cbf | 184 | PT1.read_all( ); |
billycorgan123 | 0:c051cea27cbf | 185 | sprintf((char*)text, "%1.0f", PT1.temperature( )); |
billycorgan123 | 0:c051cea27cbf | 186 | if (PT1.temperature( )>150) lcd.SetTextColor(red); |
billycorgan123 | 0:c051cea27cbf | 187 | else lcd.SetTextColor(black); |
billycorgan123 | 0:c051cea27cbf | 188 | lcd.DisplayStringAt(680, LINE(9), (uint8_t *)&text, LEFT_MODE); |
billycorgan123 | 0:c051cea27cbf | 189 | PT2.read_all( ); |
billycorgan123 | 0:c051cea27cbf | 190 | sprintf((char*)text, "%1.0f", PT2.temperature( )); |
billycorgan123 | 0:c051cea27cbf | 191 | if (PT2.temperature( )>150) lcd.SetTextColor(red); |
billycorgan123 | 0:c051cea27cbf | 192 | else lcd.SetTextColor(black); |
billycorgan123 | 0:c051cea27cbf | 193 | lcd.DisplayStringAt(680, LINE(11), (uint8_t *)&text, LEFT_MODE); |
billycorgan123 | 0:c051cea27cbf | 194 | PT3.read_all( ); |
billycorgan123 | 0:c051cea27cbf | 195 | sprintf((char*)text, "%1.0f", PT3.temperature( )); |
billycorgan123 | 0:c051cea27cbf | 196 | if (PT3.temperature( )>150) lcd.SetTextColor(red); |
billycorgan123 | 0:c051cea27cbf | 197 | else lcd.SetTextColor(black); |
billycorgan123 | 0:c051cea27cbf | 198 | lcd.DisplayStringAt(680, LINE(13), (uint8_t *)&text, LEFT_MODE); |
billycorgan123 | 0:c051cea27cbf | 199 | } |
billycorgan123 | 0:c051cea27cbf | 200 | |
billycorgan123 | 0:c051cea27cbf | 201 | //------------------------------------------------------------------------------ |
billycorgan123 | 0:c051cea27cbf | 202 | /// Lampadina |
billycorgan123 | 0:c051cea27cbf | 203 | void Lampadina_acceso() |
billycorgan123 | 0:c051cea27cbf | 204 | { |
billycorgan123 | 0:c051cea27cbf | 205 | Lampadina.stato=1; |
billycorgan123 | 0:c051cea27cbf | 206 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 207 | } |
billycorgan123 | 0:c051cea27cbf | 208 | void Lampadina_spento() |
billycorgan123 | 0:c051cea27cbf | 209 | { |
billycorgan123 | 0:c051cea27cbf | 210 | Lampadina.stato=0; |
billycorgan123 | 0:c051cea27cbf | 211 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 212 | } |
billycorgan123 | 0:c051cea27cbf | 213 | //------------------------------------------------------------------------------ |
billycorgan123 | 0:c051cea27cbf | 214 | /// Resistenza 1 |
billycorgan123 | 0:c051cea27cbf | 215 | void Resistenza1_acceso() |
billycorgan123 | 0:c051cea27cbf | 216 | { |
billycorgan123 | 0:c051cea27cbf | 217 | Resistenza1.stato=1; |
billycorgan123 | 0:c051cea27cbf | 218 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 219 | } |
billycorgan123 | 0:c051cea27cbf | 220 | void Resistenza1_spento() |
billycorgan123 | 0:c051cea27cbf | 221 | { |
billycorgan123 | 0:c051cea27cbf | 222 | Resistenza1.stato=0; |
billycorgan123 | 0:c051cea27cbf | 223 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 224 | } |
billycorgan123 | 0:c051cea27cbf | 225 | //------------------------------------------------------------------------------ |
billycorgan123 | 0:c051cea27cbf | 226 | /// Resistenza 2 |
billycorgan123 | 0:c051cea27cbf | 227 | void Resistenza2_acceso() |
billycorgan123 | 0:c051cea27cbf | 228 | { |
billycorgan123 | 0:c051cea27cbf | 229 | Resistenza2.stato=1; |
billycorgan123 | 0:c051cea27cbf | 230 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 231 | } |
billycorgan123 | 0:c051cea27cbf | 232 | void Resistenza2_spento() |
billycorgan123 | 0:c051cea27cbf | 233 | { |
billycorgan123 | 0:c051cea27cbf | 234 | Resistenza2.stato=0; |
billycorgan123 | 0:c051cea27cbf | 235 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 236 | } |
billycorgan123 | 0:c051cea27cbf | 237 | //------------------------------------------------------------------------------ |
billycorgan123 | 0:c051cea27cbf | 238 | /// Ventola 12/24 volt |
billycorgan123 | 0:c051cea27cbf | 239 | void Ventola_acceso() |
billycorgan123 | 0:c051cea27cbf | 240 | { |
billycorgan123 | 0:c051cea27cbf | 241 | Ventola.stato=1; |
billycorgan123 | 0:c051cea27cbf | 242 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 243 | } |
billycorgan123 | 0:c051cea27cbf | 244 | void Ventola_spento() |
billycorgan123 | 0:c051cea27cbf | 245 | { |
billycorgan123 | 0:c051cea27cbf | 246 | Ventola.stato=0; |
billycorgan123 | 0:c051cea27cbf | 247 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 248 | } |
billycorgan123 | 0:c051cea27cbf | 249 | //------------------------------------------------------------------------------ |
billycorgan123 | 0:c051cea27cbf | 250 | /// Ventola Radiale |
billycorgan123 | 0:c051cea27cbf | 251 | void VRadiale_acceso() |
billycorgan123 | 0:c051cea27cbf | 252 | { |
billycorgan123 | 0:c051cea27cbf | 253 | VRadiale.stato=1; |
billycorgan123 | 0:c051cea27cbf | 254 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 255 | } |
billycorgan123 | 0:c051cea27cbf | 256 | void VRadiale_spento() |
billycorgan123 | 0:c051cea27cbf | 257 | { |
billycorgan123 | 0:c051cea27cbf | 258 | VRadiale.stato=0; |
billycorgan123 | 0:c051cea27cbf | 259 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 260 | } |
billycorgan123 | 0:c051cea27cbf | 261 | //------------------------------------------------------------------------------ |
billycorgan123 | 0:c051cea27cbf | 262 | /// Ventola Tangenziale |
billycorgan123 | 0:c051cea27cbf | 263 | void VTangenziale_acceso() |
billycorgan123 | 0:c051cea27cbf | 264 | { |
billycorgan123 | 0:c051cea27cbf | 265 | VTangenziale.stato=1; |
billycorgan123 | 0:c051cea27cbf | 266 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 267 | } |
billycorgan123 | 0:c051cea27cbf | 268 | void VTangenziale_spento() |
billycorgan123 | 0:c051cea27cbf | 269 | { |
billycorgan123 | 0:c051cea27cbf | 270 | VTangenziale.stato=0; |
billycorgan123 | 0:c051cea27cbf | 271 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 272 | } |
billycorgan123 | 0:c051cea27cbf | 273 | //------------------------------------------------------------------------------ |
billycorgan123 | 0:c051cea27cbf | 274 | /// Giracaffe |
billycorgan123 | 0:c051cea27cbf | 275 | void Giracaffe_acceso() |
billycorgan123 | 0:c051cea27cbf | 276 | { |
billycorgan123 | 0:c051cea27cbf | 277 | Giracaffe.stato=1; |
billycorgan123 | 0:c051cea27cbf | 278 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 279 | } |
billycorgan123 | 0:c051cea27cbf | 280 | void Giracaffe_spento() |
billycorgan123 | 0:c051cea27cbf | 281 | { |
billycorgan123 | 0:c051cea27cbf | 282 | Giracaffe.stato=0; |
billycorgan123 | 0:c051cea27cbf | 283 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 284 | } |
billycorgan123 | 0:c051cea27cbf | 285 | //------------------------------------------------------------------------------ |
billycorgan123 | 0:c051cea27cbf | 286 | ///Apro scarico caffe |
billycorgan123 | 0:c051cea27cbf | 287 | bool Apro_scarico() |
billycorgan123 | 0:c051cea27cbf | 288 | { |
billycorgan123 | 0:c051cea27cbf | 289 | do { |
billycorgan123 | 0:c051cea27cbf | 290 | lcd.DisplayStringAt(10, LINE(18), (uint8_t *)"SCARICO CAFFE ", LEFT_MODE); |
billycorgan123 | 0:c051cea27cbf | 291 | Scarico_caffe.CW_CCW=1; |
billycorgan123 | 0:c051cea27cbf | 292 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 293 | wait(0.5); |
billycorgan123 | 0:c051cea27cbf | 294 | Scarico_caffe.ON_OFF=1; |
billycorgan123 | 0:c051cea27cbf | 295 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 296 | getData(); |
billycorgan123 | 0:c051cea27cbf | 297 | }while(!myDataIn[2]); |
billycorgan123 | 0:c051cea27cbf | 298 | Scarico_caffe.ON_OFF=0; |
billycorgan123 | 0:c051cea27cbf | 299 | lcd.DisplayStringAt(10, LINE(18), (uint8_t *)" ", LEFT_MODE); |
billycorgan123 | 0:c051cea27cbf | 300 | wait(0.4); |
billycorgan123 | 0:c051cea27cbf | 301 | return 0; |
billycorgan123 | 0:c051cea27cbf | 302 | } |
billycorgan123 | 0:c051cea27cbf | 303 | ///Chiudo scarico |
billycorgan123 | 0:c051cea27cbf | 304 | bool Chiudo_scarico() |
billycorgan123 | 0:c051cea27cbf | 305 | { |
billycorgan123 | 0:c051cea27cbf | 306 | do { |
billycorgan123 | 0:c051cea27cbf | 307 | lcd.DisplayStringAt(10, LINE(18), (uint8_t *)"CHIUDO SCARICO ", LEFT_MODE); |
billycorgan123 | 0:c051cea27cbf | 308 | Scarico_caffe.CW_CCW=0; |
billycorgan123 | 0:c051cea27cbf | 309 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 310 | wait(0.5); |
billycorgan123 | 0:c051cea27cbf | 311 | Scarico_caffe.ON_OFF=1; |
billycorgan123 | 0:c051cea27cbf | 312 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 313 | getData(); |
billycorgan123 | 0:c051cea27cbf | 314 | }while(!myDataIn[3]); |
billycorgan123 | 0:c051cea27cbf | 315 | Scarico_caffe.ON_OFF=0; |
billycorgan123 | 0:c051cea27cbf | 316 | lcd.DisplayStringAt(10, LINE(18), (uint8_t *)" ", LEFT_MODE); |
billycorgan123 | 0:c051cea27cbf | 317 | wait(0.4); |
billycorgan123 | 0:c051cea27cbf | 318 | return 0; |
billycorgan123 | 0:c051cea27cbf | 319 | } |
billycorgan123 | 0:c051cea27cbf | 320 | //------------------------------------------------------------------------------ |
billycorgan123 | 0:c051cea27cbf | 321 | ///Porta |
billycorgan123 | 0:c051cea27cbf | 322 | bool apro_porta() |
billycorgan123 | 0:c051cea27cbf | 323 | { |
billycorgan123 | 0:c051cea27cbf | 324 | //attivazione del relay |
billycorgan123 | 0:c051cea27cbf | 325 | Activate_Door=0; |
billycorgan123 | 0:c051cea27cbf | 326 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 327 | wait(0.100); |
billycorgan123 | 0:c051cea27cbf | 328 | Activate_Door=1; |
billycorgan123 | 0:c051cea27cbf | 329 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 330 | wait(0.050); |
billycorgan123 | 0:c051cea27cbf | 331 | Activate_Door=0; |
billycorgan123 | 0:c051cea27cbf | 332 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 333 | wait(0.200); |
billycorgan123 | 0:c051cea27cbf | 334 | Activate_Door=1; |
billycorgan123 | 0:c051cea27cbf | 335 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 336 | wait(0.050); |
billycorgan123 | 0:c051cea27cbf | 337 | Activate_Door=0; |
billycorgan123 | 0:c051cea27cbf | 338 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 339 | /// |
billycorgan123 | 0:c051cea27cbf | 340 | lcd.DisplayStringAt(10, LINE(18), (uint8_t *)"PORTA APERTA ", LEFT_MODE); |
billycorgan123 | 0:c051cea27cbf | 341 | wait(1.0); |
billycorgan123 | 0:c051cea27cbf | 342 | lcd.DisplayStringAt(10, LINE(18), (uint8_t *)" ", LEFT_MODE); |
billycorgan123 | 0:c051cea27cbf | 343 | Bloccoporta.stato=0; |
billycorgan123 | 0:c051cea27cbf | 344 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 345 | return 0; |
billycorgan123 | 0:c051cea27cbf | 346 | } |
billycorgan123 | 0:c051cea27cbf | 347 | bool chiudo_porta() |
billycorgan123 | 0:c051cea27cbf | 348 | { |
billycorgan123 | 0:c051cea27cbf | 349 | do { |
billycorgan123 | 0:c051cea27cbf | 350 | } while (!Chiudo_scarico()); |
billycorgan123 | 0:c051cea27cbf | 351 | do { |
billycorgan123 | 0:c051cea27cbf | 352 | getData(); |
billycorgan123 | 0:c051cea27cbf | 353 | lcd.DisplayStringAt(10, LINE(18), (uint8_t *)"CHIUDI IL TAPPO CAFFE' ", LEFT_MODE); |
billycorgan123 | 0:c051cea27cbf | 354 | wait(0.1); |
billycorgan123 | 0:c051cea27cbf | 355 | } while (!myDataIn[0]); |
billycorgan123 | 0:c051cea27cbf | 356 | do { |
billycorgan123 | 0:c051cea27cbf | 357 | getData(); |
billycorgan123 | 0:c051cea27cbf | 358 | lcd.DisplayStringAt(10, LINE(18), (uint8_t *)"CHIUDI LA PORTA ", LEFT_MODE); |
billycorgan123 | 0:c051cea27cbf | 359 | wait(0.1); |
billycorgan123 | 0:c051cea27cbf | 360 | } while (!myDataIn[1]); //NB porta chiusa lo stato logico è =1, se è aperta lo stato logico è 0 e il ciclo while, finatanto che, non è fatto, ecco il perchè della negazione |
billycorgan123 | 0:c051cea27cbf | 361 | //attivazione del relay per chiudere la porta |
billycorgan123 | 0:c051cea27cbf | 362 | Activate_Door=0; |
billycorgan123 | 0:c051cea27cbf | 363 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 364 | wait(0.100); |
billycorgan123 | 0:c051cea27cbf | 365 | Activate_Door=1; |
billycorgan123 | 0:c051cea27cbf | 366 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 367 | wait(0.050); |
billycorgan123 | 0:c051cea27cbf | 368 | Activate_Door=0; |
billycorgan123 | 0:c051cea27cbf | 369 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 370 | wait(0.100); |
billycorgan123 | 0:c051cea27cbf | 371 | /// |
billycorgan123 | 0:c051cea27cbf | 372 | lcd.DisplayStringAt(10, LINE(18), (uint8_t *)"PORTA CHIUSA ", LEFT_MODE); |
billycorgan123 | 0:c051cea27cbf | 373 | Bloccoporta.stato=1; |
billycorgan123 | 0:c051cea27cbf | 374 | object_update(); |
billycorgan123 | 0:c051cea27cbf | 375 | wait(1.200); |
billycorgan123 | 0:c051cea27cbf | 376 | lcd.DisplayStringAt(10, LINE(18), (uint8_t *)" ", LEFT_MODE); |
billycorgan123 | 0:c051cea27cbf | 377 | return 0; |
billycorgan123 | 0:c051cea27cbf | 378 | } |
billycorgan123 | 0:c051cea27cbf | 379 | //End of Functions// |
billycorgan123 | 0:c051cea27cbf | 380 | #endif |