diff options
Diffstat (limited to 'apps/plugins')
-rw-r--r-- | apps/plugins/calculator.c | 215 |
1 files changed, 103 insertions, 112 deletions
diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c index 38a97f0b46..92047023f7 100644 --- a/apps/plugins/calculator.c +++ b/apps/plugins/calculator.c | |||
@@ -78,10 +78,10 @@ F3: equal to "=" | |||
78 | 78 | ||
79 | PLUGIN_HEADER | 79 | PLUGIN_HEADER |
80 | 80 | ||
81 | #define REC_HEIGHT 10 /* blank height = 9 */ | 81 | #define REC_HEIGHT (int)(LCD_HEIGHT / 6) |
82 | #define REC_WIDTH 22 /* blank width = 21 */ | 82 | #define REC_WIDTH (int)(LCD_WIDTH / 5) |
83 | 83 | ||
84 | #define Y_6_POS (LCD_HEIGHT - 1) /* y6 = 63 */ | 84 | #define Y_6_POS (LCD_HEIGHT) /* Leave room for the border */ |
85 | #define Y_5_POS (Y_6_POS - REC_HEIGHT) /* y5 = 53 */ | 85 | #define Y_5_POS (Y_6_POS - REC_HEIGHT) /* y5 = 53 */ |
86 | #define Y_4_POS (Y_5_POS - REC_HEIGHT) /* y4 = 43 */ | 86 | #define Y_4_POS (Y_5_POS - REC_HEIGHT) /* y4 = 43 */ |
87 | #define Y_3_POS (Y_4_POS - REC_HEIGHT) /* y3 = 33 */ | 87 | #define Y_3_POS (Y_4_POS - REC_HEIGHT) /* y3 = 33 */ |
@@ -288,6 +288,7 @@ enum { | |||
288 | basicButtons, | 288 | basicButtons, |
289 | sciButtons | 289 | sciButtons |
290 | } buttonGroup; | 290 | } buttonGroup; |
291 | |||
291 | unsigned char* buttonChar[2][5][5] = { | 292 | unsigned char* buttonChar[2][5][5] = { |
292 | { { "MR" , "M+" , "2nd" , "CE" , "C" }, | 293 | { { "MR" , "M+" , "2nd" , "CE" , "C" }, |
293 | { "7" , "8" , "9" , "/" , "sqr" }, | 294 | { "7" , "8" , "9" , "/" , "sqr" }, |
@@ -301,12 +302,14 @@ unsigned char* buttonChar[2][5][5] = { | |||
301 | { "1" , "2" , "3" , "ln" , "e^x" }, | 302 | { "1" , "2" , "3" , "ln" , "e^x" }, |
302 | { "0" , "+/-", "." , "log" , "x^y" } } | 303 | { "0" , "+/-", "." , "log" , "x^y" } } |
303 | }; | 304 | }; |
305 | |||
304 | enum { btn_MR , btn_M , btn_bas , btn_CE , btn_C , | 306 | enum { btn_MR , btn_M , btn_bas , btn_CE , btn_C , |
305 | btn_7 , btn_8 , btn_9 , btn_div , btn_sqr , | 307 | btn_7 , btn_8 , btn_9 , btn_div , btn_sqr , |
306 | btn_4 , btn_5 , btn_6 , btn_time , btn_square , | 308 | btn_4 , btn_5 , btn_6 , btn_time , btn_square , |
307 | btn_1 , btn_2 , btn_3 , btn_minus , btn_rec , | 309 | btn_1 , btn_2 , btn_3 , btn_minus , btn_rec , |
308 | btn_0 , btn_sign , btn_dot , btn_add , btn_equal | 310 | btn_0 , btn_sign , btn_dot , btn_add , btn_equal |
309 | }; | 311 | }; |
312 | |||
310 | enum { sci_fac, sci_pi , sci_sci , sci_sin , sci_asin , | 313 | enum { sci_fac, sci_pi , sci_sci , sci_sin , sci_asin , |
311 | sci_7 , sci_8 , sci_9 , sci_cos , sci_acos , | 314 | sci_7 , sci_8 , sci_9 , sci_cos , sci_acos , |
312 | sci_4 , sci_5 , sci_6 , sci_tan , sci_atan , | 315 | sci_4 , sci_5 , sci_6 , sci_tan , sci_atan , |
@@ -439,6 +442,9 @@ void printResult(void); | |||
439 | void formatResult(void); | 442 | void formatResult(void); |
440 | void oneOperand(void); | 443 | void oneOperand(void); |
441 | 444 | ||
445 | void drawLines(void); | ||
446 | void drawButtons(int group); | ||
447 | |||
442 | /* ----------------------------------------------------------------------- | 448 | /* ----------------------------------------------------------------------- |
443 | Handy funtions | 449 | Handy funtions |
444 | ----------------------------------------------------------------------- */ | 450 | ----------------------------------------------------------------------- */ |
@@ -469,6 +475,9 @@ void clearInput(void) | |||
469 | calStatus = cal_normal; | 475 | calStatus = cal_normal; |
470 | clearResult(); | 476 | clearResult(); |
471 | cleartypingbuf(); | 477 | cleartypingbuf(); |
478 | rb->lcd_clear_display(); | ||
479 | drawButtons(buttonGroup); | ||
480 | drawLines(); | ||
472 | } | 481 | } |
473 | 482 | ||
474 | void clearOperand(void) | 483 | void clearOperand(void) |
@@ -508,22 +517,53 @@ void switchOperands(void) | |||
508 | power = tempp; | 517 | power = tempp; |
509 | } | 518 | } |
510 | 519 | ||
520 | void drawLines(void) | ||
521 | { | ||
522 | int i; | ||
523 | rb->lcd_hline(0, LCD_WIDTH, Y_1_POS-1); | ||
524 | for (i = 0; i < 5 ; i++) | ||
525 | rb->lcd_hline(0, LCD_WIDTH, Y_1_POS+i*REC_HEIGHT); | ||
526 | for (i = 0; i < 4 ; i++) | ||
527 | rb->lcd_vline(X_1_POS+i*REC_WIDTH, Y_1_POS, LCD_HEIGHT); | ||
528 | } | ||
529 | |||
530 | void drawButtons(int group) | ||
531 | { | ||
532 | int i, j, w, h; | ||
533 | for (i = 0; i <= 4; i++){ | ||
534 | for (j = 0; j <= 4; j++){ | ||
535 | rb->lcd_getstringsize( buttonChar[group][i][j],&w,&h); | ||
536 | if (i == m && j == n) /* selected item */ | ||
537 | rb->lcd_set_drawmode(DRMODE_SOLID); | ||
538 | else | ||
539 | rb->lcd_set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID); | ||
540 | rb->lcd_fillrect( X_0_POS + j*REC_WIDTH, | ||
541 | Y_1_POS + i*REC_HEIGHT, | ||
542 | REC_WIDTH, REC_HEIGHT+1); | ||
543 | if (i == m && j == n) /* selected item */ | ||
544 | rb->lcd_set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID); | ||
545 | else | ||
546 | rb->lcd_set_drawmode(DRMODE_SOLID); | ||
547 | rb->lcd_putsxy( X_0_POS + j*REC_WIDTH + (REC_WIDTH - w)/2, | ||
548 | Y_1_POS + i*REC_HEIGHT + (REC_HEIGHT - h)/2 + 1, | ||
549 | buttonChar[group][i][j] ); | ||
550 | } | ||
551 | } | ||
552 | rb->lcd_set_drawmode(DRMODE_SOLID); | ||
553 | } | ||
554 | |||
511 | /* ----------------------------------------------------------------------- | 555 | /* ----------------------------------------------------------------------- |
512 | Initiate calculator | 556 | Initiate calculator |
513 | ----------------------------------------------------------------------- */ | 557 | ----------------------------------------------------------------------- */ |
514 | void cal_initial (void) | 558 | void cal_initial (void) |
515 | { | 559 | { |
516 | int i,j,w,h; | 560 | int w,h; |
517 | rb->lcd_setfont(FONT_SYSFIXED); | ||
518 | rb->lcd_clear_display(); | ||
519 | 561 | ||
520 | /* draw lines */ | 562 | rb->lcd_getstringsize("A",&w,&h); |
521 | rb->lcd_drawrect(X_0_POS, Y_0_POS, LCD_WIDTH-1, LCD_HEIGHT); | 563 | if (h >= REC_HEIGHT) |
522 | rb->lcd_hline(X_0_POS, X_5_POS, Y_1_POS-1); | 564 | rb->lcd_setfont(FONT_SYSFIXED); |
523 | for (i = 0; i < 5 ; i++) | 565 | |
524 | rb->lcd_hline(X_0_POS, X_5_POS, Y_1_POS+i*REC_HEIGHT); | 566 | rb->lcd_clear_display(); |
525 | for (i = 0; i < 4 ; i++) | ||
526 | rb->lcd_vline(X_1_POS+i*REC_WIDTH, Y_1_POS, Y_6_POS); | ||
527 | 567 | ||
528 | #ifdef CALCULATOR_OPERATORS | 568 | #ifdef CALCULATOR_OPERATORS |
529 | /* basic operators are available through separate button */ | 569 | /* basic operators are available through separate button */ |
@@ -531,26 +571,14 @@ void cal_initial (void) | |||
531 | #else | 571 | #else |
532 | buttonGroup = basicButtons; | 572 | buttonGroup = basicButtons; |
533 | #endif | 573 | #endif |
534 | /* draw buttons */ | ||
535 | for (i = 0; i < 5; i++){ | ||
536 | for (j = 0; j < 5; j++){ | ||
537 | rb->lcd_getstringsize( buttonChar[buttonGroup][i][j],&w,&h); | ||
538 | rb->lcd_putsxy( X_0_POS + j*REC_WIDTH + (REC_WIDTH - w)/2, | ||
539 | TEXT_2_POS + i*REC_HEIGHT, | ||
540 | buttonChar[buttonGroup][i][j] ); | ||
541 | } | ||
542 | } | ||
543 | 574 | ||
544 | /* initially, invert button "5" */ | 575 | /* initially, invert button "5" */ |
545 | m = 2; | 576 | m = 2; |
546 | n = 1; | 577 | n = 1; |
547 | prev_m = m; | 578 | prev_m = m; |
548 | prev_n = n; | 579 | prev_n = n; |
549 | rb->lcd_set_drawmode(DRMODE_COMPLEMENT); | 580 | drawButtons(buttonGroup); |
550 | rb->lcd_fillrect( X_0_POS + n*REC_WIDTH + 1, | 581 | drawLines(); |
551 | Y_1_POS + m*REC_HEIGHT + 1, | ||
552 | REC_WIDTH - 1, REC_HEIGHT - 1); | ||
553 | rb->lcd_set_drawmode(DRMODE_SOLID); | ||
554 | rb->lcd_update(); | 582 | rb->lcd_update(); |
555 | 583 | ||
556 | /* initial mem and output display*/ | 584 | /* initial mem and output display*/ |
@@ -858,89 +886,49 @@ void moveButton(void){ | |||
858 | break; | 886 | break; |
859 | } | 887 | } |
860 | 888 | ||
861 | rb->lcd_set_drawmode(DRMODE_COMPLEMENT); | 889 | drawButtons(buttonGroup); |
862 | rb->lcd_fillrect( X_0_POS + prev_n*REC_WIDTH + 1, | 890 | drawLines(); |
863 | Y_1_POS + prev_m*REC_HEIGHT + 1, | ||
864 | REC_WIDTH - 1, REC_HEIGHT - 1); | ||
865 | |||
866 | rb->lcd_fillrect( X_0_POS + n*REC_WIDTH + 1, | ||
867 | Y_1_POS + m*REC_HEIGHT + 1, | ||
868 | REC_WIDTH - 1, REC_HEIGHT - 1); | ||
869 | rb->lcd_set_drawmode(DRMODE_SOLID); | ||
870 | |||
871 | rb->lcd_update_rect( X_0_POS + prev_n*REC_WIDTH + 1, | ||
872 | Y_1_POS + prev_m*REC_HEIGHT + 1, | ||
873 | REC_WIDTH - 1, REC_HEIGHT - 1); | ||
874 | 891 | ||
875 | rb->lcd_update_rect( X_0_POS + n*REC_WIDTH + 1, | 892 | rb->lcd_update(); |
876 | Y_1_POS + m*REC_HEIGHT + 1, | ||
877 | REC_WIDTH - 1, REC_HEIGHT - 1); | ||
878 | 893 | ||
879 | prev_m = m; | 894 | prev_m = m; |
880 | prev_n = n; | 895 | prev_n = n; |
881 | } | 896 | } |
897 | |||
882 | /* ----------------------------------------------------------------------- | 898 | /* ----------------------------------------------------------------------- |
883 | Print buttons when switching 1st and 2nd | 899 | Print buttons when switching 1st and 2nd |
884 | int group = {basicButtons, sciButtons} | 900 | int group = {basicButtons, sciButtons} |
885 | ----------------------------------------------------------------------- */ | 901 | ----------------------------------------------------------------------- */ |
886 | void printButtonGroups(int group) | 902 | void printButtonGroups(int group) |
887 | { | 903 | { |
888 | int i,j,w,h; | 904 | drawButtons(group); |
889 | for (i = 0; i < 5; i++){ | 905 | drawLines(); |
890 | for (j = 3; j <= 4; j++){ | 906 | rb->lcd_update(); |
891 | rb->lcd_getstringsize( buttonChar[group][i][j],&w,&h); | ||
892 | rb->lcd_set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID); | ||
893 | rb->lcd_fillrect( X_0_POS + j*REC_WIDTH + 1, | ||
894 | Y_1_POS + i*REC_HEIGHT + 1, | ||
895 | REC_WIDTH - 1, REC_HEIGHT - 1); | ||
896 | rb->lcd_set_drawmode(DRMODE_SOLID); | ||
897 | rb->lcd_putsxy( X_0_POS + j*REC_WIDTH + (REC_WIDTH - w)/2, | ||
898 | TEXT_2_POS + i*REC_HEIGHT, | ||
899 | buttonChar[group][i][j] ); | ||
900 | } | ||
901 | } | ||
902 | for (i = 0; i <= 0; i++){ | ||
903 | for (j = 0; j <= 2; j++){ | ||
904 | rb->lcd_getstringsize( buttonChar[group][i][j],&w,&h); | ||
905 | rb->lcd_set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID); | ||
906 | rb->lcd_fillrect( X_0_POS + j*REC_WIDTH + 1, | ||
907 | Y_1_POS + i*REC_HEIGHT + 1, | ||
908 | REC_WIDTH - 1, REC_HEIGHT - 1); | ||
909 | rb->lcd_set_drawmode(DRMODE_SOLID); | ||
910 | rb->lcd_putsxy( X_0_POS + j*REC_WIDTH + (REC_WIDTH - w)/2, | ||
911 | TEXT_2_POS + i*REC_HEIGHT, | ||
912 | buttonChar[group][i][j] ); | ||
913 | } | ||
914 | } | ||
915 | rb->lcd_set_drawmode(DRMODE_COMPLEMENT); | ||
916 | rb->lcd_fillrect( X_0_POS + 2*REC_WIDTH + 1, | ||
917 | Y_1_POS + 0*REC_HEIGHT + 1, | ||
918 | REC_WIDTH - 1, REC_HEIGHT - 1); | ||
919 | rb->lcd_set_drawmode(DRMODE_SOLID); | ||
920 | rb->lcd_update_rect( X_0_POS, Y_1_POS, | ||
921 | REC_WIDTH*5, REC_HEIGHT*5); | ||
922 | } | 907 | } |
923 | /* ----------------------------------------------------------------------- | 908 | /* ----------------------------------------------------------------------- |
924 | flash the button pressed | 909 | flash the currently marked button |
925 | ----------------------------------------------------------------------- */ | 910 | ----------------------------------------------------------------------- */ |
926 | void flashButton(int b) | 911 | void flashButton(void) |
927 | { | 912 | { |
928 | int i = b/5; int j = b - i*5; | 913 | int k, w, h; |
929 | int k; | 914 | for (k=2;k>0;k--) |
930 | rb->lcd_set_drawmode(DRMODE_COMPLEMENT); | 915 | { |
931 | for (k=1*2;k>0;k--){ | 916 | rb->lcd_getstringsize( buttonChar[buttonGroup][m][n],&w,&h); |
932 | rb->lcd_fillrect( X_0_POS + j*REC_WIDTH + 1, | 917 | rb->lcd_set_drawmode(DRMODE_SOLID|(k==1) ? 0 : DRMODE_INVERSEVID); |
933 | Y_1_POS + i*REC_HEIGHT + 1, | 918 | rb->lcd_fillrect( X_0_POS + n*REC_WIDTH + 1, |
919 | Y_1_POS + m*REC_HEIGHT + 1, | ||
934 | REC_WIDTH - 1, REC_HEIGHT - 1); | 920 | REC_WIDTH - 1, REC_HEIGHT - 1); |
935 | rb->lcd_update_rect( X_0_POS + j*REC_WIDTH + 1, | 921 | rb->lcd_putsxy( X_0_POS + n*REC_WIDTH + (REC_WIDTH - w)/2, |
936 | Y_1_POS + i*REC_HEIGHT + 1, | 922 | Y_1_POS + m*REC_HEIGHT + (REC_HEIGHT - h)/2 +1, |
923 | buttonChar[buttonGroup][m][n] ); | ||
924 | rb->lcd_update_rect( X_0_POS + n*REC_WIDTH + 1, | ||
925 | Y_1_POS + m*REC_HEIGHT + 1, | ||
937 | REC_WIDTH - 1, REC_HEIGHT - 1); | 926 | REC_WIDTH - 1, REC_HEIGHT - 1); |
938 | 927 | ||
939 | if (k!= 1) | 928 | if (k!= 1) |
940 | rb->sleep(HZ/22); | 929 | rb->sleep(HZ/22); |
941 | 930 | ||
942 | } | 931 | } |
943 | rb->lcd_set_drawmode(DRMODE_SOLID); | ||
944 | } | 932 | } |
945 | 933 | ||
946 | /* ----------------------------------------------------------------------- | 934 | /* ----------------------------------------------------------------------- |
@@ -1110,7 +1098,9 @@ printResult() generates LCD display. | |||
1110 | ----------------------------------------------------------------------- */ | 1098 | ----------------------------------------------------------------------- */ |
1111 | void printResult(void) | 1099 | void printResult(void) |
1112 | { | 1100 | { |
1113 | int k; | 1101 | int k, w, h; |
1102 | |||
1103 | char operbuf[3] = {0, 0, 0}; | ||
1114 | 1104 | ||
1115 | switch_Status: | 1105 | switch_Status: |
1116 | switch(calStatus){ | 1106 | switch(calStatus){ |
@@ -1140,42 +1130,43 @@ void printResult(void) | |||
1140 | result2typingbuf(); | 1130 | result2typingbuf(); |
1141 | clearbuf(); | 1131 | clearbuf(); |
1142 | 1132 | ||
1143 | buf[0] = oper; | 1133 | operbuf[0] = oper; |
1144 | buf[1] = ( ABS(memTemp) > MINIMUM )?'M':' '; | 1134 | operbuf[1] = ( ABS(memTemp) > MINIMUM )?'M':' '; |
1145 | buf[2] = ' '; | 1135 | operbuf[2] = '\0'; |
1146 | 1136 | ||
1147 | if(SCIENTIFIC_FORMAT){ | 1137 | if(SCIENTIFIC_FORMAT){ |
1148 | /* output format: X.XXXX eXXX */ | 1138 | /* output format: X.XXXX eXXX */ |
1149 | if(power > -98){ /* power-1 >= -99, eXXX or e-XX */ | 1139 | if(power > -98){ /* power-1 >= -99, eXXX or e-XX */ |
1150 | rb->snprintf(buf+3, 12, "%11s",typingbuf); | 1140 | rb->snprintf(buf, 12, "%11s",typingbuf); |
1151 | for(k=14;k<=17;k++) buf[k] = ' '; | 1141 | for(k=11;k<=14;k++) buf[k] = ' '; |
1152 | cleartypingbuf(); | 1142 | cleartypingbuf(); |
1153 | rb->snprintf(typingbuf, 5, "e%d",power-1); | 1143 | rb->snprintf(typingbuf, 5, "e%d",power-1); |
1154 | rb->snprintf(buf+14, 5, "%4s",typingbuf); | 1144 | rb->snprintf(buf+11, 5, "%4s",typingbuf); |
1155 | } | 1145 | } |
1156 | else{ /* power-1 <= -100, e-XXX */ | 1146 | else{ /* power-1 <= -100, e-XXX */ |
1157 | rb->snprintf(buf+2, 12, "%11s",typingbuf); | 1147 | rb->snprintf(buf, 12, "%11s",typingbuf); |
1158 | rb->snprintf(buf+13, 6, "e%d",power-1); | 1148 | rb->snprintf(buf+11, 6, "e%d",power-1); |
1159 | } | 1149 | } |
1160 | } | 1150 | } |
1161 | else{ | 1151 | else{ |
1162 | rb->snprintf(buf+7, 12, "%11s",typingbuf); | 1152 | rb->snprintf(buf, 12, "%11s",typingbuf); |
1163 | } /* if SCIENTIFIC_FORMAT */ | 1153 | } /* if SCIENTIFIC_FORMAT */ |
1164 | break; | 1154 | break; |
1165 | case cal_typing: | 1155 | case cal_typing: |
1166 | case cal_dotted: | 1156 | case cal_dotted: |
1167 | clearbuf(); | 1157 | clearbuf(); |
1168 | buf[0] = oper; | 1158 | operbuf[0] = oper; |
1169 | buf[1] = ( ABS(memTemp) > MINIMUM )?'M':' '; | 1159 | operbuf[1] = ( ABS(memTemp) > MINIMUM )?'M':' '; |
1170 | for(k=2;k<=6;k++) | 1160 | rb->snprintf(buf, 12, "%11s",typingbuf); |
1171 | buf[k] = ' '; | ||
1172 | rb->snprintf(buf+7, 12, "%11s",typingbuf); | ||
1173 | break; | 1161 | break; |
1174 | 1162 | ||
1175 | } | 1163 | } |
1176 | 1164 | ||
1177 | rb->lcd_putsxy(1, TEXT_1_POS,buf); | 1165 | rb->lcd_getstringsize(buf, &w, &h); |
1178 | rb->lcd_update_rect(1, TEXT_1_POS, 6*18, 8); | 1166 | rb->screen_clear_area(rb->screens[0], 0, 0, LCD_WIDTH, REC_HEIGHT-1); |
1167 | rb->lcd_putsxy(4, Y_1_POS - h -1, operbuf); | ||
1168 | rb->lcd_putsxy(LCD_WIDTH - w - 4, Y_1_POS - h -1, buf); | ||
1169 | rb->lcd_update_rect(0, 1, LCD_WIDTH, Y_1_POS); | ||
1179 | } | 1170 | } |
1180 | 1171 | ||
1181 | /* ----------------------------------------------------------------------- | 1172 | /* ----------------------------------------------------------------------- |
@@ -1302,7 +1293,7 @@ void basicButtonsProcess(void){ | |||
1302 | switch (btn) { | 1293 | switch (btn) { |
1303 | case CALCULATOR_INPUT: | 1294 | case CALCULATOR_INPUT: |
1304 | if (calStatus == cal_error && (CAL_BUTTON != btn_C) ) break; | 1295 | if (calStatus == cal_error && (CAL_BUTTON != btn_C) ) break; |
1305 | flashButton(CAL_BUTTON); | 1296 | flashButton(); |
1306 | switch( CAL_BUTTON ){ | 1297 | switch( CAL_BUTTON ){ |
1307 | case btn_MR: | 1298 | case btn_MR: |
1308 | operInputted = false; | 1299 | operInputted = false; |
@@ -1377,10 +1368,10 @@ void basicButtonsProcess(void){ | |||
1377 | if (!operInputted) {twoOperands(); operInputted = true;} | 1368 | if (!operInputted) {twoOperands(); operInputted = true;} |
1378 | switch (oper){ | 1369 | switch (oper){ |
1379 | case ' ': | 1370 | case ' ': |
1380 | case '/': oper = '+'; flashButton(btn_add); break; | 1371 | case '/': oper = '+'; flashButton(); break; |
1381 | case '+': oper = '-'; flashButton(btn_minus); break; | 1372 | case '+': oper = '-'; flashButton(); break; |
1382 | case '-': oper = '*'; flashButton(btn_time); break; | 1373 | case '-': oper = '*'; flashButton(); break; |
1383 | case '*': oper = '/'; flashButton(btn_div); break; | 1374 | case '*': oper = '/'; flashButton(); break; |
1384 | } | 1375 | } |
1385 | goto case_cycle_operators; | 1376 | goto case_cycle_operators; |
1386 | break; | 1377 | break; |
@@ -1388,7 +1379,7 @@ void basicButtonsProcess(void){ | |||
1388 | 1379 | ||
1389 | case CALCULATOR_CALC: | 1380 | case CALCULATOR_CALC: |
1390 | if (calStatus == cal_error) break; | 1381 | if (calStatus == cal_error) break; |
1391 | flashButton(btn_equal); | 1382 | flashButton(); |
1392 | goto case_btn_equal; | 1383 | goto case_btn_equal; |
1393 | break; | 1384 | break; |
1394 | default: break; | 1385 | default: break; |
@@ -1403,7 +1394,7 @@ void sciButtonsProcess(void){ | |||
1403 | switch (btn) { | 1394 | switch (btn) { |
1404 | case CALCULATOR_INPUT: | 1395 | case CALCULATOR_INPUT: |
1405 | if (calStatus == cal_error && (CAL_BUTTON != sci_sci) ) break; | 1396 | if (calStatus == cal_error && (CAL_BUTTON != sci_sci) ) break; |
1406 | flashButton(CAL_BUTTON); | 1397 | flashButton(); |
1407 | switch( CAL_BUTTON ){ | 1398 | switch( CAL_BUTTON ){ |
1408 | 1399 | ||
1409 | case sci_pi: | 1400 | case sci_pi: |