2023-10-11 17:33:26 +03:00
# include "screen.h"
# include "struct.h"
# include "my.h"
extern int menuPointer ;
extern int reload_flag ;
extern char * kPrToDispl ;
extern UserData_TypeDef currentData ;
2023-10-24 16:48:53 +03:00
extern float kNormToDAC ;
extern uint16_t correctedKu [ 13 ] ;
2023-10-11 17:33:26 +03:00
2023-11-24 14:41:27 +03:00
extern uint8_t iobuf [ 256 ] ;
2023-10-24 16:48:53 +03:00
2023-12-27 09:48:42 +03:00
const char STRING_DATCHIK [ ] = " D[jl " ;
2023-10-24 16:48:53 +03:00
const char STRING_PKL [ ] = " gRk/ " ;
2023-10-11 17:33:26 +03:00
const char STRING_VIHOD [ ] = " Ds[jl " ;
const char STRING_MV_MS2 [ ] = " vD/vc2 " ;
2023-10-24 16:48:53 +03:00
const char STRING_FVCH [ ] = " DX " ;
2023-10-11 17:33:26 +03:00
const char STRING_GC [ ] = " Uw " ;
2023-10-24 16:48:53 +03:00
const char STRING_FNCH [ ] = " YX " ;
2023-10-11 17:33:26 +03:00
const char STRING_KGC [ ] = " rUw " ;
const char STRING_PEREGRUZKA [ ] = " Gthtuheprf " ;
const char STRING_OBSHAJA_ZEMLJA [ ] = " JP " ;
const char STRING_PLAVAJUSHAJA_ZEMLA [ ] = " GP " ;
const char STRING_Ku0_1 [ ] = " 0~1 " ;
const char STRING_Ku0_2 [ ] = " 0~2 " ;
const char STRING_Ku0_5 [ ] = " 0~5 " ;
const char STRING_Ku1 [ ] = " 1 " ;
const char STRING_Ku2 [ ] = " 2 " ;
const char STRING_Ku5 [ ] = " 5 " ;
const char STRING_Ku10 [ ] = " 10 " ;
const char STRING_Ku20 [ ] = " 20 " ;
const char STRING_Ku50 [ ] = " 50 " ;
const char STRING_Ku100 [ ] = " 100 " ;
const char STRING_Ku200 [ ] = " 200 " ;
const char STRING_Ku500 [ ] = " 500 " ;
2023-10-24 16:48:53 +03:00
const char STRING_Ku1000 [ ] = " 1000 " ;
2023-12-27 09:48:42 +03:00
const char * STRINGS_UNITS [ ] = { " v/c2 " , " vv/c " , " Gf " , " rGf " , " VGf " , " Y " , " rY " , " vD " } ;
2023-10-24 16:48:53 +03:00
const char * STRINGS_OUTUNITS [ ] = { " 0~0001vD/ " ,
" 0~0002vD/ " ,
" 0~0005vD/ " ,
" 0~001vD/ " , //3
" 0~002vD/ " ,
" 0~005vD/ " ,
" 0~01vD/ " , //6
" 0~02vD/ " ,
" 0~05vD/ " ,
" 0~1vD/ " , //9
" 0~2vD/ " ,
" 0~5vD/ " ,
" 1vD/ " , //12
" 2vD/ " ,
" 5vD/ " ,
" 10vD/ " , //15
" 20vD/ " ,
" 50vD/ " ,
" 100vD/ " , //18
" 200vD/ " ,
" 500vD/ " ,
" 1D/ " , //21
" 2D/ " ,
" 5D/ " ,
" 10D/ " , //24
" 20D/ " ,
" 50D/ " ,
" 100D/ " , //27
" 200D/ " ,
" 500D/ " ,
" 1000D/ " , //30
} ;
const char STRING_Hp0_2 [ ] = " 0~2 " ;
2023-10-11 17:33:26 +03:00
const char STRING_Hp1 [ ] = " 1 " ;
const char STRING_Hp2 [ ] = " 2 " ;
const char STRING_Hp10 [ ] = " 10 " ;
/////<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> LP <20> <20> <> <EFBFBD>
const char STRING_Lp100 [ ] = " 0~1 " ;
const char STRING_Lp300 [ ] = " 0~3 " ;
const char STRING_Lp1000 [ ] = " 1 " ;
const char STRING_Lp3000 [ ] = " 3 " ;
const char STRING_Lp10000 [ ] = " 10 " ;
const char STRING_Lp30000 [ ] = " 30 " ;
const char STRING_Lp100000 [ ] = " 100 " ;
2023-10-24 16:48:53 +03:00
///<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
const char STRING_KORREKCIA_USILENIA [ ] = " Rjhhtrwbz ecbktybz " ;
const char STRING_KASKAD [ ] = " Rfcrfl " ;
const char STRING_ZNACHENIE_DAC [ ] = " <fpjdsq WFG " ;
const char STRING_SOHRANIT_IZMENENIYA [ ] = " CJ{HFYBNM BPVTYTYBZ " ;
const char * STRINGS_KU [ ] = { " 0~1 " , " 0~2 " , " 0~5 " , " 1 " , " 2 " , " 5 " , " 10 " , " 20 " , " 50 " , " 100 " , " 200 " , " 500 " , " 1000 " } ;
//char* outUnit; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2023-11-24 14:41:27 +03:00
const char * kuToDispl ;
const char * fvchTODisp ;
const char * fnchTODisp ;
const char * plavZemlToDisp ;
2023-10-24 16:48:53 +03:00
int OffsetKuDisplay = 0 ;
void setOffsetKuDisplay ( void ) { // <20> <> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
if ( currentData . SENS > = 0.0001 & & currentData . SENS < 0.001 ) { OffsetKuDisplay = 0 ; kNormToDAC = currentData . SENS * 10000 ; } // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
else if ( currentData . SENS > = 0.001 & & currentData . SENS < 0.01 ) { OffsetKuDisplay = 0 ; kNormToDAC = currentData . SENS * 1000 ; }
else if ( currentData . SENS > = 0.01 & & currentData . SENS < 0.1 ) { OffsetKuDisplay = 3 ; kNormToDAC = currentData . SENS * 100 ; }
else if ( currentData . SENS > = 0.1 & & currentData . SENS < 1 ) { OffsetKuDisplay = 6 ; kNormToDAC = currentData . SENS * 10 ; }
else if ( currentData . SENS > = 1 & & currentData . SENS < 10 ) { OffsetKuDisplay = 9 ; kNormToDAC = currentData . SENS / 1 ; }
else if ( currentData . SENS > = 10 & & currentData . SENS < 100 ) { OffsetKuDisplay = 12 ; kNormToDAC = currentData . SENS / 10 ; }
else if ( currentData . SENS > = 100 & & currentData . SENS < 1000 ) { OffsetKuDisplay = 15 ; kNormToDAC = currentData . SENS / 100 ; }
else if ( currentData . SENS < = 1000 ) { OffsetKuDisplay = 18 ; kNormToDAC = currentData . SENS / 1000 ; }
}
2023-10-11 17:33:26 +03:00
void screenDraw ( void )
{
///////<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> /<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> . <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
switch ( currentData . IKU ) { ///<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
case Ku0_1 :
kuToDispl = STRING_Ku0_1 ;
break ;
case Ku0_2 :
kuToDispl = STRING_Ku0_2 ;
break ;
case Ku0_5 :
kuToDispl = STRING_Ku0_5 ;
break ;
case Ku1 :
kuToDispl = STRING_Ku1 ;
break ;
case Ku2 :
kuToDispl = STRING_Ku2 ;
break ;
case Ku5 :
kuToDispl = STRING_Ku5 ;
break ;
case Ku10 :
kuToDispl = STRING_Ku10 ;
break ;
case Ku20 :
kuToDispl = STRING_Ku20 ;
break ;
case Ku50 :
kuToDispl = STRING_Ku50 ;
break ;
case Ku100 :
kuToDispl = STRING_Ku100 ;
break ;
case Ku200 :
kuToDispl = STRING_Ku200 ;
break ;
case Ku500 :
kuToDispl = STRING_Ku500 ;
break ;
2023-10-24 16:48:53 +03:00
case Ku1000 :
kuToDispl = STRING_Ku1000 ;
break ;
2023-10-11 17:33:26 +03:00
}
///////<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> . <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
switch ( currentData . IFV ) {
2023-10-24 16:48:53 +03:00
case Hp0_2 :
fvchTODisp = STRING_Hp0_2 ;
2023-10-11 17:33:26 +03:00
break ;
case Hp1 :
fvchTODisp = STRING_Hp1 ;
break ;
case Hp2 :
fvchTODisp = STRING_Hp2 ;
break ;
case Hp10 :
fvchTODisp = STRING_Hp10 ;
break ;
}
switch ( currentData . IFN ) {
case Lp100 :
fnchTODisp = STRING_Lp100 ;
break ;
case Lp300 :
fnchTODisp = STRING_Lp300 ;
break ;
case Lp1000 :
fnchTODisp = STRING_Lp1000 ;
break ;
case Lp3000 :
fnchTODisp = STRING_Lp3000 ;
break ;
case Lp10000 :
fnchTODisp = STRING_Lp10000 ;
break ;
case Lp30000 :
fnchTODisp = STRING_Lp30000 ;
break ;
case Lp100000 :
fnchTODisp = STRING_Lp100000 ;
break ;
}
switch ( currentData . IPZ ) {
case 0 :
plavZemlToDisp = STRING_OBSHAJA_ZEMLJA ;
break ;
case 1 :
plavZemlToDisp = STRING_PLAVAJUSHAJA_ZEMLA ;
break ;
}
2023-10-24 16:48:53 +03:00
////<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2023-10-11 17:33:26 +03:00
FontSet ( Segoe_UI_Rus_10 ) ;
2023-10-24 16:48:53 +03:00
OLED_DrawStr ( STRING_DATCHIK , 1 , 10 , TEXT ) ;
2023-10-11 17:33:26 +03:00
2023-12-27 09:48:42 +03:00
if ( menuPointer = = KPR0 ) DrawSome ( currentData . IK0 , 30 , 10 , CURSOR ) ;
else DrawSome ( currentData . IK0 , 30 , 10 , TEXT ) ;
2023-10-24 16:48:53 +03:00
2023-12-27 09:48:42 +03:00
if ( menuPointer = = KPR1 ) DrawSome ( currentData . IK1 , 37 , 10 , CURSOR ) ;
else DrawSome ( currentData . IK1 , 37 , 10 , TEXT ) ;
2023-10-24 16:48:53 +03:00
2023-12-27 09:48:42 +03:00
if ( menuPointer = = KPR2 ) DrawSome ( currentData . IK2 , 44 , 10 , CURSOR ) ;
else DrawSome ( currentData . IK2 , 44 , 10 , TEXT ) ;
2023-10-24 16:48:53 +03:00
2023-12-27 09:48:42 +03:00
if ( menuPointer = = KPR3 ) DrawSome ( currentData . IK3 , 51 , 10 , CURSOR ) ;
else DrawSome ( currentData . IK3 , 51 , 10 , TEXT ) ;
2023-10-24 16:48:53 +03:00
2023-12-27 09:48:42 +03:00
if ( menuPointer = = KPR4 ) DrawSome ( currentData . IK4 , 58 , 10 , CURSOR ) ;
else DrawSome ( currentData . IK4 , 58 , 10 , TEXT ) ;
2023-10-11 17:33:26 +03:00
2023-12-27 09:48:42 +03:00
if ( menuPointer = = KPR5 ) DrawSome ( currentData . IK5 , 65 , 10 , CURSOR ) ;
else DrawSome ( currentData . IK5 , 65 , 10 , TEXT ) ;
2023-10-11 17:33:26 +03:00
2023-10-24 16:48:53 +03:00
if ( menuPointer = = UNITSELECT ) {
2023-12-27 09:48:42 +03:00
OLED_DrawStr ( STRING_PKL , 75 , 10 , CURSOR ) ;
OLED_DrawStr ( STRINGS_UNITS [ currentData . UNIT ] , 99 , 10 , CURSOR ) ;
2023-10-24 16:48:53 +03:00
} else {
2023-12-27 09:48:42 +03:00
OLED_DrawStr ( STRING_PKL , 75 , 10 , TEXT ) ;
OLED_DrawStr ( STRINGS_UNITS [ currentData . UNIT ] , 99 , 10 , TEXT ) ;
2023-10-24 16:48:53 +03:00
}
2023-10-11 17:33:26 +03:00
////////////////////////////
2023-10-24 16:48:53 +03:00
/* <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2023-10-11 17:33:26 +03:00
OLED_DrawStr ( STRING_VIHOD , 1 , 24 , TEXT ) ;
if ( menuPointer = = OUT ) OLED_DrawStr ( kuToDispl , 40 , 24 , CURSOR ) ;
else OLED_DrawStr ( kuToDispl , 40 , 24 , TEXT ) ;
2023-10-24 16:48:53 +03:00
OLED_DrawStr ( STRING_MV_MS2 , 67 , 24 , TEXT ) ;
2023-10-11 17:33:26 +03:00
////////////////////////////
2023-10-24 16:48:53 +03:00
*/
setOffsetKuDisplay ( ) ; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> //todo: <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2023-10-11 17:33:26 +03:00
2023-10-24 16:48:53 +03:00
OLED_DrawStr ( STRING_VIHOD , 1 , 24 , TEXT ) ;
2023-10-11 17:33:26 +03:00
2023-10-24 16:48:53 +03:00
/// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> STRINGS_OUTUNITS + units
char * result = malloc ( strlen ( STRINGS_OUTUNITS [ currentData . IKU + OffsetKuDisplay ] ) + strlen ( STRINGS_UNITS [ currentData . UNIT ] ) + 1 ) ; // +1 for the null-terminator
// in real code you would check for errors in malloc here
strcpy ( result , STRINGS_OUTUNITS [ currentData . IKU + OffsetKuDisplay ] ) ;
strcat ( result , STRINGS_UNITS [ currentData . UNIT ] ) ;
if ( menuPointer = = OUT ) OLED_DrawStr ( ( char * ) result , 40 , 24 , CURSOR ) ;
else OLED_DrawStr ( ( char * ) result , 40 , 24 , TEXT ) ; //todo: STRINGS_OUTUNITS <20> units <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
2023-11-24 14:41:27 +03:00
free ( result ) ; /// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2023-10-24 16:48:53 +03:00
2023-10-11 17:33:26 +03:00
OLED_DrawStr ( STRING_FVCH , 2 , 36 , TEXT ) ;
2023-10-24 16:48:53 +03:00
if ( menuPointer = = FVCH ) OLED_DrawStr ( fvchTODisp , 19 , 36 , CURSOR ) ;
else OLED_DrawStr ( fvchTODisp , 19 , 36 , TEXT ) ;
OLED_DrawStr ( STRING_GC , 35 , 36 , TEXT ) ;
2023-10-11 17:33:26 +03:00
//////////////
2023-10-24 16:48:53 +03:00
OLED_DrawStr ( ( char * ) STRING_FNCH , 63 , 36 , TEXT ) ;
2023-10-11 17:33:26 +03:00
if ( menuPointer = = FNCH ) OLED_DrawStr ( fnchTODisp , 83 , 36 , CURSOR ) ;
else OLED_DrawStr ( fnchTODisp , 83 , 36 , TEXT ) ;
2023-10-24 16:48:53 +03:00
OLED_DrawStr ( ( char * ) STRING_KGC , 103 , 36 , TEXT ) ;
2023-10-11 17:33:26 +03:00
//////////////
if ( menuPointer = = GROUND ) OLED_DrawStr ( plavZemlToDisp , 20 , 48 , CURSOR ) ;
else OLED_DrawStr ( plavZemlToDisp , 20 , 48 , TEXT ) ;
2023-11-24 14:41:27 +03:00
if ( currentData . OVERLOAD ) { OLED_DrawStr ( STRING_PEREGRUZKA , 50 , 48 , CURSOR ) ; }
/* uncomment to debug RS-232
OLED_DrawNum ( iobuf [ 0 ] , 6 , 48 , TEXT ) ;
OLED_DrawNum ( iobuf [ 1 ] , 20 , 48 , TEXT ) ;
OLED_DrawNum ( iobuf [ 2 ] , 34 , 48 , TEXT ) ;
OLED_DrawNum ( iobuf [ 3 ] , 48 , 48 , TEXT ) ;
OLED_DrawNum ( iobuf [ 4 ] , 62 , 48 , TEXT ) ;
OLED_DrawNum ( iobuf [ 5 ] , 76 , 48 , TEXT ) ;
OLED_DrawNum ( iobuf [ 6 ] , 90 , 48 , TEXT ) ;
OLED_DrawNum ( iobuf [ 7 ] , 104 , 48 , TEXT ) ;
*/
2023-10-11 17:33:26 +03:00
/*
if ( ( menuPointer = = GROUND ) & & ( set . plavZeml = = 0 ) ) OLED_DrawStr ( STRING_OBSHAJA_ZEMLJA , CENTER , 48 , CURSOR ) ;
else if ( set . plavZeml = = 0 ) OLED_DrawStr ( STRING_OBSHAJA_ZEMLJA , CENTER , 48 , TEXT ) ;
if ( ( menuPointer = = GROUND ) & & ( set . plavZeml = = 1 ) ) OLED_DrawStr ( STRING_PLAVAJUSHAJA_ZEMLA , CENTER , 48 , CURSOR ) ;
else if ( set . plavZeml = = 1 ) OLED_DrawStr ( STRING_PLAVAJUSHAJA_ZEMLA , CENTER , 48 , TEXT ) ;
*/
2023-10-24 16:48:53 +03:00
} // end screenDraw
void screenDrawCallibration ( void )
{
///////<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> /<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> . <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
switch ( currentData . IKU ) { ///<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
case Ku0_1 :
kuToDispl = STRING_Ku0_1 ;
break ;
case Ku0_2 :
kuToDispl = STRING_Ku0_2 ;
break ;
case Ku0_5 :
kuToDispl = STRING_Ku0_5 ;
break ;
case Ku1 :
kuToDispl = STRING_Ku1 ;
break ;
case Ku2 :
kuToDispl = STRING_Ku2 ;
break ;
case Ku5 :
kuToDispl = STRING_Ku5 ;
break ;
case Ku10 :
kuToDispl = STRING_Ku10 ;
break ;
case Ku20 :
kuToDispl = STRING_Ku20 ;
break ;
case Ku50 :
kuToDispl = STRING_Ku50 ;
break ;
case Ku100 :
kuToDispl = STRING_Ku100 ;
break ;
case Ku200 :
kuToDispl = STRING_Ku200 ;
break ;
case Ku500 :
kuToDispl = STRING_Ku500 ;
break ;
case Ku1000 :
kuToDispl = STRING_Ku1000 ;
break ;
}
///////<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> . <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
switch ( currentData . IFV ) {
case Hp0_2 :
fvchTODisp = STRING_Hp0_2 ;
break ;
case Hp1 :
fvchTODisp = STRING_Hp1 ;
break ;
case Hp2 :
fvchTODisp = STRING_Hp2 ;
break ;
case Hp10 :
fvchTODisp = STRING_Hp10 ;
break ;
}
switch ( currentData . IFN ) {
case Lp100 :
fnchTODisp = STRING_Lp100 ;
break ;
case Lp300 :
fnchTODisp = STRING_Lp300 ;
break ;
case Lp1000 :
fnchTODisp = STRING_Lp1000 ;
break ;
case Lp3000 :
fnchTODisp = STRING_Lp3000 ;
break ;
case Lp10000 :
fnchTODisp = STRING_Lp10000 ;
break ;
case Lp30000 :
fnchTODisp = STRING_Lp30000 ;
break ;
case Lp100000 :
fnchTODisp = STRING_Lp100000 ;
break ;
}
switch ( currentData . IPZ ) {
case 0 :
plavZemlToDisp = STRING_OBSHAJA_ZEMLJA ;
break ;
case 1 :
plavZemlToDisp = STRING_PLAVAJUSHAJA_ZEMLA ;
break ;
}
////<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
FontSet ( Segoe_UI_Rus_10 ) ;
OLED_DrawStr ( STRING_KORREKCIA_USILENIA , CENTER , 10 , TEXT ) ; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
OLED_DrawStr ( STRING_KASKAD , 1 , 24 , TEXT ) ; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
if ( menuPointer = = KUSET ) OLED_DrawStr ( STRINGS_KU [ currentData . IKU ] , 45 , 24 , CURSOR ) ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
else OLED_DrawStr ( STRINGS_KU [ currentData . IKU ] , 45 , 24 , TEXT ) ;
OLED_DrawStr ( STRING_ZNACHENIE_DAC , 1 , 36 , TEXT ) ;
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD>
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> & <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
//
2023-11-24 14:41:27 +03:00
2023-10-24 16:48:53 +03:00
if ( menuPointer = = DAC0SET ) DrawSome ( ( correctedKu [ currentData . IKU ] / 1000 ) , 85 , 36 , CURSOR ) ;
else DrawSome ( ( correctedKu [ currentData . IKU ] / 1000 ) , 85 , 36 , TEXT ) ;
if ( menuPointer = = DAC1SET ) DrawSome ( ( ( correctedKu [ currentData . IKU ] % 1000 ) / 100 ) , 92 , 36 , CURSOR ) ;
else DrawSome ( ( ( correctedKu [ currentData . IKU ] % 1000 ) / 100 ) , 92 , 36 , TEXT ) ;
if ( menuPointer = = DAC2SET ) DrawSome ( ( ( correctedKu [ currentData . IKU ] % 100 ) / 10 ) , 99 , 36 , CURSOR ) ;
else DrawSome ( ( ( correctedKu [ currentData . IKU ] % 100 ) / 10 ) , 99 , 36 , TEXT ) ;
if ( menuPointer = = DAC3SET ) DrawSome ( ( ( correctedKu [ currentData . IKU ] % 10 ) / 1 ) , 106 , 36 , CURSOR ) ;
else DrawSome ( ( ( correctedKu [ currentData . IKU ] % 10 ) / 1 ) , 106 , 36 , TEXT ) ;
if ( menuPointer = = SAVE ) {
OLED_DrawStr ( STRING_SOHRANIT_IZMENENIYA , 1 , 48 , CURSOR ) ; //todo:<3A> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
} // end screenDraw