forked from len0rd/rockbox
Adapt the calculator to larger displays and use the UI font if it fits. Use reversed colours instead of inverted colours for selection, fixes FS#8951
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17299 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
93b8a076ec
commit
ddae6a242c
1 changed files with 103 additions and 112 deletions
|
|
@ -78,10 +78,10 @@ F3: equal to "="
|
||||||
|
|
||||||
PLUGIN_HEADER
|
PLUGIN_HEADER
|
||||||
|
|
||||||
#define REC_HEIGHT 10 /* blank height = 9 */
|
#define REC_HEIGHT (int)(LCD_HEIGHT / 6)
|
||||||
#define REC_WIDTH 22 /* blank width = 21 */
|
#define REC_WIDTH (int)(LCD_WIDTH / 5)
|
||||||
|
|
||||||
#define Y_6_POS (LCD_HEIGHT - 1) /* y6 = 63 */
|
#define Y_6_POS (LCD_HEIGHT) /* Leave room for the border */
|
||||||
#define Y_5_POS (Y_6_POS - REC_HEIGHT) /* y5 = 53 */
|
#define Y_5_POS (Y_6_POS - REC_HEIGHT) /* y5 = 53 */
|
||||||
#define Y_4_POS (Y_5_POS - REC_HEIGHT) /* y4 = 43 */
|
#define Y_4_POS (Y_5_POS - REC_HEIGHT) /* y4 = 43 */
|
||||||
#define Y_3_POS (Y_4_POS - REC_HEIGHT) /* y3 = 33 */
|
#define Y_3_POS (Y_4_POS - REC_HEIGHT) /* y3 = 33 */
|
||||||
|
|
@ -288,6 +288,7 @@ enum {
|
||||||
basicButtons,
|
basicButtons,
|
||||||
sciButtons
|
sciButtons
|
||||||
} buttonGroup;
|
} buttonGroup;
|
||||||
|
|
||||||
unsigned char* buttonChar[2][5][5] = {
|
unsigned char* buttonChar[2][5][5] = {
|
||||||
{ { "MR" , "M+" , "2nd" , "CE" , "C" },
|
{ { "MR" , "M+" , "2nd" , "CE" , "C" },
|
||||||
{ "7" , "8" , "9" , "/" , "sqr" },
|
{ "7" , "8" , "9" , "/" , "sqr" },
|
||||||
|
|
@ -301,12 +302,14 @@ unsigned char* buttonChar[2][5][5] = {
|
||||||
{ "1" , "2" , "3" , "ln" , "e^x" },
|
{ "1" , "2" , "3" , "ln" , "e^x" },
|
||||||
{ "0" , "+/-", "." , "log" , "x^y" } }
|
{ "0" , "+/-", "." , "log" , "x^y" } }
|
||||||
};
|
};
|
||||||
|
|
||||||
enum { btn_MR , btn_M , btn_bas , btn_CE , btn_C ,
|
enum { btn_MR , btn_M , btn_bas , btn_CE , btn_C ,
|
||||||
btn_7 , btn_8 , btn_9 , btn_div , btn_sqr ,
|
btn_7 , btn_8 , btn_9 , btn_div , btn_sqr ,
|
||||||
btn_4 , btn_5 , btn_6 , btn_time , btn_square ,
|
btn_4 , btn_5 , btn_6 , btn_time , btn_square ,
|
||||||
btn_1 , btn_2 , btn_3 , btn_minus , btn_rec ,
|
btn_1 , btn_2 , btn_3 , btn_minus , btn_rec ,
|
||||||
btn_0 , btn_sign , btn_dot , btn_add , btn_equal
|
btn_0 , btn_sign , btn_dot , btn_add , btn_equal
|
||||||
};
|
};
|
||||||
|
|
||||||
enum { sci_fac, sci_pi , sci_sci , sci_sin , sci_asin ,
|
enum { sci_fac, sci_pi , sci_sci , sci_sin , sci_asin ,
|
||||||
sci_7 , sci_8 , sci_9 , sci_cos , sci_acos ,
|
sci_7 , sci_8 , sci_9 , sci_cos , sci_acos ,
|
||||||
sci_4 , sci_5 , sci_6 , sci_tan , sci_atan ,
|
sci_4 , sci_5 , sci_6 , sci_tan , sci_atan ,
|
||||||
|
|
@ -439,6 +442,9 @@ void printResult(void);
|
||||||
void formatResult(void);
|
void formatResult(void);
|
||||||
void oneOperand(void);
|
void oneOperand(void);
|
||||||
|
|
||||||
|
void drawLines(void);
|
||||||
|
void drawButtons(int group);
|
||||||
|
|
||||||
/* -----------------------------------------------------------------------
|
/* -----------------------------------------------------------------------
|
||||||
Handy funtions
|
Handy funtions
|
||||||
----------------------------------------------------------------------- */
|
----------------------------------------------------------------------- */
|
||||||
|
|
@ -469,6 +475,9 @@ void clearInput(void)
|
||||||
calStatus = cal_normal;
|
calStatus = cal_normal;
|
||||||
clearResult();
|
clearResult();
|
||||||
cleartypingbuf();
|
cleartypingbuf();
|
||||||
|
rb->lcd_clear_display();
|
||||||
|
drawButtons(buttonGroup);
|
||||||
|
drawLines();
|
||||||
}
|
}
|
||||||
|
|
||||||
void clearOperand(void)
|
void clearOperand(void)
|
||||||
|
|
@ -508,22 +517,53 @@ void switchOperands(void)
|
||||||
power = tempp;
|
power = tempp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void drawLines(void)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
rb->lcd_hline(0, LCD_WIDTH, Y_1_POS-1);
|
||||||
|
for (i = 0; i < 5 ; i++)
|
||||||
|
rb->lcd_hline(0, LCD_WIDTH, Y_1_POS+i*REC_HEIGHT);
|
||||||
|
for (i = 0; i < 4 ; i++)
|
||||||
|
rb->lcd_vline(X_1_POS+i*REC_WIDTH, Y_1_POS, LCD_HEIGHT);
|
||||||
|
}
|
||||||
|
|
||||||
|
void drawButtons(int group)
|
||||||
|
{
|
||||||
|
int i, j, w, h;
|
||||||
|
for (i = 0; i <= 4; i++){
|
||||||
|
for (j = 0; j <= 4; j++){
|
||||||
|
rb->lcd_getstringsize( buttonChar[group][i][j],&w,&h);
|
||||||
|
if (i == m && j == n) /* selected item */
|
||||||
|
rb->lcd_set_drawmode(DRMODE_SOLID);
|
||||||
|
else
|
||||||
|
rb->lcd_set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID);
|
||||||
|
rb->lcd_fillrect( X_0_POS + j*REC_WIDTH,
|
||||||
|
Y_1_POS + i*REC_HEIGHT,
|
||||||
|
REC_WIDTH, REC_HEIGHT+1);
|
||||||
|
if (i == m && j == n) /* selected item */
|
||||||
|
rb->lcd_set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID);
|
||||||
|
else
|
||||||
|
rb->lcd_set_drawmode(DRMODE_SOLID);
|
||||||
|
rb->lcd_putsxy( X_0_POS + j*REC_WIDTH + (REC_WIDTH - w)/2,
|
||||||
|
Y_1_POS + i*REC_HEIGHT + (REC_HEIGHT - h)/2 + 1,
|
||||||
|
buttonChar[group][i][j] );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rb->lcd_set_drawmode(DRMODE_SOLID);
|
||||||
|
}
|
||||||
|
|
||||||
/* -----------------------------------------------------------------------
|
/* -----------------------------------------------------------------------
|
||||||
Initiate calculator
|
Initiate calculator
|
||||||
----------------------------------------------------------------------- */
|
----------------------------------------------------------------------- */
|
||||||
void cal_initial (void)
|
void cal_initial (void)
|
||||||
{
|
{
|
||||||
int i,j,w,h;
|
int w,h;
|
||||||
rb->lcd_setfont(FONT_SYSFIXED);
|
|
||||||
rb->lcd_clear_display();
|
|
||||||
|
|
||||||
/* draw lines */
|
rb->lcd_getstringsize("A",&w,&h);
|
||||||
rb->lcd_drawrect(X_0_POS, Y_0_POS, LCD_WIDTH-1, LCD_HEIGHT);
|
if (h >= REC_HEIGHT)
|
||||||
rb->lcd_hline(X_0_POS, X_5_POS, Y_1_POS-1);
|
rb->lcd_setfont(FONT_SYSFIXED);
|
||||||
for (i = 0; i < 5 ; i++)
|
|
||||||
rb->lcd_hline(X_0_POS, X_5_POS, Y_1_POS+i*REC_HEIGHT);
|
rb->lcd_clear_display();
|
||||||
for (i = 0; i < 4 ; i++)
|
|
||||||
rb->lcd_vline(X_1_POS+i*REC_WIDTH, Y_1_POS, Y_6_POS);
|
|
||||||
|
|
||||||
#ifdef CALCULATOR_OPERATORS
|
#ifdef CALCULATOR_OPERATORS
|
||||||
/* basic operators are available through separate button */
|
/* basic operators are available through separate button */
|
||||||
|
|
@ -531,26 +571,14 @@ void cal_initial (void)
|
||||||
#else
|
#else
|
||||||
buttonGroup = basicButtons;
|
buttonGroup = basicButtons;
|
||||||
#endif
|
#endif
|
||||||
/* draw buttons */
|
|
||||||
for (i = 0; i < 5; i++){
|
|
||||||
for (j = 0; j < 5; j++){
|
|
||||||
rb->lcd_getstringsize( buttonChar[buttonGroup][i][j],&w,&h);
|
|
||||||
rb->lcd_putsxy( X_0_POS + j*REC_WIDTH + (REC_WIDTH - w)/2,
|
|
||||||
TEXT_2_POS + i*REC_HEIGHT,
|
|
||||||
buttonChar[buttonGroup][i][j] );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* initially, invert button "5" */
|
/* initially, invert button "5" */
|
||||||
m = 2;
|
m = 2;
|
||||||
n = 1;
|
n = 1;
|
||||||
prev_m = m;
|
prev_m = m;
|
||||||
prev_n = n;
|
prev_n = n;
|
||||||
rb->lcd_set_drawmode(DRMODE_COMPLEMENT);
|
drawButtons(buttonGroup);
|
||||||
rb->lcd_fillrect( X_0_POS + n*REC_WIDTH + 1,
|
drawLines();
|
||||||
Y_1_POS + m*REC_HEIGHT + 1,
|
|
||||||
REC_WIDTH - 1, REC_HEIGHT - 1);
|
|
||||||
rb->lcd_set_drawmode(DRMODE_SOLID);
|
|
||||||
rb->lcd_update();
|
rb->lcd_update();
|
||||||
|
|
||||||
/* initial mem and output display*/
|
/* initial mem and output display*/
|
||||||
|
|
@ -858,89 +886,49 @@ void moveButton(void){
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
rb->lcd_set_drawmode(DRMODE_COMPLEMENT);
|
drawButtons(buttonGroup);
|
||||||
rb->lcd_fillrect( X_0_POS + prev_n*REC_WIDTH + 1,
|
drawLines();
|
||||||
Y_1_POS + prev_m*REC_HEIGHT + 1,
|
|
||||||
REC_WIDTH - 1, REC_HEIGHT - 1);
|
|
||||||
|
|
||||||
rb->lcd_fillrect( X_0_POS + n*REC_WIDTH + 1,
|
rb->lcd_update();
|
||||||
Y_1_POS + m*REC_HEIGHT + 1,
|
|
||||||
REC_WIDTH - 1, REC_HEIGHT - 1);
|
|
||||||
rb->lcd_set_drawmode(DRMODE_SOLID);
|
|
||||||
|
|
||||||
rb->lcd_update_rect( X_0_POS + prev_n*REC_WIDTH + 1,
|
|
||||||
Y_1_POS + prev_m*REC_HEIGHT + 1,
|
|
||||||
REC_WIDTH - 1, REC_HEIGHT - 1);
|
|
||||||
|
|
||||||
rb->lcd_update_rect( X_0_POS + n*REC_WIDTH + 1,
|
|
||||||
Y_1_POS + m*REC_HEIGHT + 1,
|
|
||||||
REC_WIDTH - 1, REC_HEIGHT - 1);
|
|
||||||
|
|
||||||
prev_m = m;
|
prev_m = m;
|
||||||
prev_n = n;
|
prev_n = n;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -----------------------------------------------------------------------
|
/* -----------------------------------------------------------------------
|
||||||
Print buttons when switching 1st and 2nd
|
Print buttons when switching 1st and 2nd
|
||||||
int group = {basicButtons, sciButtons}
|
int group = {basicButtons, sciButtons}
|
||||||
----------------------------------------------------------------------- */
|
----------------------------------------------------------------------- */
|
||||||
void printButtonGroups(int group)
|
void printButtonGroups(int group)
|
||||||
{
|
{
|
||||||
int i,j,w,h;
|
drawButtons(group);
|
||||||
for (i = 0; i < 5; i++){
|
drawLines();
|
||||||
for (j = 3; j <= 4; j++){
|
rb->lcd_update();
|
||||||
rb->lcd_getstringsize( buttonChar[group][i][j],&w,&h);
|
|
||||||
rb->lcd_set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID);
|
|
||||||
rb->lcd_fillrect( X_0_POS + j*REC_WIDTH + 1,
|
|
||||||
Y_1_POS + i*REC_HEIGHT + 1,
|
|
||||||
REC_WIDTH - 1, REC_HEIGHT - 1);
|
|
||||||
rb->lcd_set_drawmode(DRMODE_SOLID);
|
|
||||||
rb->lcd_putsxy( X_0_POS + j*REC_WIDTH + (REC_WIDTH - w)/2,
|
|
||||||
TEXT_2_POS + i*REC_HEIGHT,
|
|
||||||
buttonChar[group][i][j] );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (i = 0; i <= 0; i++){
|
|
||||||
for (j = 0; j <= 2; j++){
|
|
||||||
rb->lcd_getstringsize( buttonChar[group][i][j],&w,&h);
|
|
||||||
rb->lcd_set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID);
|
|
||||||
rb->lcd_fillrect( X_0_POS + j*REC_WIDTH + 1,
|
|
||||||
Y_1_POS + i*REC_HEIGHT + 1,
|
|
||||||
REC_WIDTH - 1, REC_HEIGHT - 1);
|
|
||||||
rb->lcd_set_drawmode(DRMODE_SOLID);
|
|
||||||
rb->lcd_putsxy( X_0_POS + j*REC_WIDTH + (REC_WIDTH - w)/2,
|
|
||||||
TEXT_2_POS + i*REC_HEIGHT,
|
|
||||||
buttonChar[group][i][j] );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
rb->lcd_set_drawmode(DRMODE_COMPLEMENT);
|
|
||||||
rb->lcd_fillrect( X_0_POS + 2*REC_WIDTH + 1,
|
|
||||||
Y_1_POS + 0*REC_HEIGHT + 1,
|
|
||||||
REC_WIDTH - 1, REC_HEIGHT - 1);
|
|
||||||
rb->lcd_set_drawmode(DRMODE_SOLID);
|
|
||||||
rb->lcd_update_rect( X_0_POS, Y_1_POS,
|
|
||||||
REC_WIDTH*5, REC_HEIGHT*5);
|
|
||||||
}
|
}
|
||||||
/* -----------------------------------------------------------------------
|
/* -----------------------------------------------------------------------
|
||||||
flash the button pressed
|
flash the currently marked button
|
||||||
----------------------------------------------------------------------- */
|
----------------------------------------------------------------------- */
|
||||||
void flashButton(int b)
|
void flashButton(void)
|
||||||
{
|
{
|
||||||
int i = b/5; int j = b - i*5;
|
int k, w, h;
|
||||||
int k;
|
for (k=2;k>0;k--)
|
||||||
rb->lcd_set_drawmode(DRMODE_COMPLEMENT);
|
{
|
||||||
for (k=1*2;k>0;k--){
|
rb->lcd_getstringsize( buttonChar[buttonGroup][m][n],&w,&h);
|
||||||
rb->lcd_fillrect( X_0_POS + j*REC_WIDTH + 1,
|
rb->lcd_set_drawmode(DRMODE_SOLID|(k==1) ? 0 : DRMODE_INVERSEVID);
|
||||||
Y_1_POS + i*REC_HEIGHT + 1,
|
rb->lcd_fillrect( X_0_POS + n*REC_WIDTH + 1,
|
||||||
|
Y_1_POS + m*REC_HEIGHT + 1,
|
||||||
REC_WIDTH - 1, REC_HEIGHT - 1);
|
REC_WIDTH - 1, REC_HEIGHT - 1);
|
||||||
rb->lcd_update_rect( X_0_POS + j*REC_WIDTH + 1,
|
rb->lcd_putsxy( X_0_POS + n*REC_WIDTH + (REC_WIDTH - w)/2,
|
||||||
Y_1_POS + i*REC_HEIGHT + 1,
|
Y_1_POS + m*REC_HEIGHT + (REC_HEIGHT - h)/2 +1,
|
||||||
|
buttonChar[buttonGroup][m][n] );
|
||||||
|
rb->lcd_update_rect( X_0_POS + n*REC_WIDTH + 1,
|
||||||
|
Y_1_POS + m*REC_HEIGHT + 1,
|
||||||
REC_WIDTH - 1, REC_HEIGHT - 1);
|
REC_WIDTH - 1, REC_HEIGHT - 1);
|
||||||
|
|
||||||
if (k!= 1)
|
if (k!= 1)
|
||||||
rb->sleep(HZ/22);
|
rb->sleep(HZ/22);
|
||||||
|
|
||||||
}
|
}
|
||||||
rb->lcd_set_drawmode(DRMODE_SOLID);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -----------------------------------------------------------------------
|
/* -----------------------------------------------------------------------
|
||||||
|
|
@ -1110,7 +1098,9 @@ printResult() generates LCD display.
|
||||||
----------------------------------------------------------------------- */
|
----------------------------------------------------------------------- */
|
||||||
void printResult(void)
|
void printResult(void)
|
||||||
{
|
{
|
||||||
int k;
|
int k, w, h;
|
||||||
|
|
||||||
|
char operbuf[3] = {0, 0, 0};
|
||||||
|
|
||||||
switch_Status:
|
switch_Status:
|
||||||
switch(calStatus){
|
switch(calStatus){
|
||||||
|
|
@ -1140,42 +1130,43 @@ void printResult(void)
|
||||||
result2typingbuf();
|
result2typingbuf();
|
||||||
clearbuf();
|
clearbuf();
|
||||||
|
|
||||||
buf[0] = oper;
|
operbuf[0] = oper;
|
||||||
buf[1] = ( ABS(memTemp) > MINIMUM )?'M':' ';
|
operbuf[1] = ( ABS(memTemp) > MINIMUM )?'M':' ';
|
||||||
buf[2] = ' ';
|
operbuf[2] = '\0';
|
||||||
|
|
||||||
if(SCIENTIFIC_FORMAT){
|
if(SCIENTIFIC_FORMAT){
|
||||||
/* output format: X.XXXX eXXX */
|
/* output format: X.XXXX eXXX */
|
||||||
if(power > -98){ /* power-1 >= -99, eXXX or e-XX */
|
if(power > -98){ /* power-1 >= -99, eXXX or e-XX */
|
||||||
rb->snprintf(buf+3, 12, "%11s",typingbuf);
|
rb->snprintf(buf, 12, "%11s",typingbuf);
|
||||||
for(k=14;k<=17;k++) buf[k] = ' ';
|
for(k=11;k<=14;k++) buf[k] = ' ';
|
||||||
cleartypingbuf();
|
cleartypingbuf();
|
||||||
rb->snprintf(typingbuf, 5, "e%d",power-1);
|
rb->snprintf(typingbuf, 5, "e%d",power-1);
|
||||||
rb->snprintf(buf+14, 5, "%4s",typingbuf);
|
rb->snprintf(buf+11, 5, "%4s",typingbuf);
|
||||||
}
|
}
|
||||||
else{ /* power-1 <= -100, e-XXX */
|
else{ /* power-1 <= -100, e-XXX */
|
||||||
rb->snprintf(buf+2, 12, "%11s",typingbuf);
|
rb->snprintf(buf, 12, "%11s",typingbuf);
|
||||||
rb->snprintf(buf+13, 6, "e%d",power-1);
|
rb->snprintf(buf+11, 6, "e%d",power-1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
rb->snprintf(buf+7, 12, "%11s",typingbuf);
|
rb->snprintf(buf, 12, "%11s",typingbuf);
|
||||||
} /* if SCIENTIFIC_FORMAT */
|
} /* if SCIENTIFIC_FORMAT */
|
||||||
break;
|
break;
|
||||||
case cal_typing:
|
case cal_typing:
|
||||||
case cal_dotted:
|
case cal_dotted:
|
||||||
clearbuf();
|
clearbuf();
|
||||||
buf[0] = oper;
|
operbuf[0] = oper;
|
||||||
buf[1] = ( ABS(memTemp) > MINIMUM )?'M':' ';
|
operbuf[1] = ( ABS(memTemp) > MINIMUM )?'M':' ';
|
||||||
for(k=2;k<=6;k++)
|
rb->snprintf(buf, 12, "%11s",typingbuf);
|
||||||
buf[k] = ' ';
|
|
||||||
rb->snprintf(buf+7, 12, "%11s",typingbuf);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rb->lcd_putsxy(1, TEXT_1_POS,buf);
|
rb->lcd_getstringsize(buf, &w, &h);
|
||||||
rb->lcd_update_rect(1, TEXT_1_POS, 6*18, 8);
|
rb->screen_clear_area(rb->screens[0], 0, 0, LCD_WIDTH, REC_HEIGHT-1);
|
||||||
|
rb->lcd_putsxy(4, Y_1_POS - h -1, operbuf);
|
||||||
|
rb->lcd_putsxy(LCD_WIDTH - w - 4, Y_1_POS - h -1, buf);
|
||||||
|
rb->lcd_update_rect(0, 1, LCD_WIDTH, Y_1_POS);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -----------------------------------------------------------------------
|
/* -----------------------------------------------------------------------
|
||||||
|
|
@ -1302,7 +1293,7 @@ void basicButtonsProcess(void){
|
||||||
switch (btn) {
|
switch (btn) {
|
||||||
case CALCULATOR_INPUT:
|
case CALCULATOR_INPUT:
|
||||||
if (calStatus == cal_error && (CAL_BUTTON != btn_C) ) break;
|
if (calStatus == cal_error && (CAL_BUTTON != btn_C) ) break;
|
||||||
flashButton(CAL_BUTTON);
|
flashButton();
|
||||||
switch( CAL_BUTTON ){
|
switch( CAL_BUTTON ){
|
||||||
case btn_MR:
|
case btn_MR:
|
||||||
operInputted = false;
|
operInputted = false;
|
||||||
|
|
@ -1377,10 +1368,10 @@ void basicButtonsProcess(void){
|
||||||
if (!operInputted) {twoOperands(); operInputted = true;}
|
if (!operInputted) {twoOperands(); operInputted = true;}
|
||||||
switch (oper){
|
switch (oper){
|
||||||
case ' ':
|
case ' ':
|
||||||
case '/': oper = '+'; flashButton(btn_add); break;
|
case '/': oper = '+'; flashButton(); break;
|
||||||
case '+': oper = '-'; flashButton(btn_minus); break;
|
case '+': oper = '-'; flashButton(); break;
|
||||||
case '-': oper = '*'; flashButton(btn_time); break;
|
case '-': oper = '*'; flashButton(); break;
|
||||||
case '*': oper = '/'; flashButton(btn_div); break;
|
case '*': oper = '/'; flashButton(); break;
|
||||||
}
|
}
|
||||||
goto case_cycle_operators;
|
goto case_cycle_operators;
|
||||||
break;
|
break;
|
||||||
|
|
@ -1388,7 +1379,7 @@ void basicButtonsProcess(void){
|
||||||
|
|
||||||
case CALCULATOR_CALC:
|
case CALCULATOR_CALC:
|
||||||
if (calStatus == cal_error) break;
|
if (calStatus == cal_error) break;
|
||||||
flashButton(btn_equal);
|
flashButton();
|
||||||
goto case_btn_equal;
|
goto case_btn_equal;
|
||||||
break;
|
break;
|
||||||
default: break;
|
default: break;
|
||||||
|
|
@ -1403,7 +1394,7 @@ void sciButtonsProcess(void){
|
||||||
switch (btn) {
|
switch (btn) {
|
||||||
case CALCULATOR_INPUT:
|
case CALCULATOR_INPUT:
|
||||||
if (calStatus == cal_error && (CAL_BUTTON != sci_sci) ) break;
|
if (calStatus == cal_error && (CAL_BUTTON != sci_sci) ) break;
|
||||||
flashButton(CAL_BUTTON);
|
flashButton();
|
||||||
switch( CAL_BUTTON ){
|
switch( CAL_BUTTON ){
|
||||||
|
|
||||||
case sci_pi:
|
case sci_pi:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue