
Parcial Junio Sistemas Embebidos Juan Eguidazu
Dependencies: mbed tsi_sensor MMA8451Q
main.cpp@0:25fa9c2b3c2a, 2020-06-22 (annotated)
- Committer:
- juaneguidazu
- Date:
- Mon Jun 22 03:52:08 2020 +0000
- Revision:
- 0:25fa9c2b3c2a
Parcial Junio; Sistemas Embebidos; Juan Eguidazu;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
juaneguidazu | 0:25fa9c2b3c2a | 1 | #include "mbed.h" |
juaneguidazu | 0:25fa9c2b3c2a | 2 | #include "tsi_sensor.h" |
juaneguidazu | 0:25fa9c2b3c2a | 3 | #include "MMA8451Q.h" |
juaneguidazu | 0:25fa9c2b3c2a | 4 | /* This defines will be replaced by PinNames soon */ |
juaneguidazu | 0:25fa9c2b3c2a | 5 | #if defined (TARGET_KL25Z) || defined (TARGET_KL46Z) |
juaneguidazu | 0:25fa9c2b3c2a | 6 | #define ELEC0 9 |
juaneguidazu | 0:25fa9c2b3c2a | 7 | #define ELEC1 10 |
juaneguidazu | 0:25fa9c2b3c2a | 8 | #elif defined (TARGET_KL05Z) |
juaneguidazu | 0:25fa9c2b3c2a | 9 | #define ELEC0 9 |
juaneguidazu | 0:25fa9c2b3c2a | 10 | #define ELEC1 8 |
juaneguidazu | 0:25fa9c2b3c2a | 11 | #else |
juaneguidazu | 0:25fa9c2b3c2a | 12 | #error TARGET NOT DEFINED |
juaneguidazu | 0:25fa9c2b3c2a | 13 | #endif |
juaneguidazu | 0:25fa9c2b3c2a | 14 | #if defined (TARGET_KL25Z) || defined (TARGET_KL46Z) |
juaneguidazu | 0:25fa9c2b3c2a | 15 | PinName const SDA = PTE25; |
juaneguidazu | 0:25fa9c2b3c2a | 16 | PinName const SCL = PTE24; |
juaneguidazu | 0:25fa9c2b3c2a | 17 | #elif defined (TARGET_KL05Z) |
juaneguidazu | 0:25fa9c2b3c2a | 18 | PinName const SDA = PTB4; |
juaneguidazu | 0:25fa9c2b3c2a | 19 | PinName const SCL = PTB3; |
juaneguidazu | 0:25fa9c2b3c2a | 20 | #elif defined (TARGET_K20D50M) |
juaneguidazu | 0:25fa9c2b3c2a | 21 | PinName const SDA = PTB1; |
juaneguidazu | 0:25fa9c2b3c2a | 22 | PinName const SCL = PTB0; |
juaneguidazu | 0:25fa9c2b3c2a | 23 | #else |
juaneguidazu | 0:25fa9c2b3c2a | 24 | #error TARGET NOT DEFINED |
juaneguidazu | 0:25fa9c2b3c2a | 25 | #endif |
juaneguidazu | 0:25fa9c2b3c2a | 26 | #define MMA8451_I2C_ADDRESS (0x1d<<1) |
juaneguidazu | 0:25fa9c2b3c2a | 27 | |
juaneguidazu | 0:25fa9c2b3c2a | 28 | DigitalOut rled(LED_RED); |
juaneguidazu | 0:25fa9c2b3c2a | 29 | DigitalOut gled(LED_GREEN); |
juaneguidazu | 0:25fa9c2b3c2a | 30 | DigitalOut bled(LED_BLUE); |
juaneguidazu | 0:25fa9c2b3c2a | 31 | DigitalOut ledon(PTD4); |
juaneguidazu | 0:25fa9c2b3c2a | 32 | AnalogIn tensionV(PTB0); |
juaneguidazu | 0:25fa9c2b3c2a | 33 | DigitalIn tensionD(PTA12); |
juaneguidazu | 0:25fa9c2b3c2a | 34 | // Definicion de patas |
juaneguidazu | 0:25fa9c2b3c2a | 35 | TSIAnalogSlider tsi(ELEC0, ELEC1, 40); |
juaneguidazu | 0:25fa9c2b3c2a | 36 | Ticker pulsador; |
juaneguidazu | 0:25fa9c2b3c2a | 37 | Ticker ledoon; |
juaneguidazu | 0:25fa9c2b3c2a | 38 | Ticker ledoff; |
juaneguidazu | 0:25fa9c2b3c2a | 39 | Ticker analogread; |
juaneguidazu | 0:25fa9c2b3c2a | 40 | void TIMER(void); |
juaneguidazu | 0:25fa9c2b3c2a | 41 | void LEDV(void); |
juaneguidazu | 0:25fa9c2b3c2a | 42 | void LEDON(void); |
juaneguidazu | 0:25fa9c2b3c2a | 43 | void MAQLEDON(void); |
juaneguidazu | 0:25fa9c2b3c2a | 44 | void LEDOFF(void); |
juaneguidazu | 0:25fa9c2b3c2a | 45 | void MAQLEDOFF(void); |
juaneguidazu | 0:25fa9c2b3c2a | 46 | void R_LRC(); |
juaneguidazu | 0:25fa9c2b3c2a | 47 | void RECEPCION(void); |
juaneguidazu | 0:25fa9c2b3c2a | 48 | void onCharReceived(); |
juaneguidazu | 0:25fa9c2b3c2a | 49 | void ANGIN(void); |
juaneguidazu | 0:25fa9c2b3c2a | 50 | int casosledon=0; |
juaneguidazu | 0:25fa9c2b3c2a | 51 | int tiempoledon=0; |
juaneguidazu | 0:25fa9c2b3c2a | 52 | int estadoon=0; |
juaneguidazu | 0:25fa9c2b3c2a | 53 | int casosledoff=0; |
juaneguidazu | 0:25fa9c2b3c2a | 54 | int tiempoledoff=0; |
juaneguidazu | 0:25fa9c2b3c2a | 55 | int estadooff=0; |
juaneguidazu | 0:25fa9c2b3c2a | 56 | float j=0; |
juaneguidazu | 0:25fa9c2b3c2a | 57 | bool hab=0; |
juaneguidazu | 0:25fa9c2b3c2a | 58 | int t=0; |
juaneguidazu | 0:25fa9c2b3c2a | 59 | int x, y, z, v, d; |
juaneguidazu | 0:25fa9c2b3c2a | 60 | int bytenum=0; |
juaneguidazu | 0:25fa9c2b3c2a | 61 | char buffer[3]; |
juaneguidazu | 0:25fa9c2b3c2a | 62 | char LRC=0; |
juaneguidazu | 0:25fa9c2b3c2a | 63 | int phab=0; |
juaneguidazu | 0:25fa9c2b3c2a | 64 | //Definimos que el puerto serie se llama pc |
juaneguidazu | 0:25fa9c2b3c2a | 65 | Serial pc(USBTX, USBRX); |
juaneguidazu | 0:25fa9c2b3c2a | 66 | //Variable donde se guarda lo leido |
juaneguidazu | 0:25fa9c2b3c2a | 67 | char c = '\0'; |
juaneguidazu | 0:25fa9c2b3c2a | 68 | //bit usado como flag para procesar datos |
juaneguidazu | 0:25fa9c2b3c2a | 69 | bool newdata = false; //Se pone en true cuando hay nuevos datos |
juaneguidazu | 0:25fa9c2b3c2a | 70 | int main(void) |
juaneguidazu | 0:25fa9c2b3c2a | 71 | { |
juaneguidazu | 0:25fa9c2b3c2a | 72 | //Ejecutar onCharReceived por cada entrada por puerto |
juaneguidazu | 0:25fa9c2b3c2a | 73 | pc.attach(&onCharReceived); |
juaneguidazu | 0:25fa9c2b3c2a | 74 | MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS); |
juaneguidazu | 0:25fa9c2b3c2a | 75 | //printf("MMA8451 ID: %d\n", acc.getWhoAmI()); |
juaneguidazu | 0:25fa9c2b3c2a | 76 | pulsador.attach(&TIMER,0.1); |
juaneguidazu | 0:25fa9c2b3c2a | 77 | ledoon.attach(&LEDON,0.1); |
juaneguidazu | 0:25fa9c2b3c2a | 78 | ledoff.attach(&LEDOFF,0.1); |
juaneguidazu | 0:25fa9c2b3c2a | 79 | analogread.attach(&ANGIN,0.2); |
juaneguidazu | 0:25fa9c2b3c2a | 80 | while (true) { |
juaneguidazu | 0:25fa9c2b3c2a | 81 | j=tsi.readPercentage(); |
juaneguidazu | 0:25fa9c2b3c2a | 82 | x = int ((abs(acc.getAccX()))*100); |
juaneguidazu | 0:25fa9c2b3c2a | 83 | y = int ((abs(acc.getAccY()))*100); |
juaneguidazu | 0:25fa9c2b3c2a | 84 | z = int ((abs(acc.getAccZ()))*100); |
juaneguidazu | 0:25fa9c2b3c2a | 85 | if(j>0&&t==0) { |
juaneguidazu | 0:25fa9c2b3c2a | 86 | hab=!hab; |
juaneguidazu | 0:25fa9c2b3c2a | 87 | if(hab == 1) { |
juaneguidazu | 0:25fa9c2b3c2a | 88 | tiempoledon = 2; |
juaneguidazu | 0:25fa9c2b3c2a | 89 | casosledon = 0; |
juaneguidazu | 0:25fa9c2b3c2a | 90 | estadoon = 1; |
juaneguidazu | 0:25fa9c2b3c2a | 91 | } |
juaneguidazu | 0:25fa9c2b3c2a | 92 | t=3; |
juaneguidazu | 0:25fa9c2b3c2a | 93 | } |
juaneguidazu | 0:25fa9c2b3c2a | 94 | if(hab==1) { |
juaneguidazu | 0:25fa9c2b3c2a | 95 | MAQLEDON(); |
juaneguidazu | 0:25fa9c2b3c2a | 96 | LEDV(); |
juaneguidazu | 0:25fa9c2b3c2a | 97 | RECEPCION(); |
juaneguidazu | 0:25fa9c2b3c2a | 98 | |
juaneguidazu | 0:25fa9c2b3c2a | 99 | switch(phab) { |
juaneguidazu | 0:25fa9c2b3c2a | 100 | default: |
juaneguidazu | 0:25fa9c2b3c2a | 101 | phab=0; |
juaneguidazu | 0:25fa9c2b3c2a | 102 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 103 | case 1: |
juaneguidazu | 0:25fa9c2b3c2a | 104 | sprintf(buffer,"X%d",x); |
juaneguidazu | 0:25fa9c2b3c2a | 105 | R_LRC(); |
juaneguidazu | 0:25fa9c2b3c2a | 106 | printf("\n\n $%s%X)\n\n",buffer,LRC); |
juaneguidazu | 0:25fa9c2b3c2a | 107 | phab=0; |
juaneguidazu | 0:25fa9c2b3c2a | 108 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 109 | case 2: |
juaneguidazu | 0:25fa9c2b3c2a | 110 | sprintf(buffer,"Y%d",y); |
juaneguidazu | 0:25fa9c2b3c2a | 111 | R_LRC(); |
juaneguidazu | 0:25fa9c2b3c2a | 112 | printf("\n\n $%s%X)\n\n",buffer,LRC); |
juaneguidazu | 0:25fa9c2b3c2a | 113 | phab=0; |
juaneguidazu | 0:25fa9c2b3c2a | 114 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 115 | case 3: |
juaneguidazu | 0:25fa9c2b3c2a | 116 | sprintf(buffer,"Z%d",z); |
juaneguidazu | 0:25fa9c2b3c2a | 117 | R_LRC(); |
juaneguidazu | 0:25fa9c2b3c2a | 118 | printf("\n\n $%s%X)\n\n",buffer,LRC); |
juaneguidazu | 0:25fa9c2b3c2a | 119 | phab=0; |
juaneguidazu | 0:25fa9c2b3c2a | 120 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 121 | case 4: |
juaneguidazu | 0:25fa9c2b3c2a | 122 | sprintf(buffer,"V%d",v); |
juaneguidazu | 0:25fa9c2b3c2a | 123 | R_LRC(); |
juaneguidazu | 0:25fa9c2b3c2a | 124 | printf("\n\n $%s%X)\n\n",buffer,LRC); |
juaneguidazu | 0:25fa9c2b3c2a | 125 | phab=0; |
juaneguidazu | 0:25fa9c2b3c2a | 126 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 127 | case 5: |
juaneguidazu | 0:25fa9c2b3c2a | 128 | sprintf(buffer,"D%d",d); |
juaneguidazu | 0:25fa9c2b3c2a | 129 | R_LRC(); |
juaneguidazu | 0:25fa9c2b3c2a | 130 | printf("\n\n $%s%X)\n\n",buffer,LRC); |
juaneguidazu | 0:25fa9c2b3c2a | 131 | phab=0; |
juaneguidazu | 0:25fa9c2b3c2a | 132 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 133 | } |
juaneguidazu | 0:25fa9c2b3c2a | 134 | } else |
juaneguidazu | 0:25fa9c2b3c2a | 135 | MAQLEDOFF(); |
juaneguidazu | 0:25fa9c2b3c2a | 136 | rled=1; |
juaneguidazu | 0:25fa9c2b3c2a | 137 | bled=1; |
juaneguidazu | 0:25fa9c2b3c2a | 138 | gled=1; |
juaneguidazu | 0:25fa9c2b3c2a | 139 | } |
juaneguidazu | 0:25fa9c2b3c2a | 140 | } |
juaneguidazu | 0:25fa9c2b3c2a | 141 | void TIMER(void) |
juaneguidazu | 0:25fa9c2b3c2a | 142 | { |
juaneguidazu | 0:25fa9c2b3c2a | 143 | if(t==0) { |
juaneguidazu | 0:25fa9c2b3c2a | 144 | t=0; |
juaneguidazu | 0:25fa9c2b3c2a | 145 | } else { |
juaneguidazu | 0:25fa9c2b3c2a | 146 | t--; |
juaneguidazu | 0:25fa9c2b3c2a | 147 | } |
juaneguidazu | 0:25fa9c2b3c2a | 148 | } |
juaneguidazu | 0:25fa9c2b3c2a | 149 | void LEDV(void) |
juaneguidazu | 0:25fa9c2b3c2a | 150 | { |
juaneguidazu | 0:25fa9c2b3c2a | 151 | if(v<=10&&v>0) { |
juaneguidazu | 0:25fa9c2b3c2a | 152 | rled=0; |
juaneguidazu | 0:25fa9c2b3c2a | 153 | bled=1; |
juaneguidazu | 0:25fa9c2b3c2a | 154 | gled=1; |
juaneguidazu | 0:25fa9c2b3c2a | 155 | } else if(v<=20&&v>10) { |
juaneguidazu | 0:25fa9c2b3c2a | 156 | rled=1; |
juaneguidazu | 0:25fa9c2b3c2a | 157 | bled=1; |
juaneguidazu | 0:25fa9c2b3c2a | 158 | gled=0; |
juaneguidazu | 0:25fa9c2b3c2a | 159 | } else if(v<=33&&v>20) { |
juaneguidazu | 0:25fa9c2b3c2a | 160 | rled=1; |
juaneguidazu | 0:25fa9c2b3c2a | 161 | bled=0; |
juaneguidazu | 0:25fa9c2b3c2a | 162 | gled=1; |
juaneguidazu | 0:25fa9c2b3c2a | 163 | } |
juaneguidazu | 0:25fa9c2b3c2a | 164 | } |
juaneguidazu | 0:25fa9c2b3c2a | 165 | void LEDON(void) |
juaneguidazu | 0:25fa9c2b3c2a | 166 | { |
juaneguidazu | 0:25fa9c2b3c2a | 167 | if(tiempoledon<=0) { |
juaneguidazu | 0:25fa9c2b3c2a | 168 | tiempoledon=0; |
juaneguidazu | 0:25fa9c2b3c2a | 169 | } else { |
juaneguidazu | 0:25fa9c2b3c2a | 170 | tiempoledon--; |
juaneguidazu | 0:25fa9c2b3c2a | 171 | } |
juaneguidazu | 0:25fa9c2b3c2a | 172 | } |
juaneguidazu | 0:25fa9c2b3c2a | 173 | void MAQLEDON(void) |
juaneguidazu | 0:25fa9c2b3c2a | 174 | { |
juaneguidazu | 0:25fa9c2b3c2a | 175 | switch(estadoon) { |
juaneguidazu | 0:25fa9c2b3c2a | 176 | case 0: |
juaneguidazu | 0:25fa9c2b3c2a | 177 | ledon = 0; |
juaneguidazu | 0:25fa9c2b3c2a | 178 | if(tiempoledon == 0) { |
juaneguidazu | 0:25fa9c2b3c2a | 179 | estadoon = 1; |
juaneguidazu | 0:25fa9c2b3c2a | 180 | tiempoledon = 2; |
juaneguidazu | 0:25fa9c2b3c2a | 181 | } |
juaneguidazu | 0:25fa9c2b3c2a | 182 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 183 | case 1: |
juaneguidazu | 0:25fa9c2b3c2a | 184 | ledon=1; |
juaneguidazu | 0:25fa9c2b3c2a | 185 | if(tiempoledon==0) { |
juaneguidazu | 0:25fa9c2b3c2a | 186 | estadoon=0; |
juaneguidazu | 0:25fa9c2b3c2a | 187 | casosledon++; |
juaneguidazu | 0:25fa9c2b3c2a | 188 | if(casosledon < 3) { |
juaneguidazu | 0:25fa9c2b3c2a | 189 | tiempoledon=2; |
juaneguidazu | 0:25fa9c2b3c2a | 190 | } else if(casosledon == 3) { |
juaneguidazu | 0:25fa9c2b3c2a | 191 | tiempoledon = 15; |
juaneguidazu | 0:25fa9c2b3c2a | 192 | casosledon = 0; |
juaneguidazu | 0:25fa9c2b3c2a | 193 | } |
juaneguidazu | 0:25fa9c2b3c2a | 194 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 195 | } |
juaneguidazu | 0:25fa9c2b3c2a | 196 | } |
juaneguidazu | 0:25fa9c2b3c2a | 197 | } |
juaneguidazu | 0:25fa9c2b3c2a | 198 | void LEDOFF(void) |
juaneguidazu | 0:25fa9c2b3c2a | 199 | { |
juaneguidazu | 0:25fa9c2b3c2a | 200 | if(tiempoledoff==0) { |
juaneguidazu | 0:25fa9c2b3c2a | 201 | tiempoledoff=0; |
juaneguidazu | 0:25fa9c2b3c2a | 202 | } else { |
juaneguidazu | 0:25fa9c2b3c2a | 203 | tiempoledoff--; |
juaneguidazu | 0:25fa9c2b3c2a | 204 | } |
juaneguidazu | 0:25fa9c2b3c2a | 205 | } |
juaneguidazu | 0:25fa9c2b3c2a | 206 | void MAQLEDOFF(void) |
juaneguidazu | 0:25fa9c2b3c2a | 207 | { |
juaneguidazu | 0:25fa9c2b3c2a | 208 | switch(estadooff) { |
juaneguidazu | 0:25fa9c2b3c2a | 209 | case 0: |
juaneguidazu | 0:25fa9c2b3c2a | 210 | ledon=1; |
juaneguidazu | 0:25fa9c2b3c2a | 211 | casosledoff++; |
juaneguidazu | 0:25fa9c2b3c2a | 212 | if(tiempoledoff==0) { |
juaneguidazu | 0:25fa9c2b3c2a | 213 | estadooff=1; |
juaneguidazu | 0:25fa9c2b3c2a | 214 | tiempoledoff=10; |
juaneguidazu | 0:25fa9c2b3c2a | 215 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 216 | } else { |
juaneguidazu | 0:25fa9c2b3c2a | 217 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 218 | } |
juaneguidazu | 0:25fa9c2b3c2a | 219 | case 1: |
juaneguidazu | 0:25fa9c2b3c2a | 220 | ledon=0; |
juaneguidazu | 0:25fa9c2b3c2a | 221 | if(tiempoledoff==0) { |
juaneguidazu | 0:25fa9c2b3c2a | 222 | estadooff=0; |
juaneguidazu | 0:25fa9c2b3c2a | 223 | tiempoledoff=5; |
juaneguidazu | 0:25fa9c2b3c2a | 224 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 225 | } else { |
juaneguidazu | 0:25fa9c2b3c2a | 226 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 227 | } |
juaneguidazu | 0:25fa9c2b3c2a | 228 | } |
juaneguidazu | 0:25fa9c2b3c2a | 229 | } |
juaneguidazu | 0:25fa9c2b3c2a | 230 | void R_LRC() |
juaneguidazu | 0:25fa9c2b3c2a | 231 | { |
juaneguidazu | 0:25fa9c2b3c2a | 232 | for (int b = 0; b < sizeof(buffer); b++) { |
juaneguidazu | 0:25fa9c2b3c2a | 233 | LRC ^= buffer[b]; |
juaneguidazu | 0:25fa9c2b3c2a | 234 | } |
juaneguidazu | 0:25fa9c2b3c2a | 235 | } |
juaneguidazu | 0:25fa9c2b3c2a | 236 | //Callback cuando se detecta una entrada |
juaneguidazu | 0:25fa9c2b3c2a | 237 | void onCharReceived() |
juaneguidazu | 0:25fa9c2b3c2a | 238 | { |
juaneguidazu | 0:25fa9c2b3c2a | 239 | //Copiamos lo leido en c |
juaneguidazu | 0:25fa9c2b3c2a | 240 | c = pc.getc(); |
juaneguidazu | 0:25fa9c2b3c2a | 241 | newdata = true; |
juaneguidazu | 0:25fa9c2b3c2a | 242 | } |
juaneguidazu | 0:25fa9c2b3c2a | 243 | void RECEPCION(void) |
juaneguidazu | 0:25fa9c2b3c2a | 244 | { |
juaneguidazu | 0:25fa9c2b3c2a | 245 | if(newdata) { |
juaneguidazu | 0:25fa9c2b3c2a | 246 | switch(bytenum) { |
juaneguidazu | 0:25fa9c2b3c2a | 247 | case 0: |
juaneguidazu | 0:25fa9c2b3c2a | 248 | if(c=='$') { |
juaneguidazu | 0:25fa9c2b3c2a | 249 | bytenum=1; |
juaneguidazu | 0:25fa9c2b3c2a | 250 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 251 | } else { |
juaneguidazu | 0:25fa9c2b3c2a | 252 | bytenum=0; |
juaneguidazu | 0:25fa9c2b3c2a | 253 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 254 | } |
juaneguidazu | 0:25fa9c2b3c2a | 255 | case 1: |
juaneguidazu | 0:25fa9c2b3c2a | 256 | if(c=='X') { |
juaneguidazu | 0:25fa9c2b3c2a | 257 | bytenum=2; |
juaneguidazu | 0:25fa9c2b3c2a | 258 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 259 | } else if(c=='Y') { |
juaneguidazu | 0:25fa9c2b3c2a | 260 | bytenum=3; |
juaneguidazu | 0:25fa9c2b3c2a | 261 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 262 | } else if(c=='Z') { |
juaneguidazu | 0:25fa9c2b3c2a | 263 | bytenum=4; |
juaneguidazu | 0:25fa9c2b3c2a | 264 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 265 | } else if(c=='V') { |
juaneguidazu | 0:25fa9c2b3c2a | 266 | bytenum=5; |
juaneguidazu | 0:25fa9c2b3c2a | 267 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 268 | } else if(c=='D') { |
juaneguidazu | 0:25fa9c2b3c2a | 269 | bytenum=6; |
juaneguidazu | 0:25fa9c2b3c2a | 270 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 271 | } else { |
juaneguidazu | 0:25fa9c2b3c2a | 272 | bytenum=0; |
juaneguidazu | 0:25fa9c2b3c2a | 273 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 274 | } |
juaneguidazu | 0:25fa9c2b3c2a | 275 | case 2: |
juaneguidazu | 0:25fa9c2b3c2a | 276 | if(c==')') { |
juaneguidazu | 0:25fa9c2b3c2a | 277 | phab=1; |
juaneguidazu | 0:25fa9c2b3c2a | 278 | bytenum=0; |
juaneguidazu | 0:25fa9c2b3c2a | 279 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 280 | } else { |
juaneguidazu | 0:25fa9c2b3c2a | 281 | bytenum=0; |
juaneguidazu | 0:25fa9c2b3c2a | 282 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 283 | } |
juaneguidazu | 0:25fa9c2b3c2a | 284 | case 3: |
juaneguidazu | 0:25fa9c2b3c2a | 285 | if(c==')') { |
juaneguidazu | 0:25fa9c2b3c2a | 286 | phab=2; |
juaneguidazu | 0:25fa9c2b3c2a | 287 | bytenum=0; |
juaneguidazu | 0:25fa9c2b3c2a | 288 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 289 | } else { |
juaneguidazu | 0:25fa9c2b3c2a | 290 | bytenum=0; |
juaneguidazu | 0:25fa9c2b3c2a | 291 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 292 | } |
juaneguidazu | 0:25fa9c2b3c2a | 293 | case 4: |
juaneguidazu | 0:25fa9c2b3c2a | 294 | if(c==')') { |
juaneguidazu | 0:25fa9c2b3c2a | 295 | phab=3; |
juaneguidazu | 0:25fa9c2b3c2a | 296 | bytenum=0; |
juaneguidazu | 0:25fa9c2b3c2a | 297 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 298 | } else { |
juaneguidazu | 0:25fa9c2b3c2a | 299 | bytenum=0; |
juaneguidazu | 0:25fa9c2b3c2a | 300 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 301 | } |
juaneguidazu | 0:25fa9c2b3c2a | 302 | case 5: |
juaneguidazu | 0:25fa9c2b3c2a | 303 | if(c==')') { |
juaneguidazu | 0:25fa9c2b3c2a | 304 | phab=4; |
juaneguidazu | 0:25fa9c2b3c2a | 305 | bytenum=0; |
juaneguidazu | 0:25fa9c2b3c2a | 306 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 307 | } else { |
juaneguidazu | 0:25fa9c2b3c2a | 308 | bytenum=0; |
juaneguidazu | 0:25fa9c2b3c2a | 309 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 310 | } |
juaneguidazu | 0:25fa9c2b3c2a | 311 | case 6: |
juaneguidazu | 0:25fa9c2b3c2a | 312 | if(c==')') { |
juaneguidazu | 0:25fa9c2b3c2a | 313 | if(tensionD==1) |
juaneguidazu | 0:25fa9c2b3c2a | 314 | d=11; |
juaneguidazu | 0:25fa9c2b3c2a | 315 | else |
juaneguidazu | 0:25fa9c2b3c2a | 316 | d=10; |
juaneguidazu | 0:25fa9c2b3c2a | 317 | phab=5; |
juaneguidazu | 0:25fa9c2b3c2a | 318 | bytenum=0; |
juaneguidazu | 0:25fa9c2b3c2a | 319 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 320 | } else { |
juaneguidazu | 0:25fa9c2b3c2a | 321 | bytenum=0; |
juaneguidazu | 0:25fa9c2b3c2a | 322 | break; |
juaneguidazu | 0:25fa9c2b3c2a | 323 | } |
juaneguidazu | 0:25fa9c2b3c2a | 324 | } |
juaneguidazu | 0:25fa9c2b3c2a | 325 | } |
juaneguidazu | 0:25fa9c2b3c2a | 326 | } |
juaneguidazu | 0:25fa9c2b3c2a | 327 | void ANGIN(void) |
juaneguidazu | 0:25fa9c2b3c2a | 328 | { |
juaneguidazu | 0:25fa9c2b3c2a | 329 | v = int ((tensionV.read()*3.3)*10); |
juaneguidazu | 0:25fa9c2b3c2a | 330 | } |