PES 4 - Smart Medication Dispenser / PES4_ProgrammeforDesignReview2

Dependencies:   SDFileSystem mbed

Fork of PES4_Programme by PES 4 - Smart Medication Dispenser

Committer:
aeschsim
Date:
Sun Apr 08 17:29:08 2018 +0000
Revision:
79:c825bd2dea81
Parent:
77:c2e22d1e5d44
Parent:
76:53a25f1dc2b6
Child:
82:2fc026430ff2
merge, program compiles now correctly

Who changed what in which revision?

UserRevisionLine numberNew contents of line
cittecla 3:94026b29e994 1 #include "main.h"
aeschsim 59:1867088695f3 2 #define FADESPEED 5
aeschsim 59:1867088695f3 3 #define DEMOTIME 5
itslinear 17:bbafd216e059 4
cittecla 52:701d0c2f47d7 5 int state = 44;
itslinear 17:bbafd216e059 6
cittecla 41:f054a83f9556 7 int oldState;
cittecla 2:72886e996098 8
cittecla 2:72886e996098 9 Serial pc(USBTX, USBRX); // tx, rx
aeschsim 40:b5e533e1e033 10
aeschsim 60:7554e4272b3b 11 DigitalIn lichtschranke(PC_5);
aeschsim 60:7554e4272b3b 12 InterruptIn userButton1(PB_5);
aeschsim 60:7554e4272b3b 13 InterruptIn userButton2(PB_4);
aeschsim 60:7554e4272b3b 14 DigitalIn glasDetection(PA_10);
aeschsim 60:7554e4272b3b 15 PwmOut summer(PC_8);
aeschsim 59:1867088695f3 16
aeschsim 40:b5e533e1e033 17 /* PWM Test Tool */
aeschsim 40:b5e533e1e033 18 int channel;
aeschsim 40:b5e533e1e033 19 int dutyCycle;
cittecla 55:bdab541f434d 20 int day;
cittecla 55:bdab541f434d 21 int moment;
itslinear 73:7fd3701def5b 22 s_user prescription[2];
cittecla 2:72886e996098 23
aeschsim 59:1867088695f3 24 /* Demo Tool */
aeschsim 59:1867088695f3 25 uint32_t color = 0;
aeschsim 59:1867088695f3 26 int colorTime = 0;
aeschsim 59:1867088695f3 27 int r,b,g;
aeschsim 59:1867088695f3 28
itslinear 72:172b40dd16ee 29 /* SD write Test*/
itslinear 72:172b40dd16ee 30 s_time medicationTime;
itslinear 72:172b40dd16ee 31 s_time outputTime;
itslinear 77:c2e22d1e5d44 32 s_time currentTime;
itslinear 72:172b40dd16ee 33 s_medContainer medication;
itslinear 73:7fd3701def5b 34 s_medContainer medInventory;
itslinear 72:172b40dd16ee 35
itslinear 72:172b40dd16ee 36 int success = 1;
itslinear 73:7fd3701def5b 37
itslinear 72:172b40dd16ee 38 char user = 0;
itslinear 72:172b40dd16ee 39
itslinear 73:7fd3701def5b 40 char med1[] = "A";
itslinear 73:7fd3701def5b 41 char med2[] = "B";
itslinear 73:7fd3701def5b 42 char med3[] = "C";
itslinear 73:7fd3701def5b 43 char med4[] = "D";
itslinear 73:7fd3701def5b 44 char med5[] = "E";
itslinear 73:7fd3701def5b 45 char med6[] = "F";
itslinear 73:7fd3701def5b 46
itslinear 73:7fd3701def5b 47 char fail[] = "shit happens";
itslinear 73:7fd3701def5b 48 /*********/
itslinear 73:7fd3701def5b 49
aeschsim 79:c825bd2dea81 50 /* Switch Summer On/Off for demo Tool */
aeschsim 60:7554e4272b3b 51 void summ(void)
aeschsim 60:7554e4272b3b 52 {
aeschsim 60:7554e4272b3b 53 if(summer.read()>0) {
aeschsim 60:7554e4272b3b 54 summer.write(0.0f);
aeschsim 60:7554e4272b3b 55 } else {
aeschsim 60:7554e4272b3b 56 summer.write(0.5f);
aeschsim 60:7554e4272b3b 57 }
aeschsim 60:7554e4272b3b 58 }
aeschsim 60:7554e4272b3b 59
aeschsim 60:7554e4272b3b 60
cittecla 2:72886e996098 61 int main()
cittecla 2:72886e996098 62 {
itslinear 73:7fd3701def5b 63 /* SD write Test*/
aeschsim 79:c825bd2dea81 64
itslinear 77:c2e22d1e5d44 65 medicationTime = getTime();
itslinear 73:7fd3701def5b 66
itslinear 77:c2e22d1e5d44 67 outputTime = getTime();
itslinear 73:7fd3701def5b 68
itslinear 77:c2e22d1e5d44 69 currentTime = getTime();
itslinear 73:7fd3701def5b 70
itslinear 73:7fd3701def5b 71 medication.container[0] = 1;
itslinear 73:7fd3701def5b 72 medication.container[1] = 2;
itslinear 73:7fd3701def5b 73 medication.container[2] = 2;
itslinear 73:7fd3701def5b 74 medication.container[3] = 1;
itslinear 73:7fd3701def5b 75 medication.container[4] = 1;
itslinear 73:7fd3701def5b 76 medication.container[5] = 2;
itslinear 73:7fd3701def5b 77
itslinear 73:7fd3701def5b 78 medInventory.container[0] = 5;
itslinear 73:7fd3701def5b 79 medInventory.container[1] = 10;
itslinear 73:7fd3701def5b 80 medInventory.container[2] = 15;
itslinear 73:7fd3701def5b 81 medInventory.container[3] = 20;
itslinear 73:7fd3701def5b 82 medInventory.container[4] = 25;
itslinear 73:7fd3701def5b 83 medInventory.container[5] = 30;
itslinear 73:7fd3701def5b 84
itslinear 73:7fd3701def5b 85 /************/
itslinear 73:7fd3701def5b 86
cittecla 2:72886e996098 87 pc.baud(460800);
cittecla 2:72886e996098 88 printf("start...\r\n");
cittecla 2:72886e996098 89
aeschsim 34:9d6dd3a12641 90 while(1) {
cittecla 41:f054a83f9556 91 if(state != oldState) {
cittecla 58:cda5298c9b7f 92 printf("\r\nstate: %d\r\n",state);
cittecla 41:f054a83f9556 93 oldState = state;
aeschsim 34:9d6dd3a12641 94 }
aeschsim 34:9d6dd3a12641 95 switch (state) {
aeschsim 34:9d6dd3a12641 96 case 0:
aeschsim 34:9d6dd3a12641 97 printf("Hello World");
aeschsim 40:b5e533e1e033 98 state = 47;
aeschsim 34:9d6dd3a12641 99 break;
aeschsim 34:9d6dd3a12641 100 case 1:
aeschsim 34:9d6dd3a12641 101 break;
aeschsim 34:9d6dd3a12641 102 case 2:
aeschsim 34:9d6dd3a12641 103 break;
aeschsim 34:9d6dd3a12641 104 case 3:
aeschsim 34:9d6dd3a12641 105 break;
cittecla 2:72886e996098 106
aeschsim 34:9d6dd3a12641 107 case 10:
aeschsim 34:9d6dd3a12641 108 break;
aeschsim 34:9d6dd3a12641 109 case 11:
aeschsim 34:9d6dd3a12641 110 break;
cittecla 2:72886e996098 111
aeschsim 34:9d6dd3a12641 112 case 15:
aeschsim 34:9d6dd3a12641 113 break;
aeschsim 34:9d6dd3a12641 114 case 16:
aeschsim 34:9d6dd3a12641 115 break;
aeschsim 34:9d6dd3a12641 116 case 17:
aeschsim 34:9d6dd3a12641 117 break;
aeschsim 34:9d6dd3a12641 118
aeschsim 34:9d6dd3a12641 119 case 25:
aeschsim 34:9d6dd3a12641 120 break;
aeschsim 34:9d6dd3a12641 121 case 26:
aeschsim 34:9d6dd3a12641 122 break;
aeschsim 34:9d6dd3a12641 123 case 27:
aeschsim 34:9d6dd3a12641 124 break;
aeschsim 34:9d6dd3a12641 125 case 28:
aeschsim 34:9d6dd3a12641 126 break;
cittecla 2:72886e996098 127
cittecla 2:72886e996098 128
aeschsim 34:9d6dd3a12641 129 case 35:
aeschsim 34:9d6dd3a12641 130 break;
aeschsim 34:9d6dd3a12641 131 case 36:
aeschsim 34:9d6dd3a12641 132 break;
aeschsim 34:9d6dd3a12641 133 case 37:
aeschsim 34:9d6dd3a12641 134 break;
aeschsim 34:9d6dd3a12641 135 case 38:
aeschsim 34:9d6dd3a12641 136 break;
aeschsim 27:bf0577ecfa6e 137
aeschsim 76:53a25f1dc2b6 138
aeschsim 40:b5e533e1e033 139 /**************************************************************/
aeschsim 40:b5e533e1e033 140 /* Test Zone */
cittecla 53:1c61cadbcb35 141
cittecla 52:701d0c2f47d7 142 /* init PWM board */
cittecla 52:701d0c2f47d7 143 case 44:
cittecla 55:bdab541f434d 144 printf("Init PWM\r\n");
cittecla 53:1c61cadbcb35 145 initPWM(50);
cittecla 53:1c61cadbcb35 146 enableOutput();
cittecla 52:701d0c2f47d7 147 state = 47;
cittecla 52:701d0c2f47d7 148 break;
aeschsim 40:b5e533e1e033 149
aeschsim 40:b5e533e1e033 150 /* Time test tool: set Time */
aeschsim 34:9d6dd3a12641 151 case 45:
aeschsim 34:9d6dd3a12641 152 s_time time;
aeschsim 34:9d6dd3a12641 153 time.second = 30;
aeschsim 34:9d6dd3a12641 154 time.minute = 53;
aeschsim 34:9d6dd3a12641 155 time.hour = 12;
aeschsim 34:9d6dd3a12641 156 time.day = 27;
aeschsim 34:9d6dd3a12641 157 time.weekday = 2;
aeschsim 34:9d6dd3a12641 158 time.month = 3;
aeschsim 34:9d6dd3a12641 159 time.year = 18;
cittecla 55:bdab541f434d 160 printf("set now time\r\n");
aeschsim 34:9d6dd3a12641 161 setTime(&time);
cittecla 55:bdab541f434d 162 printf("read time: %02d:%02d:%02d, %02d.%02d.20%02d, weekday: %d\r\n",time.hour, time.minute, time.second, time.day, time.month, time.year, time.weekday);
aeschsim 40:b5e533e1e033 163 state = 47;
cittecla 55:bdab541f434d 164 printf("change state to: %d\r\n",state);
aeschsim 34:9d6dd3a12641 165 break;
aeschsim 40:b5e533e1e033 166
aeschsim 40:b5e533e1e033 167 /* Time test tool: get Time */
aeschsim 34:9d6dd3a12641 168 case 46:
aeschsim 34:9d6dd3a12641 169 wait(5);
aeschsim 34:9d6dd3a12641 170 time = getTime();
cittecla 55:bdab541f434d 171 printf("read time: %02d:%02d:%02d, %02d.%02d.20%02d, weekday: %d\r\n",time.hour, time.minute, time.second, time.day, time.month, time.year, time.weekday);
aeschsim 40:b5e533e1e033 172 state = 47;
aeschsim 40:b5e533e1e033 173 break;
aeschsim 40:b5e533e1e033 174
aeschsim 40:b5e533e1e033 175 /* Console State Switch */
aeschsim 40:b5e533e1e033 176 case 47:
cittecla 55:bdab541f434d 177 printf("\n\rState Switch: Enter next State: \n\r");
aeschsim 76:53a25f1dc2b6 178 printf("45\tset Time\n\r46\tread Time\n\r47\tState Switch\n\r48\tServo Board Test Tool\n\r");
aeschsim 76:53a25f1dc2b6 179 printf("49\tenable servo output\n\r50\tdisable servo output\n\r");
aeschsim 76:53a25f1dc2b6 180 printf("51\ttest SD Card\n\r52\tread medication\n\r53\tMedication display test tool\n\r");
aeschsim 70:cc7ed2325202 181 printf("54\tWrite Medication\n\r55\tDemo Tool for Summer and RGB LED\n\r");
aeschsim 76:53a25f1dc2b6 182 printf("60\t \n\r");
aeschsim 76:53a25f1dc2b6 183 printf("61\t \n\r");
aeschsim 76:53a25f1dc2b6 184 printf("62\t \n\r");
aeschsim 40:b5e533e1e033 185 pc.scanf("%d", &state);
cittecla 55:bdab541f434d 186 printf("Switch to State %d\n\r",state);
aeschsim 40:b5e533e1e033 187 fflush(stdin);
aeschsim 34:9d6dd3a12641 188 break;
aeschsim 40:b5e533e1e033 189
aeschsim 40:b5e533e1e033 190 /* Servo-Board Test Tool */
aeschsim 34:9d6dd3a12641 191 case 48:
cittecla 55:bdab541f434d 192 printf("\n\r\n\rServo-Board Test Tool\n\rEnter Channel Number and then Duty Cycle\n\r");
cittecla 55:bdab541f434d 193 printf("for exit, enter Channel > 15\n\r");
aeschsim 40:b5e533e1e033 194 channel = 0;
aeschsim 40:b5e533e1e033 195 while (channel < 16) {
cittecla 55:bdab541f434d 196 printf("Channel Number: ");
aeschsim 40:b5e533e1e033 197 pc.scanf("%d", &channel);
cittecla 55:bdab541f434d 198 printf("\r\nchannel: %d\n\rDuty Cycle 0..4095: ",channel);
aeschsim 40:b5e533e1e033 199 pc.scanf("%d", &dutyCycle);
cittecla 55:bdab541f434d 200 printf("\n\r%d\n\r",dutyCycle);
aeschsim 46:cdc24a24e4e3 201 setPWM((char)channel, (int)dutyCycle);
aeschsim 40:b5e533e1e033 202 fflush(stdin);
aeschsim 40:b5e533e1e033 203 }
cittecla 55:bdab541f434d 204 printf("leave Servo-Board Test Tool\n\r");
aeschsim 40:b5e533e1e033 205 state = 47;
aeschsim 40:b5e533e1e033 206 break;
aeschsim 40:b5e533e1e033 207
aeschsim 40:b5e533e1e033 208 case 49:
cittecla 42:ba59ed6a2a06 209 enableOutput();
cittecla 55:bdab541f434d 210 printf("Servo output enabled\r\n\n");
aeschsim 40:b5e533e1e033 211 state = 47;
aeschsim 34:9d6dd3a12641 212 break;
cittecla 2:72886e996098 213
aeschsim 34:9d6dd3a12641 214 case 50:
cittecla 42:ba59ed6a2a06 215 disableOutput();
cittecla 55:bdab541f434d 216 printf("Servo output disabled\r\n\n");
aeschsim 40:b5e533e1e033 217 state = 47;
aeschsim 40:b5e533e1e033 218 break;
cittecla 53:1c61cadbcb35 219
cittecla 42:ba59ed6a2a06 220 case 51:
cittecla 52:701d0c2f47d7 221 testSd();
cittecla 55:bdab541f434d 222 printf("\rSD Card test finished\r\n\n");
cittecla 55:bdab541f434d 223 state = 47;
cittecla 55:bdab541f434d 224 break;
cittecla 58:cda5298c9b7f 225
cittecla 58:cda5298c9b7f 226
cittecla 55:bdab541f434d 227 case 52:
itslinear 73:7fd3701def5b 228 prescription[1] = readMedication(1);
itslinear 73:7fd3701def5b 229 if(prescription[1].valid) {
cittecla 56:218601547d13 230 printf("\rread successful\r\n\n");
cittecla 55:bdab541f434d 231 } else {
cittecla 55:bdab541f434d 232 printf("\rread failed\r\n\n");
cittecla 55:bdab541f434d 233 }
cittecla 42:ba59ed6a2a06 234 state = 47;
cittecla 53:1c61cadbcb35 235 break;
cittecla 55:bdab541f434d 236
cittecla 55:bdab541f434d 237 case 53:
itslinear 73:7fd3701def5b 238 if(prescription[1].valid == false) {
cittecla 57:79fed71031da 239 printf("\r\nNo valid data in struct, try to run case 52\r\n\n");
cittecla 55:bdab541f434d 240 } else {
cittecla 55:bdab541f434d 241 printf("\r\nMedication display test tool:\r\n");
cittecla 55:bdab541f434d 242 printf("Enter Day (0..6) and Moment (0..4)\r\nTo exit enter Day > 6:\r\n");
cittecla 55:bdab541f434d 243 day = 0;
cittecla 55:bdab541f434d 244 while (day < 7) {
cittecla 55:bdab541f434d 245 printf("\r\nDay Number: ");
cittecla 55:bdab541f434d 246 pc.scanf("%d", &day);
cittecla 55:bdab541f434d 247 if(day < 7) {
cittecla 55:bdab541f434d 248 printf("\r\nDay: %d\n\rMoment 0..3: ",day);
cittecla 55:bdab541f434d 249 pc.scanf("%d", &moment);
cittecla 55:bdab541f434d 250 printf("\r\nMedication for weekday %d Moment %d is ",day,moment);
cittecla 55:bdab541f434d 251 for(int i=0; i<6; i++) {
itslinear 73:7fd3701def5b 252 printf("%d", prescription[1].medication.day[day].moment[moment].medContainer.container[i]);
cittecla 55:bdab541f434d 253 }
itslinear 73:7fd3701def5b 254 printf("\r\nThe alarm clock is set for %02d:%02d",prescription[1].medication.day[day].moment[moment].time.hour,prescription[1].medication.day[day].moment[moment].time.minute);
cittecla 55:bdab541f434d 255 }
cittecla 55:bdab541f434d 256 printf("\r\n");
cittecla 55:bdab541f434d 257 fflush(stdin);
cittecla 55:bdab541f434d 258 }
cittecla 55:bdab541f434d 259 printf("exit Tool\n\r");
cittecla 55:bdab541f434d 260 }
cittecla 56:218601547d13 261 state = 47;
cittecla 56:218601547d13 262 break;
cittecla 58:cda5298c9b7f 263 case 54:
itslinear 73:7fd3701def5b 264 writeMedication(0,prescription[1]);
cittecla 58:cda5298c9b7f 265 state = 47;
cittecla 58:cda5298c9b7f 266 break;
aeschsim 59:1867088695f3 267 case 55:
aeschsim 59:1867088695f3 268 /* Demo Tool */
PESGruppe1 61:086bcd5ca968 269 enableOutput();
PESGruppe1 61:086bcd5ca968 270 printf("Servo output enabled\r\n\n");
aeschsim 70:cc7ed2325202 271 summer.period_us(500);
aeschsim 70:cc7ed2325202 272 summer.write(0.5f);
aeschsim 70:cc7ed2325202 273 wait(3);
aeschsim 70:cc7ed2325202 274 summer.write(0.0f);
PESGruppe1 61:086bcd5ca968 275
aeschsim 70:cc7ed2325202 276 userButton1.fall(&summ);
aeschsim 70:cc7ed2325202 277
aeschsim 70:cc7ed2325202 278 printf("Summer Interrupt on Button 0 enabled\n\r");
aeschsim 60:7554e4272b3b 279
PESGruppe1 61:086bcd5ca968 280 color = 0xFFFFFF;
PESGruppe1 61:086bcd5ca968 281 colorTime = 0;
PESGruppe1 61:086bcd5ca968 282 setLED(0,color);
PESGruppe1 61:086bcd5ca968 283 wait(5);
aeschsim 70:cc7ed2325202 284
aeschsim 70:cc7ed2325202 285 printf("start fading loop for DEMOTIME loops\n\r");
aeschsim 70:cc7ed2325202 286
aeschsim 59:1867088695f3 287 while(colorTime < DEMOTIME) {
PESGruppe1 61:086bcd5ca968 288 printf("fade1\n\r");
aeschsim 60:7554e4272b3b 289 for(r = 0; r <= 255; r++) {
aeschsim 59:1867088695f3 290 color &= 0x00FFFF;
PESGruppe1 61:086bcd5ca968 291 color |= (r<<16);
PESGruppe1 61:086bcd5ca968 292 setLED(0,color);
aeschsim 59:1867088695f3 293 wait_ms(FADESPEED);
aeschsim 59:1867088695f3 294 }
aeschsim 70:cc7ed2325202 295 printf("fade2\n\r");
aeschsim 60:7554e4272b3b 296 for(b = 255; b >= 0; b--) {
aeschsim 59:1867088695f3 297 color &= 0xFFFF00;
PESGruppe1 61:086bcd5ca968 298 color |= b;
PESGruppe1 61:086bcd5ca968 299 setLED(0,color);
aeschsim 59:1867088695f3 300 wait_ms(FADESPEED);
aeschsim 59:1867088695f3 301 }
aeschsim 70:cc7ed2325202 302 printf("fade3\n\r");
aeschsim 60:7554e4272b3b 303 for(g = 0; g <= 255; g++) {
aeschsim 59:1867088695f3 304 color &= 0xFF00FF;
PESGruppe1 61:086bcd5ca968 305 color |= (g<<8);
PESGruppe1 61:086bcd5ca968 306 setLED(0,color);
aeschsim 59:1867088695f3 307 wait_ms(FADESPEED);
aeschsim 59:1867088695f3 308 }
aeschsim 70:cc7ed2325202 309 printf("fade4\n\r");
aeschsim 59:1867088695f3 310 for(r = 255; r > 0; r--) {
aeschsim 59:1867088695f3 311 color &= 0x00FFFF;
PESGruppe1 61:086bcd5ca968 312 color |= (r<<16);
PESGruppe1 61:086bcd5ca968 313 setLED(0,color);
aeschsim 59:1867088695f3 314 wait_ms(FADESPEED);
aeschsim 59:1867088695f3 315 }
aeschsim 70:cc7ed2325202 316 printf("fade5\n\r");
aeschsim 59:1867088695f3 317 for(b = 0; b <= 255; b++) {
aeschsim 59:1867088695f3 318 color &= 0xFFFF00;
PESGruppe1 61:086bcd5ca968 319 color |= b;
PESGruppe1 61:086bcd5ca968 320 setLED(0,color);
aeschsim 59:1867088695f3 321 wait_ms(FADESPEED);
aeschsim 59:1867088695f3 322 }
aeschsim 70:cc7ed2325202 323 printf("fade6\n\r");
aeschsim 59:1867088695f3 324 for (g = 255; g > 0; g--) {
aeschsim 59:1867088695f3 325 color &= 0xFF00FF;
PESGruppe1 61:086bcd5ca968 326 color |= (g<<8);
PESGruppe1 61:086bcd5ca968 327 setLED(0,color);
aeschsim 59:1867088695f3 328 wait_ms(FADESPEED);
aeschsim 59:1867088695f3 329 }
aeschsim 59:1867088695f3 330 colorTime++;
aeschsim 59:1867088695f3 331 }
aeschsim 70:cc7ed2325202 332 printf("exit demo tool\n\r");
aeschsim 59:1867088695f3 333
aeschsim 59:1867088695f3 334 break;
itslinear 72:172b40dd16ee 335
itslinear 73:7fd3701def5b 336 case 60:
itslinear 73:7fd3701def5b 337 printf("write_medProtocol\n\r");
itslinear 72:172b40dd16ee 338 write_medProtocol(medicationTime, outputTime, medication, success, user);
itslinear 73:7fd3701def5b 339 printf("done\n\r");
itslinear 73:7fd3701def5b 340 state = 47;
itslinear 73:7fd3701def5b 341
itslinear 72:172b40dd16ee 342 break;
itslinear 72:172b40dd16ee 343
itslinear 73:7fd3701def5b 344 case 61:
itslinear 73:7fd3701def5b 345 printf("write_medInventory\n\r");
itslinear 73:7fd3701def5b 346 write_medInventory(medInventory,currentTime,med1,med2,med3,med4,med5,med6);
itslinear 73:7fd3701def5b 347 printf("done\n\r");
itslinear 73:7fd3701def5b 348 state = 47;
itslinear 72:172b40dd16ee 349
itslinear 73:7fd3701def5b 350 break;
itslinear 72:172b40dd16ee 351
itslinear 73:7fd3701def5b 352 case 62:
itslinear 73:7fd3701def5b 353 printf("write_medError\n\r");
itslinear 77:c2e22d1e5d44 354 write_medError(fail, currentTime);
itslinear 73:7fd3701def5b 355 printf("done\n\r");
itslinear 73:7fd3701def5b 356 state = 47;
itslinear 72:172b40dd16ee 357
itslinear 73:7fd3701def5b 358 break;
itslinear 72:172b40dd16ee 359
itslinear 77:c2e22d1e5d44 360 case 63:
itslinear 77:c2e22d1e5d44 361 printf("erase_errorPotocol\n\r");
itslinear 77:c2e22d1e5d44 362 erase_medError();
itslinear 77:c2e22d1e5d44 363 state = 47;
aeschsim 79:c825bd2dea81 364
itslinear 77:c2e22d1e5d44 365 break;
itslinear 72:172b40dd16ee 366
itslinear 77:c2e22d1e5d44 367 case 64:
itslinear 77:c2e22d1e5d44 368 printf("erase_medPotocol\n\r");
itslinear 77:c2e22d1e5d44 369 erase_medProtocol();
itslinear 77:c2e22d1e5d44 370 state = 47;
aeschsim 79:c825bd2dea81 371
itslinear 77:c2e22d1e5d44 372 break;
aeschsim 79:c825bd2dea81 373
aeschsim 40:b5e533e1e033 374 default:
aeschsim 40:b5e533e1e033 375 state = 47; /* Go to State Switch */
aeschsim 34:9d6dd3a12641 376 break;
aeschsim 34:9d6dd3a12641 377 }
cittecla 2:72886e996098 378 }
cittecla 55:bdab541f434d 379 printf("exit while 1 loop");
cittecla 2:72886e996098 380 }